文档库 最新最全的文档下载
当前位置:文档库 › MATLAB 09年试题加答案

MATLAB 09年试题加答案

MATLAB   09年试题加答案
MATLAB   09年试题加答案

西安电子科技大学

考试时间 90 分钟

2009年MATLAB语言试题

1.考试形式:闭卷;

2.本试卷共七大题,满分100分;

3.答案写在试卷上

班级学号姓名任课教师

一、基本知识填空题(每空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 + 3x

4 = 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个确知信号分别为:1110sin(2/)s s f n f π=、

225sin(2/)

s s f n f π=,其中信号频率分别为12f =Hz 、25f =Hz ,采样频率为20s f =Hz ,采样点

128点,即n =0,1,2, (127)

编程完成以下内容:

(1) 求出信号的频谱(用到的函数有fft 和abs )。

(2) 以图形的方式比较信号波形和信号频谱,要求把图形窗口分成2个子窗口,分别画出:时域信号波形(横坐标为 “Time ”,纵坐标为 “amplitude ”,标题为 “信号时域与频域波形”)、信号频谱(横坐标为 “frequency(Hz)”,纵坐标为 “frequency spectral ”)。

七、(15分)某宿舍有4名同学期末考试的成绩为下表所示:

编程完成以下内容:

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

1

n

i i

i x w x w

==

∑,i

x 为课程成绩,i w 为相应的学分,1

n

i

i w w ==

∑,n 为成绩个数。

(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 二、

选择题(每题4分,共20分)

D B C B B

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

① p=polyfit(x,y,3)

② y2=polyval(p,x2)

③ axis([0 6 m2 m1])

④ title(‘多项式曲线拟合’)

⑤ x = input(‘请输入数据 \n’) 或 x = input(‘请输入数据’)

⑤ m = mean(y)

四、(8分)

A=[4 0 2 3; 0 3 2 3; 2 0 0 1; 0 -2 1 3;]; %3分

b=[9 8 10 7]'; %2分

x=A\b; 或x=inv(A)*b; %3分

另一种答案:

A=[4 0 2 0;0 3 0 -2; 2 2 0 1; 3 3 1 3]; %3分

b=[9 8 10 7]; %2分

x=b/A;或x=b*inv(A); %3分

五、(10分)

len= menu('select a num','1','2','3','4', '5'); %3分

switch len % switch 语句格式写对2分

case 1

y=zeros(4,3); %1分

case 2

y=5.*ones(3,4); %1分

case 3

y=5+randn(5,3); %1分

case 4

y=?not an array?; %1分

otherwise

disp(…Error?) %1分

end

六、(15分)

f1=2; f2=5; fs=20; n=0:127; %1分

s1=10*sin(2*pi*f1*n/fs); %1分

s2=5*sin(2*pi*f2*n/fs); %1分

noise=2*randn(size(n)); %2分

s=s1+s2+noise; %1分

s_f= fft(s); %1分

m_f=abs(s_f); %1分或m_f=abs(fft(s)) %2分

f=(0:length(s_f)-1)*fs/length(s_f) 或f=n*fs/length(n) %2分

figure(1);

subplot(2,1,1); plot(n,s); %1分

title(…信号时域与频域波形?); %1分

xlabel(…Time?); ylabel(…amplitude?); %1分

subplot(2,1,2); plot(f,m_f); %1分

xlabel(…frequency(Hz)?); ylabel(…frequency spectral?); %1分

七、(15分)

% 构建结构阵列3分,也可用赋值语句逐个赋值

student=struct('name',{'liwei' 'wangjun' 'liuzhi' 'zhanglin'},...

'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}); %更新正确2分end

西安电子科技大学

考试时间 90 分钟

2009年MATLAB语言试题

班级学号姓名任课教师

二、基本知识填空题(每空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.编写MA TLAB程序,在同一图形窗口中绘制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 + 5x

4 = 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门课程的期末考试成绩如下表所示:

要求编程完成以下内容:

(3)基于表格内容构建结构阵列,结构名为student。通过访问结构阵列,计算每

一个学生的平均分,将平均分作为一个新的域,更新已经建立的结构阵列。

最终得到的结构阵列可表示为

student

.name

.score

.mean

(4)基于表格内容建立二维单元阵列,单位阵列中每一行保存一个学生的信息。

通过访问单元阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的单元阵列。

最终得到的单元阵列格式为:

姓名成绩平均分

学生1

学生2

学生3 学生4

七、(15分)某一过程中通过测量得到:

编程完成以下内容:

(1) 分别采用三阶和四阶多项式对数据进行拟合;(提示:采用polyfit 进行多项式拟合;调用格式为p = polyfit(t,y ,n),n 为多项式阶数,p 为得到的多项式系数) (2) 比较拟合效果,要求把图形窗口分成两个子窗口,子窗口1绘制出原始测量值和三阶多项式拟合后的曲线,子窗口2绘制出原始测量值和四阶多项式拟合后的曲线;

(3) 根据已知时刻点的测量值,计算两种拟合方法的均方误差(MSE )。 21

1

?()n

i

i i M SE y y n

==-∑,其中i y 为上面表中的原始测量值,?i y

为拟合后的估计值。

四、 基本知识填空题(每空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分)

D A C B B 六、

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

① hold on

② axis([-3 3 m2 m1])

③ xlabel(‘时间’); ylabel(‘幅度’);

④ x = input(‘请输入数据 \n’) 或 x = input(‘请输入数据’)

⑤ v = var(y) 或 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;]; %3分

b=[2 4 7 8]'; %3分

x=A\b; 或x=inv(A)*b或x=pinv(A)*b; %4分

另一种答案:

A=[3 0 0 2;1 6 4 -1; 0 7 3 2; 5 3 0 6]; %3分

b=[2 4 7 8]; %3分

x=b/A;或x=b*inv(A); %4分

五(10分)

ch = menu('select a num','1','2','3','4', '5'); %3分

switch ch % switch 语句格式写对2分

case 1

y=2*rand-1; %1分

case 2

y=diag(rand(1,5)); %1分

case 3

y=randn; %1分

case 4

y=5+2*randn(5,5); %1分

case 5

return; %1分

end

六、(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); %更新正确2分end

% 构建单元阵列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}); %更新正确2分end

或者可由struct直接转换到cell

student1 = struct2cell(student); % 4分

student1 = squeeze(student1); %删除单点维

student1 = student1'; % 结果正确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]; % 1分

p1 = polyfit(t,y,3); % 1分

p2 = polyfit(t,y,4); % 1分

x = [0:0.1:5];

y1 = polyval(p1,x); % 1分

y2 = polyval(p2,x); % 1分

subplot(1,2,1); % subplot 语句格式写对1分

plot(t,y,'o',x,y1); % 也可使用hold on命令,正确画出第一个子图2分

subplot(1,2,2);

plot(t,y,'o',x,y2); % 正确画出第二个子图2分

i = int16(1 + t/0.1); % or i=fix(t/0.1)+1;能找到正确的估计值位置3 分

mse1 = mean((y-y1(i)).^2); % 正确计算均方误差1分

mse2 = mean((y-y2(i)).^2); % 正确计算均方误差1分

西安电子科技大学

考试时间 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. 在MA TLAB的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)

抛物线的方程为2

y ax 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分)牛顿迭代法是方程寻根的一种方法,考虑2()23f x x x =+-,方程

()0

f x =的

牛顿迭代公式为

1'

()()

k k k k f x x x f x +=-

2

123,0,1,2, (22)

k k k k k x x x x k x ++-=-

=+。首先,编牛顿迭代法函数,函数形式如下:

function y=NewtonEqu(x)

%函数功能:按牛顿迭代公式定义函数 %输入参数:x,自变量, %输出参数:y ,函数值

然后,给定初值00x =,编写一循环主程序,当41||10k k x x -+-<或循环次数大于100时,停止迭代,显示最终的方程根。

五、(15分)某班为进行综合测评,需用MATLAB 编程完成以下内容: (5) 构建如下的结构阵列

(6) 对学生成绩按学分加权求出综合测评分,并从低到高排序

Gym(体育)、Eng(英语)、Math(数学)、物理(Phy)的学分分别为1 2 3 2.5,综合测评分的计算公式如下:11

n i i

i x w x w

==

∑,i

x 为课程成绩,i

w 为相应的学分,1

n

i

i w w ==∑,n 为成绩个数。

(7) 按如下方式显示结果:(提示:num2str(x),可将数据x 转换成字符串)

Name Score ×× ×× ×× ×× ×× ××

六、(15分)下图所示的梯形电路中,若010sin(2/)s s U f n f π= ,其中10s

U =V 为电源电压幅值,信号频率02f =Hz ,采样频率为10s f =Hz ,采样点256点,即n =0,1,2, (255)

编程实现: (1) 求a b U

(2) 在b 点接频谱分析仪观察该点电压频谱,用MATLAB 仿真,分图绘制正弦电压b U 的波形和频谱。提示,用到的函数有fft ,subplot 建模:此电路中设各节点电压幅值为a U 、b U 将各支路电流用这些电压来表示

112

s a U U I R R -=

+27

a U I R =

33

a b

U U I R -=

46

b U I R =

545

b U I R R =

+

对a 点和b 点列出节点电流方程:123I I I =+,345I I I =+,将电流表达式代入,

可得3

712312

3364511111

1110s

a b a b U U U R R R R R R R U U R R R R R ??++-= ?++????-++= ?+??,可写成矩阵方程

11

121221

220s

a a

b b U U U a a R R U U a a ??

???????

?+==???

???????????

????

A

MATLAB 语言2007年笔试考试答案

九、

选择题(每题5分,共30分)

1、A C B B A D

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

抛物线的方程为2

=+,输入c后,绘制该曲线,寻找曲线的最小值和对

y ax cx

应的x值。小明编写程序如下:

clc;clear;close all;

c=input('c=');

a=1;

x=-2:0.1:2;

xnum=length(x)or xnum=size(x,2); %(1)对变量xnum赋为数组x的个数

y=zeros(1,xnum);

y=a*x^2+c*x;→y=a*x.^2+c*x;%(2)按照函数形式对y赋值

figure;

plot(x,y) %(3)绘制曲线

xlabel('x');ylabel('y');

[ymin,Imin]=min(y);

xmin=x(ymin);→xmin=x(Imin);%(4)找到最小函数值对应的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) %2分

case 3

D=trace(A) %2分

otherwise

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); %循环条件更新2分,

k=k+1;

xrec=[xrec x1]; %记录每次迭代的x不作要求end

k

x1

五、

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',' ','Score']);%使用sprintf控制格式也可

for i=1:StuNum

disp([Student(I(i)).Name,' ',num2str(SynScore(i))]);

end

六、

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语言突出的特点是什么? 答:MATLAB语言有一下特点: 1、起点高。 2、人机界面适合科技人员。 3、强大而简易的作图功能。 4、智能化程度高。 5、功能丰富,可扩展性强。 1.2 MATLAB系统由那些部分组成? 答:MATLAB系统主要由开发环境、MATLAB数学函数库、MMATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 答:在MATLAB操作桌面上有五个窗口。在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口。在独立窗口的Desktop菜单中选择Dock...项就可以将独立的窗口重新放置到桌面上。

1.5 如何启动M文件编辑/调试器? 答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径? 答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器。 (2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到

三相异步电动机Matlab仿真

中国石油大学胜利学院综合课程设计总结报告 题目:三相异步电机直接启动特性实验模型 学生姓名:潘伟鹏 系别:机械与电气工程系 专业年级: 2012级电气工程专业专升本2班 指导教师:王铭

2013年 6 月 27日

一、设计任务与要求 普通异步电动机直接起动电流达到额定电流的6--7倍,起动转矩能达到额定转矩的1.25倍以上。过高的温度、过快的加热速度、过大的温度梯度和电磁力,产生了极大的破坏力,缩短了定子线圈和转子铜条的使用寿命。但在电网条件和工艺条件允许的情况下,异步电动机也可以直接启动。本次课程设计通过MATLAB软件建模模拟三相异步电动机直接启动时的各个元器件上的电量变化。 参考: 电力系统matlab仿真类书籍 电机类教材 二、方案设计与论证 三相异步电动机直接起动就是利用开关或接触器将电动机的定子绕组直接接到具有额定电压的电网上。 由《电机学》知三相异步电动机的电磁转矩M与直流电动机的电磁转矩有相似的表达形式。它们都与电机结构(表现为转矩常数)和每级下磁通有关,只不过在三相异步电动机中不再是通过电枢的全部电流,而是点数电流的有功分量。三相异步电机电磁转矩的表达式为: (1-1)式中——转矩常数 ——每级下磁通 ——转子功率因数 式(1-1)表明,转子通入电流后,与气隙磁场相互作用产生电磁力,因此,反映了电机中电流、磁场和作用力之间符合左手定则的物理关系,故称为机械特性的物理表达式。该表达式在分析电磁转矩与磁通、电流之间的关系时非常方便。 从三相异步电动机的转子等值电路可知, (1-2) (1-3)将式(1-2)、(1-3)代入(1-1)得:

MATLAB试题解答

2.一单位反馈控制系统,若要求: (1)跟踪单位斜坡输入时系统的稳态误差为2。 (2)设该系统为三阶,其中一对复数闭环极点为-1±j1 求满足上述要求的开环传递函数。 利用MATALAB 完成以下操作: (1)求控制系统的单位阶跃响应、单位斜坡响应、单位加速度响应; (2)绘制控制系统的根轨迹,并判断系统的稳定性; (3)绘制控制系统的奈奎斯特图和Bode 图。 解:由于控制系统为单位反馈系统 则 H (s )=1 由条件一可知,输入信号R(s)= 21s 时,稳态误差为: 2) (10)()(1)(==→+=s sG s s H s G s sR Ess 由条件二可知,系统为三阶且有。两个极点s1=-1+j1 ;s2=-1-j1 则可得,开环传递函数为 ) 222(1)(++=s s s s G (1)求控制系统的单位阶跃响应: G=tf([1],[1, 2, 2, 0]); Step(G) title('单位阶跃响应'); grid

(2)控制系统的单位斜坡响应:z0=0; p0=[0, -1+j,-1-j]; k0=1; [num0,den0]=zp2tf(z0,p0,k0); g0=tf(num0,den0) g=feedback(g0,1); num=g.num{1}; den=[g.den{1},0]; sys1=tf(num,den) step(sys1)

(3)控制系统的单位加速度响应:z0=0; p0=[0, -1+j,-1-j]; k0=1; [num0,den0]=zp2tf(z0,p0,k0); g0=tf(num0,den0) g=feedback(g0,1); num=g.num{1}; den=[g.den{1} 0 0]; sys2=tf(num,den) step(sys2)

matlab基础练习题带答案

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

matlab考试题及答案

%1、编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。 function f=NO_1(X); Y(1)=X;k=1; while (X~=1) k=k+1; if (mod(X,2)==0) X=X/2; else X=3*X+1; end Y(k)=X; end plot(Y,'b.') end % 2、编制程序产生一个数组,满足:a1=1,a2=1,从第三个元素开始,每个元素等于前两个元素的和,直到数组的前后两个元素的比值比小于1e-4,并且以红色点线的形式画出这个数组。 clear; A(1)=1; A(2)=1; i=3; Z=1; while (abs(Z)>=1e-4) A(i)=A(i-1)+A(i-2); Z=A(i-1)/A(i); i=i+1; end plot (A,'r.') % 3、编写一个函数,能够产生分段函数。function y=test_3_1(X) if (X<=2) y=*X; elseif (X>6) y=; else y=调用分段函数,绘制曲线。 clear; i=1; for j=0::2; x(i)=j;y(i)=test_3_1(j)*test_3_1(j+2); i=i+1; end plot(x,y) % 4、在2pi周期内画正弦函数曲线,并加注坐标轴标识和标题,然后在3pi/4,pi,5pi/4处分别加入带箭头的说明性文本,最后加注图例。 clear; t = 0:pi/50:2*pi; n = length(t); y = sin(t); plot(t,y,'-bo','linewidth',1) xlabel('X');ylabel('Y'); title('正弦函数曲线'); text,, ' \leftarrow 3pi/4','FontSize',18); text,, ' \leftarrow 3pi/4','FontSize',18); text,,' \leftarrow 3pi/4','FontSize',18); hleg1 = legend('sin(x)'); % 5、A为任意一个n*m矩阵,写程序来计算A 中有多少个零元素,并输出个数。 A=input('输入一个矩阵 A = ') n=length(find(A==0)) % 6、A为任意一个向量,写程序找出A中的最小元素,并且输出这个最小元素。 A=input('输入一个向量 A = '); x=length(A); i=1; y=A(i); while (iA(i)) y=A(i); end end disp('最小元素是:') disp(y) % 7、某系统由四个典型环节构成,试根据四阶龙格—库塔公式,求输出量y的阶跃响应,取仿真时间Tf=10s, %步长h=。

Matlab考试题库答案

填空题 1、标点符号; %—用来表示该行为注释行。 可以使命令行不显示运算结果, 2、x 为0 ~4pi ,步长为 的向量,使用命令 x=0:*pi:4*pi 创建。 3、输入矩阵A=[1323?57569 ] ,使用全下标方式用A(2,2)取出元素“-5 ”,使用单下标方式用A(5)取出元素“-5 ”。 4、符号表达式sin(2*a+t)+m 中独立的符号变量为 t 。 5、M 脚本文件和M 函数文件的主要区别是M 脚本文件没有函数定义和M 函数文件有函数定义_______。 6. 设x 是一维数组,x 的倒数第3个元素表示为x(_end-2_) 设y 为二维数组,要删除y 的第34行和48列,可使用命令y(34,:)=[] ; y(:,48)=[]; 7. 将变量x 以Ascii 文本格式存储到文件,应使用命令 save _x ; 8. 在while 表达式, 语句体, End 循环语句中,表达式的值 非零 时表示循环条件为真,语句体将被执行,否则跳出该循环语句; 9.要从键盘读入一个字符串并赋值给变量x ,且给出提示“Who is she ”,应使用命令x=input(‘Who is she’,’s’) ; 10.设A=(a ij )m?n 和B=(b ij )m?n 和C=(c ij )m?n 均为m*n 矩阵,且存在于WorkSpace 中,要产生矩阵D=(a ij ?c ij b ij c ij ?)m?n ,可用命令D=(A-C)/B.^C , 计算|(A ′B )?1| 可用命令det(inv(A’*B) 11. 在MATLAB 命令窗口中的“>>”标志为MATLAB 的 命令行 提示符,“│”标志为 输入 提示符。 12.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。 A+B ; A.*B ; A==B ; ans= [2,2,6;5,10,0;7,9,11] ans= [1,0,9;4,25,0;0,8,18] ans= [1,0,1;0,1,1;0,0,0] 13.已知A 是矩阵,求A 的对角矩阵函数是 diag ; 求A 的下三角矩阵函数是 tril 。 的程序文件和Simulink 模型文件的扩展名分别是.m 、.mdl 最基本的绘图函数为plot() 16. A=[1,2,3;4,5,6]; A(:,[1,3])=[];A= [2;5] 17. fix= -1 , round= -2 . 18.已知A=[1 3;4 6];C=[A,eye(sizeA);A ,ones(sizeA)] 则C= [1 3 1 0;4 6 0 1;1 3 1 1;4 6 1 1]

matlab习题及答案

2. 用MATLAB 语句输入矩阵A 和B 3.假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来, 赋给B 矩阵,用magic(8)A =命令生成A 矩阵,用上述命令检验一下结果是不是正确。 4.用数值方法可以求出∑=++++++==63 63622284212i i S Λ,试不采用循环的 形式求出和式的数值解。由于数值方法是采用double 形式进行计算的,难以保证有效位数字,所以结果不一定精确。试采用运算的方法求该和式的精确值。 5.选择合适的步距绘制出下面的图形。 (1))/1sin(t ,其中)1,1(-∈t ; (2))tan(sin )sin(tan t t -,其中),(ππ-∈t 6. 试绘制出二元函数2 2 2 2 )1(1)1(1),(y x y x y x f z +++ +-= =的三维图和三 视图 7. 试求出如下极限。 (1)x x x x 1)93(lim +∞ →; (2)1 1lim 0-+→→xy xy y x ; (3)2 2)()cos(1lim 2 2 220 0y x y x e y x y x +→→++- 8. 已知参数方程? ??-==t t t y t x sin cos cos ln ,试求出x y d d 和3 /2 2d d π=t x y 9. 假设?-=xy t t e y x f 0 d ),(2 ,试求2222 22y f y x f x f y x ??+???-?? 10. 试求出下面的极限。 (1)??????-++-+-+-∞→1)2(1 161141121lim 2222n n Λ; (2))131211( lim 2 222π πππn n n n n n n ++++++++∞ →Λ 11. 试求出以下的曲线积分。 (1)?+l s y x d )(22,l 为曲线)sin (cos t t t a x +=,)cos (sin t t t a y -=, )20(π≤≤t 。

matlab基础练习题及答案

第1章 MATLAB 基础 MATLAB 操作桌面有几个窗口如何使某个窗口脱离桌面成为独立窗口又如何将脱离出去的窗口重新放置到桌面上 答:在MATLAB 操作桌面上有五个窗口。在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面成为独立窗口。在独立窗口的Desktop 菜单中选择Dock...项就可以将独立的窗口重新放置到桌面上。 如何启动M 文件编辑/调试器 答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动。在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器。 存储在工作空间中的数组能编辑吗如何操作 答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 命令历史窗口除了可以观察前面键入的命令外,还有什么用途 答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别 答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 在MATLAB 中有几种获得帮助的途径 答:(1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器。 (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息。 (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数。 (4)模糊查询:输入命令的前几个字母,然后按Tab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 在MATLAB 中如何建立矩阵??? ???194375,并将其赋予变量a 答:在Command Window 窗口输入操作: >> a=[5 7 3;4 9 1] 有几种建立矩阵的方法各有什么优点 答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷; (2)通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; (3)由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; (4)通过数据文件建立,该方法可以调用由其他软件产生数据。 在进行算术运算时,数组运算和矩阵运算各有什么要求 答:进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 数组运算和矩阵运算的运算符有什么区别 答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 计算矩阵??????????897473535与??? ?? ?????638976242之和。 答: 求??? ???+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。 答: 计算??????=572396a 与?? ? ???=864142b 的数组乘积。 答:

matlab试卷合集附答案

一、填空题 1、求可逆矩阵A的逆矩阵的指令是 inv(A) 2、A=[0 2 3 0],B=[4 5 0 0],则X=A&B的显示结果为 0 1 0 0 3、求矩阵A的转置矩阵的指令是: A’ 4、x=[10 -20 30]; a=sign(x);显示结果为 1 -1 1 5、Notebook是Matlab的文字处理工具,启动Notebook有两种方法,即一 种是在 Word 中启动,另一种是在 Matlab 中启动。 6、Matlab7.3提供了非常强大的帮助系统,包括帮助命令、帮助 窗口、HTML格式帮助、pdf格式帮助和帮助演示等。 7、clc命令和clear命令的区别是 clc清除命令窗口所有显示内容; Clear清除所有显示的变量 . 8、命令窗口中的type命令的功能为显示文件的内容 . 9、matlab7.3提供了三种程序调试的工具,包括直接检测调试、专用调试命 令和使用 M文件编辑/调试器。 10、matlab除了最常用的主函数和子函数外,还提供了嵌套函数、私有函数、 重载函数和匿名函数。 11、在matlab7.3中,创建句柄图形对象的命令格式为____________ h_obj=funname(‘PropertyName’,PropertyValue,……)_ 12、计算5*e3*|cos175°|语句为 5*exp(3)*abs(cos(175*pi/180)). 13、创建随机矩阵的指令用rand,创建稀疏矩阵用sparse 14、为图形添加网格使用grid on,使用legend命令添加图例。 1、MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、 命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、 帮助导航/浏览器、图形窗口等。 2、MATLABInf或inf表示无穷大、NaN或nan表示不是一个数、nargout表 示函数输出宗量数目。 3、MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔; 用作输入量与输入量之间的分隔符;用作数组元素分隔符号。 4、工作空间浏览器主要用于内存变量的查阅、保存和编辑。 5、MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全 下标的指令为Ind2sub。 6、二维数组的标识有“全下标”标识、“单下标”标识、“逻辑1”标识。 7、在一个元胞数组A中寻访第2行第3列元胞元素用A(2,3);寻访数组第 2行第3列元胞中的内容用A{2,3}。 8、MATLAB中clf用于清除图形窗、clc用于清除指令窗中显示内容、clear 用于清除MATLAB工作空间中保存的变量。 1.已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。 A & B 的运行结果ans= ; A ./ B 的运行结果ans= 。 2. 产生4阶全0方阵的命令为;产生3阶全1方阵的命令为。 3. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为和。

matlab 上机作业1,中国石油大学

第一次上机实习 1.编写一个程序ex1_1.m,对输入的方阵计算其伴随矩阵。 a)要求第一行帮助行注明这个函数的用途,能在matlab命令窗口可以用help或lookfor 查到该帮助; b)对输入的变量进行检测,如果输入的不是方阵或者矩阵元素不是数,则报错,退出程 序。 function A=ex1_1(X) % 建立函数A=ex1_1(X),求矩阵X的伴随矩阵 [a,b]=size(X); if a~=b||~isnumeric(X) || ~ismatrix(X) error('输入的不是方阵或者矩阵元素不是数!'); end for i=1:a for j=1:b A(i,j)=(-1)^(i+j)*X(i,j)*det(X([1:i-1,i+1:end],[1:j-1,j+1:end])); end end A=A'; 2.已知表达式y=6*x^5+4*x^3+2*x^2-7x+10,x的范围是[0,100],使用三阶拟合和五阶的方法得出多项式的表达式,并编程在图中绘制出原曲线、三阶拟合和五段拟合的曲线。 clc clear all x=linspace(0,100,2000); p1=[6 0 4 2 -7 0]; y=polyval(p1,x); p3=polyfit(x,y,3); p5=polyfit(x,y,5); y1=polyval(p3,x); y2=polyval(p5,x); plot(x,y,'r-o') hold on grid on plot(x,y1,'b-.',x,y2,'y--*'); grid on 三条曲线

放大图(原曲线与五阶拟合完全重合): 3.读如图像5.tif(450*450),做fourier变换, a)将变换之后所得到的矩阵只保留前10行10列,后10行10列的数据,其他位置都 设置为0,然后再作反fourier变换,观察结果; 原图:

matlab习题及答案2

MATLAB 基本运算 1.在MATLAB 中如何建立矩阵?? ?? ??194375,并将其赋予变量a ?>>a=[573;491] 2.在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 3.数组运算和矩阵运算的运算符有什么区别? 在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 4.计算矩阵??????????897473535与??????????638976242之和。>>a=[535;374;798]; >>b=[242;679;836]; >>a+b ans = 7 779 1413151214 5.计算??????=572396a 与?? ????=864142b 的数组乘积。>>a=[693;275]; >>b=[241;468]; >>a.*b ans = 12 36384240 6.“左除”与“右除”有什么区别? 在通常情况下,左除x=a\b 是a*x=b 的解,右除x=b/a 是x*a=b 的解,一般情况下,a\b ≠b/a 。

7.对于B AX =,如果??????????=753467294A ,???? ??????=282637B ,求解X 。>>A=[492;764;357]; >>B=[372628]’; >>X=A\B X = -0.5118 4.0427 1.3318 8.已知:???? ??????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 >>a=[123;456;789]; >>a.^2 ans = 1 4916 253649 6481 >>a^2 ans = 30 364266 81961021261509.[]7.0802.05--=a ,在进行逻辑运算时,a 相当于什么样的逻辑量。 相当于a=[11011]。 10.在sin(x )运算中,x 是角度还是弧度? 在sin(x)运算中,x 是弧度,MATLAB 规定所有的三角函数运算都是按弧度进行运算。

Matlab 期末考试题库(共12套卷)

第一套 华东交通大学2015-2016学年第一学期Matlab期末考试 一、填空题(4*6=24分) 1、在MATLAB命令窗口中的“>>”标志为MATLAB的提示符,“│”标志为提示符。 2、符号表达式sin(2*a+t)+m 中独立的符号变量为__ _。 3、在通常情况下,左除x=a\b是的解,右除x=b/a是的解,一般情况下,。 4、为了使两个plot的图形在同一个坐标显示,可以使用_____命令进行图形保持;可以使用_ __命令为图形添加网格。 5、倘若要是对x进行赋值,从5到25,间隔是0.1,为;倘若要是对x进行赋值,从2到20,中间间隔100个点,为 6、A=[1,2;3,4];B=[1,0;0,1]; A*B= _ , A.*B=_ _; 二、选择题(4*6=24分) 7、如果x=1: 2 : 8,则x(1)和x(4)分别是( ) A.1,8 B.1, 7 C.2, 8 D.2, 7 8、运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为( ) c=input('请输入一个字符','s'); if c>='A' & c<='Z' disp(setstr(abs(c)+abs('a')-abs('A'))); elseif c>='a'& c<='z' disp(setstr(abs(c)- abs('a')+abs('A'))); elseif c>='0'& c<='9' disp(abs(c)-abs('0')); else disp(c); end A. 9 B. 8 C. 7 D. 6 9、MATLAB表达式2*2^3^2的结果是() A.128 B.4096 C. 262144 D.256 10、在循环结构中跳出循环,执行循环后面代码的命令为( ) (A) return (B) break (C) continue (D) keyboard 11、在图形指定位置加标注命令是() A. title(x,y,?y=sin(x)?); B. xlabel(x,y,?y=sin(x)?); C. text(x,y,?y=sin(x)?); D. legend(x,y,?y=sin(x)?); 12、下列哪个变量的定义是不合法的()。 (A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz 三、程序题(52分) 13(10分)、在同一窗口绘制6个子图,已知t=0.1:0.1:2*pi,每个子图分别绘制(其中y1=sin(t),y2=cos(2t),y3=sin(t)+cos(t),y4=3t, y5=2ln(t),y6=et); 14(10分)、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣

Matlab考试题库+答案(中北大学)

1、标点符号; _______可以使命令行不显示运算结果, %——用来表示该行为注释行。 2、x 为0 ~4pi ,步长为0.1pi 的向量,使用命令_______创建。 x=0:0.1*pi:4*pi 3、输入矩阵A= 错误!未找到引用源。 ,使用全下标方式用A(2,2) 取出元素“-5 ”,使用单下标方式用_______取出元素“-5 ”。 A(5) 4、符号表达式sin(2*a+t)+m 中独立的符号变量为_______。 t 5、M 脚本文件和M 函数文件的主要区别是M 脚本文件没有函数定义和M 函数文件有函数定义_______。 6. 设x 是一维数组,x 的倒数第3个元素表示为_______; 设y 为二维数组,要删除y 的第34行和48列,可使用命令_______; _______; x(_end-2_) y(34,:)=[] y(:,48)=[] 7. 将变量x 以Ascii 文本格式存储到文件fname.txt ,应使用命令_________ _; save _x 8. 在while 表达式, 语句体, End 循环语句中,表达式的值__ __时表示循环条件为真,语句体将被执行,否则跳出该循环语句; 非零 9.要从键盘读入一个字符串并赋值给变量x ,且给出提示“Who is she?”,应使用命令_________; x=input(‘Who is she?’,’s’)_ 10.设A=错误!未找到引用源。和B=错误!未找到引用源。 和C=错误!未找到引用源。均为m*n 矩阵,且存在于WorkSpace 中,要产生矩阵 D=错误!未找到引用源。 ,可用命令________ _, 计算错误!未找到引用源。 可用命令________; D=(A-C)/B.^C det(inv(A’*B ) 11. 在MATLAB 命令窗口中的“>>”标志为MATLAB 的_______ 提示符,“│”标志为_______提示符。 命令行 输入 12.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。 A+B ; A.*B ; A==B ; ans= [2,2,6;5,10,0;7,9,11] ans= [1,0,9;4,25,0;0,8,18] ans= [1,0,1;0,1,1;0,0,0] 13.已知A 是矩阵,求A 的对角矩阵函数是_______, 求A 的下三角矩阵函数是_______ 。 diag tril 14.MATLAB 的程序文件和Simulink 模型文件的扩展名分别是_______、 。 .m .mdl 15.MATLAB 最基本的绘图函数为_______ 。 plot() 16. A=[1,2,3;4,5,6]; A(:,[1,3])=[];A=__________________ [2;5] 17. fix(-1.5)=___ ________, round(-1.5)=__ _______________. -1 -2

基于MATLAB的微机保护算法仿真

本科毕业设计(论文) 题目:基于MATLAB的微机保护算法仿真 学生姓名: 学号:05843420 专业班级:电气工程及其自动化1班 指导教师:

基于MATLAB的微机保护算法仿真 摘要 基于MATLAB软件,运用Simulink工具完成一种继电保护微机保护数据采集和处理系统。主要基于两点法、突变量算法、对称分量选相法等传统的微机保护算法,搭建MATLAB的仿真模型,根据采集的输入电气量的采样数据进行分析、运算和判断,以实现相应的继电保护功能。本文对MATLAB软件如何应用于微机保护做了详细说明,并运用MATLAB的动态仿真工具对电力系统中的故障以及微机保护的算法进行了仿真分析,说明了MATLAB在微机继电保护中应用的可行性。同时本文对工程中常用微机保护算法进行了原理层面的分析,并运用模型对各种算法的性能进行了仿真和研究,有很重要的现实意义。 关键词:MATLAB;微机保护;算法;采样数据

Microcomputer protection algorithm based on MATLAB simulation Abstract Based on MATLAB software, using Simulink tools perform one computer protection relay data acquisition and processing systems. Mainly based on two-point method, the amount of mutation algorithms, symmetric phase selector and other traditional computer protection algorithms to build MATLAB simulation model, based on the amount of collected samples of the input electrical data analysis, calculation and judgment, in order to achieve the corresponding relay protection. In this paper, MATLAB software how to apply a detailed description of computer protection, and the use of MATLAB dynamic simulation tool for power system failures and computer protection algorithms for the simulation analysis, illustrates the application of MATLAB in the feasibility of relay protection . This paper also commonly used in engineering computer protection algorithms theory level of analysis, and the use of models for the performance of various algorithms and simulation studies, there is a very important practical significance. Keywords:MATLAB;Microcomputer Protection;Algorithm; Sampling Data

Matlab 考题题整理 带答案

MATLAB 考试试题(1) 产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!(注:要程序和运行结果的截屏) 答案: a=10*rand(1,10)-5; b=sort(a,'descend') 1.请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5] 2. 已知变量:A=’ilovematlab’;B=’matlab’, 请找出: (A)B在A中的位置。 (B)把B放在A后面,形成C=‘ilovematlabmatlab’ 3. 请修改下面的程序,让他们没有for循环语句! A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end 4. 请把变量A=[1 2 3; 4 5 6; 7 8 9]写到文件里,写完后文件看起来是这样的 1 2 3 4 5 6 7 8 9 5.试从Yahoo网站上获得微软公司股票的2008年9月的每日收盘价。 6.编写M文件,从Yahoo网站批量读取至在2008年9月份的每日收盘价(提示:使用字符串函数)。 7. 将金牛股份(000937)2005年12月14日至2006年1月10日的交易记录保存到Excel中,编写程序将数据读入MATLAB中,进一步将数据读入Access数据库文件。 8.已知资产每日回报率为,标准差为,资产现在价值为亿,求5%水平下资产的10天在险价值(Var)。 =[1 2 3 4 5],b=a(1)*a(5)+a(2)*a(4)+a(3)*a(3)+a(4)*a(2)+a(5)*a(1).试用MATLAB中最简单的方法计算b,注意最简单哦。 1、求下列联立方程的解

matlab考题题整理带答案

MATLAB 考试试题 (1) 产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!(注:要程序和运行结果的截屏) 答案: a=10*rand(1,10)-5; b=sort(a,'descend') 1.请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5] 2. 已知变量:A=’ilovematlab’;B=’matlab’, 请找出: (A) B在A中的位置。 (B)把B放在A后面,形成C=‘ilovematlabmatlab’ 3. 请修改下面的程序,让他们没有for循环语句! A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c if (A(i,j)>8 | A(i,j)<2)

A(i,j)=0; end end end 4. 请把变量A=[1 2 3; 4 5 6; 7 8 9]写到文件里,写完后文件看起来是这样的 1 2 3 4 5 6 7 8 9 5.试从Yahoo网站上获得微软公司股票的2008年9月的每日收盘价。 6.编写M文件,从Yahoo网站批量读取至在2008年9月份的每日收盘价(提示:使用字符串函数)。 7. 将金牛股份(000937)2005年12月14日至2006年1月10日的交易记录保存到Excel中,编写程序将数据读入MATLAB中,进一步将数据读入Access数据库文件。 8.已知资产每日回报率为,标准差为,资产现在价值为亿,求5%水平下资产的10天在险价值(Var)。 =[1 2 3 4 5],b=a(1)*a(5)+a(2)*a(4)+a(3)*a(3)+a(4)*a(2)+a(5)*a(1).试用MATLAB中最简单的方法计算b,注意最简单哦。

中国石油大学(北京)自动控制原理胡寿松 课件PPT

实验四 控制系统的根轨迹分析 一. 实验目的: 1. 学习利用MATLAB 语言绘制控制系统根轨迹的方法。 2. 学习利用根轨迹分析系统的稳定性及动态特性。 二. 实验内容: 1. 应用MATLAB 语句画出控制系统的根轨迹。 2. 求出系统稳定时,增益K 的范围。 3. 实验前利用图解法画出系统的根轨迹,算出系统稳定的增益范围,与实测值相比较。 4. 应用SIMULINK 仿真工具,建立闭环系统的实验方块图进行仿真。观察不同增益下系统的阶跃响应,观察闭环极点全部为实数时响应曲线的形状;有共轭复数时响应曲线的形状。(实验方法参考实验二) 5. 分析系统开环零点和极点对系统稳定性的影响。 三. 实验原理: 根轨迹分析法是由系统的开环传递函数的零极点分布情况画出系统闭环根轨迹,从而确定增益K 的稳定范围等参数。假定某闭环系统的开环传递函数为 )164)(1() 1()()(2++-+=s s s s s K s H s G 利用MATLAB 的下列语句即可画出该系统的根轨迹。 b=[1 1]; %确定开环传递函数的分子系数向量 a1=[l 0]; %确定开环传递函数的分母第一项的系数 a2=[l -1]; %确定开环传递函数的分母第二项的系数 a3=[l 4 16]; %确定开环传递函数的分母第三项的系数 a=conv(al ,a2); %开环传递函数分母第一项和第二项乘积的系数 a=conv(a ,a3); %分母第一项、第二项和第三项乘积的系数 rlocus(b,a) %绘制根轨迹,如图(4-l )所示。 p=1.5i ; % p 为离根轨迹较近的虚轴上的一个点。 [k ,poles]=rlocfind(b ,a ,p) %求出根轨迹上离p 点很近的一个根及所对应

相关文档