当前位置:首页 >> 英语 >> MATLAB

MATLAB


西 安 电 子 科 技 大 学
考试时间 90 分钟

2009 年 MATLAB 语言试题
题号 分数
1.考试形式:闭卷;2.本试卷共 七 大题,满分 100 分;3.答案写在试卷上 班级 学号 姓名 任课教师








<

br />五





总分

一、基本知识填空题(每空 1 分,共 20 分) 1. MATLAB 的通用命令中列出内存中的变量目录可用 命令;若对函 数功能和用法不熟悉,可用 命令;显示变量、阵列或文本时,可用 命令;清除工作空间中的变量时,可用 命令;保存和恢复工 作空间,或者工作空间中的特定变量时,可用 和 命令。 2. 在 MATLAB 图形系统中,如果需要给已经绘制好的图形加上栅格线,可以 使用 命令,如果需要在指定的坐标位置标注文本时使用的函数 为 ,需要绘制多条曲线,保持当前图形窗口可使用 命令。 3. 用 MATLAB 绘制条形图时可使用 函数,绘制柱状图,用以表示 数据值的分布情况时可使用 函数。 4. MATLAB 中用于控制不定次重复循环语句为 ,若在循环执行过程 中需要终止该循环时采用的语句为 。 5. 对于 MATLAB 中的多维阵列,在保持所有元素个数和内容不变的前提下可 以使用 函数改变其尺寸和维数;利用 函数可以定义单元 阵列。 6. 在 MATLAB 中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单 位阵可用 函数,产生对角阵可用 函数,产生均匀分布的随 机阵可用 函数。 7. 在 MATLAB 中,将含有小数的数值转换成字符串可用 命令,在字 符串中查找子字符串可用 命令。 二、选择题(每题 4 分,共 20 分) 1. 设 A=[2 4 3; 5 3 1; 3 6 7],则 sum(A),length(A)和 size(A)的结果( ) A. [10 13 11] 9 [3 3] B. [9 9 16] 3 [3 3] C. [9 9 16] 9 [3 3] D. [10 13 11] 3 [3 3] 2. 下列关于脚本文件和函数文件的描述中不正确的是( ) A. 去掉函数文件第一行的定义行可转变成脚本文件; B. 函数文件可以在命令窗口直接运行; C. 脚本文件可以调用函数文件; D. 函数文件中的第一行必须以 function 开始;

3. 在 Command Window 窗口中分别输入下列命令,对应输出结果错误的是 ( ) A. x=[-3:2] x=[-3 -2 1 0 1 2] B. x=zeros(1,2);x>0 ans=[0 0] C. y=diag(eye(3),2).? y=[0 0] D. 3-2*rand(1,2) ans=[1.0997 2.5377] 4. 对于矩阵 B,统计其中大于 A 的元素个数,可以使用的语句是( A. length(B) - length(find(B<=A)) B. sum(sum(B>A)) C. length(sum(B>A)) D. sum(length(B>A)) )

5. 已 知 str1=?find?, str2=?fund?, str3=?I like you?, 有 : k1=sum(str1==str2), k2=sum(strrep(str1,?i?,?u?)==str2), k3=findstr(str3,?ke?), 则 k1,k2,k3 的结果 分别为:( ) A. 3, 3, 5 B. 3, 4, 5 C. 4, 3, 5 D. 3, 4, 6 三、程序填空(每空 2 分,共 12 分) 1. 编写 MATLAB 程序,用三阶多项式来拟合数据,在同一图形窗口中绘制拟 合前和拟合后两条曲线,并对图形坐标轴进行控制。程序如下: x=[1, 2, 3, 4, 5];y=[5.1, 6.2, 7.0, 8.2, 9.3]; %采用三阶多项式拟合 x2=1:0.1: 5; y2= ; %拟合后的曲线 figure(1) plot(x,y,?o?,x2,y2); %绘制曲线 m1 = max([y, y2]); m2 = min([y, y2]); ; %用 axis 调制坐标轴,横坐标在[0 6]之间,且完全显示图形 ; %加上标题“多项式曲线拟合” 2. 编写 MATLAB 程序,对于用户输入的向量或矩阵,计算其平均值: % 提示输入数据并保存到 x 中,命令行显示“请输入数据” y = reshape(x,1, prod(size(x))); m= ; % 计算均值 m 四、(8 分) 为解下列线性方程组,请写出 MALAB 语言程序。 4 x1 +2 x3 +3 x4 = 9 3 x2 +2 x3 + 3x4 = 8 2 x1 + x4 = 10 x3 -2 x2 + 3x4 =7

五、 (10 分) 利用 menu 函数输入选择参数 len, 输入菜单的名称为 “select an num” , 根据 len 的取值分别给变量 x 赋不同的值。当 len=1 时,x 的值为的值为 4 行 3 列全 0 矩阵;当 len=2 时,x 的值为 3 行 4 列全为 5 的矩阵;当 len=3 时,x 的值 为 5 行 3 列均值为 0,方差为 1 的正态分布的随机矩阵;当 len=4 时,x 的值为 字符串“not an array”; 当 len 为其它值时, 则显示“Error”。 要求使用 switch 函数。

六、(15 分)某混合信号有 2 个不同频率的确知信号,加上正态分布的随机噪声构

成 , 噪 声 功 率 为 4 , 2 个 确 知 信 号 分 别 为 : s1 ? 10sin(2? f1n / f s ) 、

s2 ? 5sin(2? f2n / f s ) ,其中信号频率分别为 f1 ? 2 Hz 、 f 2 ? 5 Hz ,采样频率为

f s ? 20 Hz,采样点 128 点,即 n=0,1,2,…,127。
编程完成以下内容: (1) 求出信号的频谱(用到的函数有 fft 和 abs) 。 (2) 以图形的方式比较信号波形和信号频谱,要求把图形窗口分成 2 个子窗口, 分别画出: 时域信号波形 (横坐标为 “Time”, 纵坐标为 “amplitude”, 标题为 “信 号时域与频域波形”) 、 信号频谱 (横坐标为 “frequency(Hz)”, 纵坐标为 “frequency spectral”) 。

七、 (15 分)某宿舍有 4 名同学期末考试的成绩为下表所示: 姓名(name) 课 程 英语(eng) 及 成 物理(phy) 绩 数学(math) liwei 85 75 78 计算机(computer) 83 wangjun 83 84 92 87 liuzhi 80 69 77 82 zhanglin 90 75 81 78

编程完成以下内容: (1) 基于表格内容构建结构阵列,结构名为 student。 对每名同学成绩按学分加权求出综合测评分。 其中 eng(英语)、 物理(phy)、 math(数 学)的学分分别为 3 4 5 2,综合测评分的计算公式如下: x ? 成绩, wi 为相应的学分, w ? ? wi ,n 为成绩个数。
i ?1 n

1 n ? wi xi , xi 为课程 w i ?1

(2) 基于表格内容构建单元阵列,单元阵列名为 student1,单位阵列中每一行保 存一个学生的信息,包括学生姓名和学生各门课成绩。通过访问单元阵列, 计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的单元 阵列。 最终得到的单元阵列格式为: 姓名 成绩 平均分 学生 1 学生 2 学生 3 学生 4

一、 基本知识填空题(每空 1 分,共 20 分) 1、whos help disp clear save load 2、grid on text hold on 3、bar(或 barh) hist 4、while(while end) break 5、reshape cell 6、eye diag rand 7、num2str findstr 二、 D 选择题(每题 4 分,共 20 分) B C B B

三、

程序填空题(每空 2 分,共 12 分)

① p=polyfit(x,y,3) ② y2=polyval(p,x2) ③ axis([0 6 m2 m1]) ④ title(‘多项式曲线拟合’) ⑤ x = input(‘请输入数据 \n’) ⑤ m = mean(y) 或 x = input(‘请输入数据’)

四、 (8 分) A=[4 0 2 3; 0 3 2 3; 2 0 0 1; 0 -2 1 3;]; b=[9 8 10 7]'; x=A\b; 或 x=inv(A)*b; %3 分 %2 分 %3 分

另一种答案: A=[4 0 2 0;0 3 0 -2; 2 2 0 1; 3 3 1 3]; b=[9 8 10 7]; x=b/A;或 x=b*inv(A); 五、 (10 分) len= menu('select a num','1','2','3','4', '5'); switch len case 1 y=zeros(4,3); case 2 y=5.*ones(3,4); case 3 y=5+randn(5,3); case 4 y=?not an array?; otherwise %1 分 %1 分 %1 分 %1 分 %3 分 % switch 语句格式写对 2 分 %3 分 %2 分 %3 分

disp(?Error ?) end 六、 (15 分) f1=2; f2=5; fs=20; n=0:127; s1=10*sin(2*pi*f1*n/fs); s2=5*sin(2*pi*f2*n/fs); noise=2*randn(size(n)); s=s1+s2+noise; s_f= fft(s); m_f=abs(s_f); %1 分 %1 分

%1 分

%1 分 %1 分 %1 分 %2 分 %1 分

或 m_f=abs(fft(s))

%2 分 %2 分

f=(0:length(s_f)-1)*fs/length(s_f) 或 f=n*fs/length(n) figure(1); subplot(2,1,1); plot(n,s); title(?信号时域与频域波形?); xlabel(?Time?); ylabel(?amplitude?); subplot(2,1,2); plot(f,m_f); xlabel(?frequency(Hz)?); ylabel(?frequency spectral?); 七、(15 分) % 构建结构阵列 3 分,也可用赋值语句逐个赋值 student=struct('name',{'liwei' 'wangjun' 'liuzhi' 'zhanglin'},... %1 分 %1 分 %1 分 %1 分

%1 分

'eng',{[85 75 78 83], 'phy' [83 84 92 87], 'math' [80 69 77 82], 'computer' [90 75 81 78] }); %加权求平均,%7 分 w=[3 4 5 2]; w=w/sum(w); student_num=length(student); syn_score=zeros(1,student_num); for i=1:student_num syn_score(i)=student(i).eng*w(1)+student(i).phy*w(2)...

+student(i).math*w(3)+student(i).computer*w(4); end

构建单元阵列

%3 分

student1 = {' liwei ', [85 75 78 83]; ' wangjun ', [83 84 92 87]; ' liuzhi ', [80 69 77 82]; 'zhanglin ', [90 75 81 78]}; for i=1: length(student1) student1{i,3} = mean(student1{i,2}); end %更新正确 2 分

西 安 电 子 科 技 大 学
考试时间 90 分钟

2009 年 MATLAB 语言试题
题号 分数
1.考试形式:闭卷;2.本试卷共 七 大题,满分 100 分;3。答案全部写在答题纸上。 班级 学号 姓名 任课教师















总分

二、基本知识填空题(每空 1 分,共 20 分) 8. MATLAB 的通用命令中若对函数功能和用法不熟悉,可用 命令; 显示变量、阵列或文本时,可用 命令;清除工作空间中的变量时, 可用 命令;保存和恢复工作空间,或者工作空间中的特定变量时, 可用 和 命令。 9. MATLAB 系统提供了两个重要部件: 和 ,它们在系 统和用户编程中,占据重要的地位。 10. 在 MATLAB 中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单 位阵可用 函数,产生全 0 阵可用 函数,产生全 1 阵可用 函数,产生对角阵可用 函数。 11. 在 MATLAB 图形系统中,如果需要给已经绘制好的图形加上栅格线,可以 使用 命令,如果需要在指定的坐标位置标注文本时使用的函数 为 。 12. 用 MATLAB 绘制极坐标中的图形时可以使用 函数, 绘制条形图

时可使用

函数,绘制柱状图,用以表示数据值的分布情况时可

使用 函数。 13. MATLAB 中用于控制不定次重复循环语句为 ,若在循环执行过程 中需要终止该循环时采用的语句为 。 14. 对于 MATLAB 中的多维阵列,在保持所有元素个数和内容不变的前提下可 以使用 函数改变其尺寸和维数;利用 函数可以定义单元 阵列。 二、选择题(每题 4 分,共 20 分) 6. 设 A=[1 2 3; 3 4 5; 5 6 7; 7 8 9],则 sum(A),length(A)和 size(A)的结果( ) A. [16 20 24] 3 [4 3] B. [6 12 18 24] 3 [3 4] C. [6 12 18 24] 4 [4 3] D. [16 20 24] 4 [4 3] 7. 设 X=[0:0.5*pi:pi], Y=cos(X)且 Z=sin(X), 那么 Y.*Z, Y*Z?和 cat(1,Y,Z)的结果 分别为( ) A. [0 0 0] 0 [1 0 -1; 0 1 0] B. [0 0 0] 0 [1 0 -1 0 1 0] C. [0 0 0] [0 1 0; 0 0 0; 0 -1 0] [1 0 -1; 0 1 0] D. [0 1 0; 0 0 0; 0 -1 0] [0 0 0] [1 0 -1 0 1 0] 8. 对于矩阵 A,统计其中大于 T 的元素个数,可以使用的语句是( A. length(A) - length(find(A<=T)) B. length(sum(A>T)) C. sum(sum(A>T)) D. sum(length(A>T)) )

9. 假设多维阵列 A=rand(5,5,4),下面对 A 进行各种不同的操作,其中错误的是 ( ) A. sin(A).*cos(A) B. A1(1) = A C. sum(A)+length(A) D. A1{2} = num2cell(A) 10. 已 知 str1=?sum?, str2=?sun?, str3=?XiDian 123?, 有 : k1=sum(str1==str2), k2=sum(strrep(str1,?m?,?n?)==str2), k3=findstr(str3,?an?), 则 k1,k2,k3 的结果分 别为:( ) A. 2, 2, 5 B. 2, 3, 5 C. 3, 2, 4 D. 2, 3, 4 三、程序填空(每空 3 分,共 15 分) 3. 编写 MATLAB 程序,在同一图形窗口中绘制 y1 和 y2 两条曲线,并对图形 坐标轴进行控制。程序如下: x = -3:0.1: 3; y1 = 2*x+5; y2 = x.^2-3*x; plot(x,y1); %绘制曲线 y1 ① ; %保持曲线 y1 plot(x,y2); %绘制曲线 y2 m1 = max([y1, y2]); m2 = min([y1, y2]); ② ; %用 axis 调制坐标轴,横坐标在[-3 3]之间,且完全显示图形



; %加入图形注释,横坐标为“时间” ,纵坐标为“幅度”

4. 编写 MATLAB 程序,对于用户输入的向量或矩阵,计算其平均值和方差: ④ ; % 提示输入数据并保存到 x 中,命令行显示“请输入数据” y = reshape(x,1, prod(size(x))); m = mean(y); % 计算均值 m ⑤ ; % 计算方差 v 四、(10 分) 为解下列线性方程组,请写出 MALAB 语言程序。 3 x1 + x2 + 5x4 = 2 6 x2 +7 x3 + 3x4 = 4 4 x2 +3 x3 = 7 2x1 - x2 + 2 x3 + 6x4 =8 五、(10 分) 利用 menu 函数和 switch 函数编写脚本文件。输入选择 ch,当 ch=1 时,产生[-1, 1]之间均匀分布的随机数;ch=2 时,产生大小为 5x5 的对角阵,其 中每个元素在[0, 1]之间均匀分布;当 ch=3 时,产生均值为 0,方差为 1 的正态 随机数;当 ch=4 时,产生均值为 5,方差为 4 的大小为 5x5 的正态随机矩阵; 当 ch=5 时,直接退出菜单。 六、(10 分) 某宿舍有 4 名同学,3 门课程的期末考试成绩如下表所示: 姓名(name) 成绩(score) liming 85 75 78 wanglei 83 84 92 liujun 80 69 77 zhangxiao 90 75 81

要求编程完成以下内容: (3) 基于表格内容构建结构阵列,结构名为 student。通过访问结构阵列,计算每 一个学生的平均分,将平均分作为一个新的域,更新已经建立的结构阵列。 最终得到的结构阵列可表示为 student .name .score .mean (4) 基于表格内容建立二维单元阵列,单位阵列中每一行保存一个学生的信息。 通过访问单元阵列,计算每一个学生的平均分,将平均分作为一个新的域, 更新已经建立的单元阵列。 最终得到的单元阵列格式为: 姓名 成绩 平均分 学生 1 学生 2

学生 3 学生 4

七、(15 分)某一过程中通过测量得到: t y 0 1.0 0.2 1.5 0.4 1.9 0.6 2.1 0.8 2.3 1.0 2.4 2.0 2.6 5.0 -4.0

编程完成以下内容: (1) 分别采用三阶和四阶多项式对数据进行拟合; (提示:采用 polyfit 进行多项 式拟合;调用格式为 p = polyfit(t,y,n),n 为多项式阶数,p 为得到的多项式系数) (2) 比较拟合效果,要求把图形窗口分成两个子窗口,子窗口 1 绘制出原始测量 值和三阶多项式拟合后的曲线, 子窗口 2 绘制出原始测量值和四阶多项式拟合后 的曲线; (3) 根据已知时刻点的测量值,计算两种拟合方法的均方误差(MSE) 。
MSE ? 1 n ?i )2 ,其中 yi 为上面表中的原始测量值, y ? i 为拟合后的估计 ( yi ? y ? n i ?1

值。

四、 基本知识填空题(每空 1 分,共 20 分) 1、help disp clear save load 2、simulink toolboxes 3、eye zeros ones diag 4、grid on text 5、polar bar(或 barh) hist 6、while break 7、reshape cell 五、 选择题(每题 4 分,共 20 分) B B

D A C

六、

程序填空题(每空 3 分,共 15 分)

① hold on

② axis([-3 3 m2 m1]) ③ xlabel(‘时间’); ylabel(‘幅度’); ④ x = input(‘请输入数据 \n’) ⑤ v = var(y) 或 或 x = input(‘请输入数据’)

1/(length(y)-1) * (sum((y-m).^2))

四、 (10 分) A=[3 1 0 5; 0 6 7 3; 0 4 3 0; 2 -1 2 6;]; b=[2 4 7 8]'; x=A\b; 或 x=inv(A)*b 或 x=pinv(A)*b; %3 分 %3 分 %4 分

另一种答案: A=[3 0 0 2;1 6 4 -1; 0 7 3 2; 5 3 0 6]; b=[2 4 7 8]; x=b/A;或 x=b*inv(A); %3 分 %3 分 %4 分

五 (10 分) ch = menu('select a num','1','2','3','4', '5'); switch ch case 1 y=2*rand-1; case 2 y=diag(rand(1,5)); case 3 y=randn; case 4 y=5+2*randn(5,5); case 5 return; end %1 分 %1 分 %1 分 %1 分 %1 分 %3 分

% switch 语句格式写对 2 分

六、 (10 分) % 构建结构阵列 3 分,也可用赋值语句逐个赋值 student=struct('name',{'liming','wanglei', 'liujun','zhangxiao'},... 'score',{[85 75 78], [83 84 92], [80 69 77], [90 75 81] }); for i=1: length(student) student(i).mean = mean(student(i).score); end %更新正确 2 分

% 构建单元阵列 3 分,也可用赋值语句逐个赋值 student1 = {'liming', [85 75 78]; 'wanglei', [83 84 92]; 'liujun', [80 69 77]; ... 'zhangxiao', [90 75 81]}; for i=1: length(student1) student1{i,3} = mean(student1{i,2}); end %更新正确 2 分

或者可由 struct 直接转换到 cell student1 = struct2cell(student); student1 = squeeze(student1); student1 = student1'; %4分 %删除单点维

% 结果正确 1 分

七、 (15 分)

t = [0 0.2 0.4 0.6 0.8 1.0 2.0 5.0]; y = [1.0 1.5 1.9 2.1 2.3 2.4 2.6 -4.0]; p1 = polyfit(t,y,3); p2 = polyfit(t,y,4); x = [0:0.1:5]; y1 = polyval(p1,x); y2 = polyval(p2,x); %1分 %1分 %1分 %1分 %1分

subplot(1,2,1); plot(t,y,'o',x,y1); subplot(1,2,2); plot(t,y,'o',x,y2); i = int16(1 + t/0.1);

% subplot 语句格式写对 1 分 % 也可使用 hold on 命令,正确画出第一个子图 2 分

% 正确画出第二个子图 2 分 % or i=fix(t/0.1)+1;能找到正确的估计值位置 3 分 % 正确计算均方误差 1 分 % 正确计算均方误差 1 分

mse1 = mean((y-y1(i)).^2); mse2 = mean((y-y2(i)).^2);

西 安 电 子 科 技 大 学
考试时间 90 分钟

MATLAB 语言试题
题号 分数
1.考试形式:闭卷;2.本试卷共 六 大题,满分 100 分。 班级 学号 姓名 任课教师













总分

七、 选择题(每题 5 分,共 30 分) 1. 工作空间 workspace 中有变量 a,b,c,按如下步骤进行操作,(1)将变量 a 存成 数据文件 adata.mat,(2)清除工作区间所有变量,(3)再将数据文件调入工作区 间,下面( )组命令是正确的: A save adata a; clear; load adata; B save adata a -ascii; clear; load adata; C save adata; clear all; load adata; D save adata; clear all; load –ascii adata; 2. 在 Command Window 窗口中分别输入下列命令,对应输出结果正确的是 ( ) A. j=sqrt(-1) j=-1 B. x=ones(1,2);x>0 ans=1 C. y=diag(eye(2)).? y=[1 1] D. rand(1,3) ans=[0.9501 1.2311 0.6068] 3. 对应 MATLAB 提供的绘制平面曲线、离散序列、三维曲线、三维网格曲线、 等高线图的函数为( ) A. plot, stem, mesh, plot3, surf B. plot, stem, plot3, mesh, contour C. plot, hist, mesh, plot3, contour D. plot, hist, plot3, meshc, contour 4. 下列对条件语句、分支语句、固定循环次数语句、不定循环次数语句关键字 排序正确的是( ) A. if else end; for end; switch case end; while end; B. if else end; switch case end; for end; while end;

C. for end; if else end; while end; switch case end; D. while end; for end; switch case end; if else end; 5. 在 MATLAB 的 Editor 中 输 入 下 列 语 句 : x=[1 3;2

4];y=norm(x(:,2));z=det(x);u=diag(x);v=polyval(u,1);运行后, 在 Command Window 中对应 y,z,u,v 的输出结果为( A.5 -2 [1;4] 5 B.5 2 [1;2] ) 3 C.4 2 [1;2] 3 D.4 -2 [1;4] 5

6. str1='Matlab is a usefull tool';str2=strtok(str1), strnum=length(str2), logvec=strcmpi(str2,'matlab'),k=findstr(str2,'a') 下列对变量 str2, strnum,logvec,k 值描述正确的是: A ?M? 1 0 [ ] B. ?Matlab? 6 0 [2 5] C. ?M? 1 1 [ ] D. ?Matlab? 6 1 [2 5]

八、

程序填空和改错,改错处用箭头标记(每空 5 分,共 20)

抛物线的方程为 y ? ax2 ? cx ,输入 c 后,绘制该曲线,寻找曲线的最小值和对 应的 x 值。小明编写程序如下: clc;clear;close all; c=input('c='); a=1; x=-2:0.1:2; ; % (1)对变量 xnum 赋为数组 x 的个数 y=zeros(1,xnum); y=a*x^2+c*x;→ %(2)按照函数形式对 y 赋值 figure; ; %(3)绘制曲线 xlabel('x');ylabel('y'); [ymin,Imin]=min(y); xmin=x(ymin);→ %(4)找到最小函数值对应的 x 值 三、(10 分)A=[1 2 3;4 5 6;7 8 9],利用 menu 函数输入选择参数 OprNo,OprNo=1 时,将 A 按列向变为 9×1 的列矢量 ,记为 B; OprNo=2 时,将 A 的前两列的元 素对应相加, 得到 C 为 3×1 的列矢量; OprNo=3 时, 求 A 的对角元素之和(提示 用 trace 函数)。

四、 (10 分 ) 牛顿迭代法是方程寻根的一种方法,考虑 f ( x) ? x2 ? 2 x ? 3 ,方程
f (x) ? 0

















xk ?1 ? xk ?

f ( xk ) f ' ( xk )



2 xk ? 2 xk ? 3 xk ?1 ? xk ? , k ? 0,1, 2,... 。首先,编牛顿迭代法函数,函数形式如下: 2 xk ? 2

function y=NewtonEqu(x) %函数功能:按牛顿迭代公式定义函数 %输入参数:x,自变量, %输出参数:y,函数值 然后,给定初值 x0 ? 0 ,编写一循环主程序,当 | xk ?1 ? xk |? 10?4 或循环次数 大于 100 时,停止迭代,显示最终的方程根。 五、(15 分)某班为进行综合测评,需用 MATLAB 编程完成以下内容: (5) 构建如下的结构阵列

(6) 对学生成绩按学分加权求出综合测评分,并从低到高排序 Gym(体育)、Eng(英语)、Math(数学)、物理(Phy)的学分分别为 1 2 3 2.5,综合测 评分的计算公式如下: x?
n 1 n , 为课程成绩, 为相应的学分, w x w ? wi , x w ? ii i ? i w i ?1 i ?1

n 为成绩个数。 (7) 按如下方式显示结果:(提示:num2str(x),可将数据 x 转换成字符串) Name Score ×× ×× ×× ×× ×× ×× 六、(15 分)下图所示的梯形电路中,若 Us ? 10sin(2? f0n / f s ) ,其中 Us ? 10 V 为 电源电压幅值,信号频率 f0 ? 2 Hz,采样频率为 f s ? 10 Hz,采样点 256 点,即 n=0,1,2,…,255。

编程实现: (1) 求 U ab (2) 在 b 点接频谱分析仪观察该点电压频谱,用 MATLAB 仿真,分图绘制正弦 电压 U b 的波形和频谱。提示,用到的函数有 fft,subplot 建模:此电路中设各节点电压幅值为 U a 、 U b 将各支路电流用这些电压来表示
I1 ? Us ?Ua U U ? Ub U Ub I 2 ? a I3 ? a I 4 ? b I5 ? R4 ? R5 R1 ? R2 R7 R3 R6

对 a 点和 b 点列出节点电流方程: I1 ? I 2 ? I3 , I3 ? I 4 ? I5 ,将电流表达式代入,
? 1 ? 1 1 1 Us ? ? ? ?U a ? U b ? R 1 ? 2 R 3 ?R ? R3 R 7 R ? R 可 得 ? 1 ?1 1 1 Ua ? ? ? ? ?U b ? 0 R3 6 ?R 4 5 ?R 3 R R ?

, 可 写 成 矩 阵 方 程

1

2

? Us ? ?U a ? ? a11 a12 ? ?U a ? ? ? A? ? ? ? ? ?U ? ? ? R1 ? R2 ? U a a ? b ? ? 21 22 ? ? b ? ? 0 ? ? ?

MATLAB 语言 2007 年笔试考试答案

九、

选择题(每题 5 分,共 30 分) B B A D

1、A C

十、

程序填空和改错(每空 5 分,共 20)

抛物线的方程为 y ? ax2 ? cx ,输入 c 后,绘制该曲线,寻找曲线的最小值和对 应的 x 值。小明编写程序如下: clc;clear;close all; c=input('c='); a=1; x=-2:0.1:2; xnum=length(x) or xnum=size(x,2); y=zeros(1,xnum); y=a*x^2+c*x;→ figure; plot(x,y) xlabel('x');ylabel('y'); [ymin,Imin]=min(y); xmin=x(ymin);→ xmin=x(Imin); %(4)找到最小函数值对应的 x 值 %(3)绘制曲线 y=a*x.^2+c*x; %(2)按照函数形式对 y 赋值 %(1)对变量 xnum 赋为数组 x 的个数

三、 clc;clear;close all; A=[1 2 3;4 5 6;7 8 9]; OprNo=menu('OprSel','1','2','3'); %生成菜单,3 分,标题可任意取名 switch OprNo %也可用 if esleif end

case 1 B=reshape(A,prod(size(A)),1) %2 分 case 2 C=A(:,1)+A(:,2) case 3 D=trace(A) otherwise %2 分 %2 分

error('无效操作'); end

%不作要求

四、 function y=NewtonEqu(x) y=x-(x^2+2*x-3)/(2*x+2); %函数定义,2 分

clc;clear;close all; x0=0; x1=NewtonEqu(x0); err=1e-4 k=1; xrec=[x0 x1]; while and(abs(x1-x0)>err,k<=100) %使用不定循环,4 分,条件正确 2 分 %或者使用固定 100 次的 for 循环,满足条件就 break 退出 x0=x1; x1=NewtonEqu(x0); k=k+1; xrec=[xrec x1]; end k x1 %记录每次迭代的 x 不作要求 %循环条件更新 2 分,

五、 clc;clear;close all; %构建结构阵列,5 分,也可用赋值语句逐个赋值 Student=struct('Name',{'xiaoming' 'xiaohong' 'xiaojun'},... 'Gym',{85 75 95},'Eng',{90 95 80},'Phy',{93 80 85},'Math',{88 90 70}); %加权求平均,并排序,7 分 w=[1 2 3 2.5];

w=w/sum(w); StuNum=length(Student); SynScore=zeros(1,StuNum); for i=1:StuNum SynScore(i)=Student(i).Gym*w(1)+Student(i).Eng*w(2)... +Student(i).Phy*w(3)+Student(i).Math*w(4); end [SynScore,I]=sort(SynScore);%从小到大排序 %显示结果,3 分 disp(['Name',' for i=1:StuNum disp([Student(I(i)).Name,' ',num2str(SynScore(i))]); end ','Score']);%使用 sprintf 控制格式也可

六、 clc;clear;close all; %输入题设条件,3 分 Us=10; f0=2; fs=10; snap_num=256; R1=2;R2=4;R3=4;R4=4;R5=2;R6=12;R7=12; %构建 AU=b 矩阵方程,5 分 a11=1/R3+1/R7+1/(R1+R2);a12=-1/R3; a21=1/R3;a22=-1/R3-1/(R4+R5)-1/R6; A=[a11 a12;a21 a22]; b=[Us/(R1+R2);0]; %求 Uab 以及写出 Ub 正弦电压形式,3 分 U=A\b; Uab=U(1)-U(2);

Uab Ub=U(2); Ub_sin=Ub*sin(2*pi*f0*[0:snap_num-1]/fs); %作 FFT,绘制分图,4 分,不要求学生写出时间序列和频率序列 fseq=[0:snap_num-1]*fs/snap_num; subplot(2,1,1);plot([0:snap_num-1],Ub_sin); xlabel('t(s)');ylabel('Uc(V)') subplot(2,1,2);plot(fseq,abs(fft(Ub_sin))); xlabel('f(Hz)');ylabel('Frequency Magnitude');


更多相关文档:

Matlab入门教程

第1章 MATLAB 操作基础 1.1 MATLAB 概述 1.1.2 MATLAB 的主要功能 1.数值计算 MATLAB 以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。 2....

Matlab中的逻辑运算

Matlab中的逻辑运算_工学_高等教育_教育专区。Matlab 中的逻辑运算"&&"与"&","||"与"|"的区别 (2009-12-06 20:59:06) 转载 标签: 杂谈 逻辑运算符: ...

matlab软件介绍

matlab软件介绍_物理_自然科学_专业资料。MATLAB 软件 MATLAB 简介 Matlab 是 MathWorks 公司于 1982 年推出的一套高性能的数值计算和可视 化软件。它集数值分析、...

Matlab希腊字母

Matlab希腊字母_理学_高等教育_教育专区。MATLAB希腊字母 Maltab 数学公式、符号和希腊字母的输入命令 Character Sequence \alpha \beta \gamma \delta \epsilon \...

MATLAB中的取整函数

MATLAB中的取整函数_数学_自然科学_专业资料。MATLAB是一个功能极其强大的软件,深受各界科研人员的喜爱。这里整理了matlab一些基本的函数及其功能。...

MATLAB中ismember函数

MATLAB中ismember函数_数学_自然科学_专业资料。MATLAB 中 ismember 函数 a=[1 2 3 4 5]; b=[3 2 5 6 7 8 77 44 3]; [tf index]=ismember(a,b...

基于MATLAB的AM信号的调制

基于MATLAB的AM信号的调制_信息与通信_工程科技_专业资料。高频--基于MATLAB的AM信号的调制高频大作业 基于 MATLAB 的 AM 信号的调制 1 高频大作业摘要:现在的社会...
更多相关标签:
matlab下载 | matlab教程 | matlab破解版下载 | matlab7.0 | matlab论坛 | matlab mac | matlab官网 | matlab 2015b |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com