MATLAB 题库

MATLAB 题库
MATLAB 题库

《MATLAB编程技术》题库

基础知识

1、多条命令可以放在一行,中间用逗号或者分号分开,逗号会显示语句的结果(回

显),分号不回显。如果一行语句太长,在结尾处加三个点…续行;注释语句不能续行,注释语句另起一行时前面加%

2、通常,在MATLAB内部,每个数据元素都是用双精度来存储的,format命令

只影响数据的输出格式,而不影响数据的计算和存储。

已知圆周率的值为:3.14159265358979:

>> clear all; format short; pi

ans =

3.1416

>> format long; pi

ans =

3.14159265358979

3、A(:) 将A的每一列元素堆叠起来,成为一个列向量,这也是MATLAB变量的

内部存储格式。

4、一些函数的功能:

linspace(a,b,n)与冒号表达式a:(b-a)/(n-1):b等价

>> linspace(0,10,6)

ans =

0 2 4 6 8 10

>> A = 1:18; B = reshape(A,3,6); B(:,[2,4])=[]

B =

1 7 13 16

2 8 14 17

3 9 15 18

>> A = [1:3; 2:4]; A>=2

ans =

0 1 1

1 1 1

>> A = [1:3; 2:4]; B=[3,2,1; 4,3,2]; A>B ans =

0 0 1

0 0 1

>> disp('It''s a book')

It's a book

>> x=3; y=4; m = '[x*y, x+y]'; eval(m) ans =

12 7

>> A=5; A=A==10

A =

>> x=-5; y=3; [rem(x,y),mod(x,y)]

ans =

-2 1

>> x=-18.98; [fix(x),floor(x),ceil(x),round(x)] ans =

-18 -19 -18 -19

>> x = 1:3; y=4:6; 2.^[x; y]

ans =

2 4 8

16 32 64

>> x = 1:3; y=4:6; x.^y

ans =

1 3

2 729

pwd 返回当前路径

clc 清除当前的命令行窗体显示内容

dir 显示当前路径下的文件

length(A),给出A的行数和列数中的较大者。ndims(A),给出A的维数

基本编程

一、判断1000以内有多少个素数,显示这些素数,并给出所用的时间。

clear all; close all; clc; tic

p = primes(1000); m = size(p,2);

disp(['There are ',num2str(m),' primes less than 1000.They are as follows:']); disp(p);

toc;

二、给出解下列方程或者方程组的程序:

1、??

?

??=++=++=++321222321z y x z y x z y x ;

solve('x+y+z=1','x+y^2+z^3=2','x^2+y^2+z^2=3')

2、0322=++c bx a ax 其中a 是未知数; solve('a*x^2 + a^2*b*x + c^3 = 0','a')

3、??

?

??=++=++=-+36542321z y x z y x z y x (此线性方程组要求用两种方法)。

solve('x+y-z=1','x+2*y+3*z=2','4*x+5*y+6*z=3')

A = [1,1,-1; 1,2,3; 4,5,6];

B = [1; 2; 3]; S=A\B;

x = S(1); y=S(2); z=S(3);

三、画图:

1、绘制如右图所示的13角形;设置线的属性为“蓝色虚线 线宽为4”。 figure(1);

plot(cos(0:pi*10/13:10*pi),sin(0:pi*10/13:10*pi),'b--','LineWidth', 4 );

2、绘制一条三维曲线??

?

??<<+=+=π100)10/()cos()10/()sin(z z z y z z x 。

figure(2);

z=0:pi/50:10*pi; x=sin(z)./(z+10); y=cos(z)./(z+10);

plot3(x,y,z,'LineWidth',3);

3、 画出2

222)

sin(),(y x y x y x f ++=

在区域??

???<<1515

y x 上的图形(Z>0.35部分设置为0.35)。

figure(3);

[x,y] = meshgrid(-15:0.5:15,-15:0.5:15); z=cos(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2)+eps; z(find(abs(z)>0.35))=0.35; mesh(z); xlabel('x'); ylabel('y');

4、绘制如右图所示的13角形,设置线的属性为“红色虚线 线宽为5”;

figure(1);

plot(cos(0:pi*12/13:12*pi),sin(0:pi*12/13:12*pi),'r--','LineWidth',5);

四、用两种方法求下列积分:

?20)(ln dx

x

Jifen = quad('log(x)',0,2)

x = 0+eps:0.0001:2;

y = log(x);

Jifen= 2*sum(y)/20000 ?20dx

e x

Jifen = quad('exp(x)',0,2)

x = 0:0.001:2;

y = exp(x);

Jifen = 2*sum(y)/2001

五、对下列数据进行曲线拟合(5次多项式)并绘制图形显示拟合效果。

x= 0:2:14;

y= [1.2, 1.8, 2.3, 5, 4, 3.3, 2.0, 1.0];

P = polyfit(x, y, 5);

C = 0:0.2:14;

D = polyval(P, C);

plot(x, y, 'r-', C, D, '*G-');

六、符号运算编程

求F = e x的逆函数

求F = ln(x)的逆函数

F(x) = e x;G(x)=sin(x); 给出复合函数F(G(x))。

F = cos(2x2)+5; 令x=7; 求符号表达式F的值。

F = ax3+by2+cx+d; 其中y是自变量,求符号表达式F微分。

F = cos(x)+ln(y); 其中y是自变量,求符号表达式F在[2,3]上的积分。

F = log10(5x); 画出符号表达式F在[2,3]上的图形。

F = cos(x)+ln(y); 其中y是自变量,求符号表达式F微分。

F = sym('exp(x)');

finverse(F)

F = sym('log(x)');

finverse(F)

F = sym('exp(x)');

G = sym('sin(x)');

compose(F,G)

F = sym('cos(2*x^2)+5');

x=sym('7');

eval(F)

F = sym('a*x^3+b*y^2+c*x+d');

diff(F,'y')

F = sym('cos(x)+log(y)');

int(F,'y',2,3)

F = sym('log10(5*x)');

ezplot(F,[2,3])

F = sym('cos(x)+log(y)');

diff(F,'y')

七、矩阵的运算

已知 A = [1,0; 2,2]; B = [1,0; 0,2]; 试求:

A*B A/B A./B A\B A.^B 的值。

1 0 1 0 1 NaN 1 0 1 1

2 4 2 1 Inf 1 -1 1 1 4

已知 A = [1,0; 0,2]; B = [1,0; 2,2]; 试求:

A*B A/B A./B A\B A.^B的值。

1 0 1 0 1 NaN 1 0 1 1

4 4 -2 1 0 1 1 1 0 4

综合编程(15)

☆八、综合编程:TXT文件的读写操作。

>> [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)

idin=fopen('test.txt'); % 打开test2.txt文件

fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件

while ~feof(fidin) % 判断是否为文件末尾

tline=fgetl(fidin); % 从文件读行

if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是否是数值fprintf(fidout,'%s\n\n',tline); % 如果是数字行,把此行数据写入文件MKMATLAB.txt

continue % 如果是非数字继续下一次循环

end

end

fclose(fidout);

MK=importdata('MKMATLAB.txt'); % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,

☆九、综合编程:Excel读写。

clear all

close all

clc

[Nm,Nm,c] = xlsread('C:\名单.xls');

[Nm,Nm,C] = xlsread('C:\成绩库.xls');

[n,Nm] = size(c);

[N,Nm] = size(C);

for i= 2:n

c{i,3} = [];

for j = 1:N

if c{i,1} == C{j,2}

c{i,3} = [c{i,3},C{j,4}];

end

end

c{i,3} = max(c{i,3});

end

xlswrite('c:\成绩单.xls',c);

☆十、综合编程:矩阵、元胞、结构体数组的访问和操作,mat文件的使用,动态字段方法。

论述(15)

十一、简述M脚本文件和M函数文件的主要区别。

(1)M脚本文件名不必与函数名相同;(2)M函数文件调用时需要提供函数参数,而M脚本文件只需要提供文件名;

(3)M脚本文件创建的每个变量都会保存到Matlab工作区,而M函数文件只有输出结果才保存到Matlab工作区中;

(4)文件格式上的一些区别

十二、谈谈在MATLAB 编程过程中的一些问题:设置断点、如何单步调试、如何优化提高程序运行速度。

点击在要设置断点的行左侧的-,将其变成圆圈后即设置了断点,也可按F12设置断点。条件断点在debug菜单下的set/modify conditional breakpoint进行设置。

设置断点后按F5运行程序,会在断点处停止运行,按F10可以单步运行调试,以上内容也可在Debug菜单下和工具条(第一条)中找到。

----------------------------------------------- The End-------------------------------------- 综合编程题和论述题,一定有。老师要求实验报告考试当场上交。

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练习题及答案

第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习题及答案

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基础练习题带复习资料

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 1. 执行下列指令,观察其运算结果, 理解其意义: (1) [1 2;3 4]+10-2i (2) [1 2; 3 4].*[0.1 0.2; 0.3 0.4] (3) [1 2; 3 4].\[20 10;9 2] (4) [1 2; 3 4].^2 (5) exp([1 2; 3 4]) (6)log([1 10 100]) (7)prod([1 2;3 4]) (8)[a,b]=min([10 20;30 40]) (9)abs([1 2;3 4]-pi) (10) [1 2;3 4]>=[4,3;2 1] (11)find([10 20;30 40]>=[40,30;20 10]) (12) [a,b]=find([10 20;30 40]>=[40,30;20 10]) (提示:a 为行号,b 为列号) (13) all([1 2;3 4]>1) (14) any([1 2;3 4]>1) (15) linspace(3,4,5) (16) A=[1 2;3 4];A(:,2) 2. 执行下列指令,观察其运算结果、变量类型和字节数,理解其意义: (1) clear; a=1,b=num2str(a),c=a>0, a= =b, a= =c, b= =c (2) clear; fun='abs(x)',x=-2,eval(fun),double(fun) 3. 本金K 以每年n 次,每次p %的增值率(n 与p 的乘积为每年增值额的百分比)增加,当增加到rK 时所花费的时间为 ) 01.01ln(ln p n r T += (单位:年) 用MA TLAB 表达式写出该公式并用下列数据计算:r =2, p =0.5, n =12. 4.已知函数f (x )=x 4 -2x 在(-2, 2)内有两个根。取步长h =0.05, 通过计算函数值求得函数的最小值点和两个根的近似解。(提示:求近似根等价于求函数绝对值的最小值点) ? 5. (1) 用z=magic(10)得到10阶魔方矩阵; (2) 求z 的各列元素之和; (3) 求z 的对角线元素之和(提示:先用diag(z)提取z 的对角线); (4) 将z 的第二列除以3;

MATLAB复习题(答案仅供参考)1

一、填空题 1. MATLAB命令窗口中可用clear 命令清除工作区中的变量;用clc 命令清除命令窗口中的内容。 2. MATLAB中的运算符包括数学运算符、矩阵运算符、数组运算符。 3 MATLAB的含义为矩阵运算。 4. MATLAB中的函数类型有嵌套函数、主函数、子函数、私有函数和匿名函数。 5. MATLAB中用系统预定义的特殊变量nargin 表示函数输入参数个数。 6. size命令的功能确定数组大小。 7. MATLAB中用linspace 符号定义单元数组。 8. MATLAB中用hold on 命令打开图形保持功能。 9 MATLAB中如果一个变量名为123,该变量名是否合法否(填是或否)。 10. MATLAB中用inv 函数完成矩阵的求逆运算,用det 函数求矩阵的行列式。 11.已知C={2+5i,’Hi’;1:4,[1 2]} 输入s=C(3) 即s=__'_Hi__'___. 12.先输入P=struct(‘name’,’Jack‘,’num’,43) ,再输入s= 即s=___Jack___. 13.当x=[ 1 2 3; 4 5 6] , y=[ 5 8; 5 8 ] 时,__不能__(能﹨不能)使用plot 命令绘图。 14.sym 或syms _能_______(能﹨不能)创建符号矩阵。 15.已知x=3:2:24,则x有__11_个元素。 结构的开始是“if”命令,结束是_end____命令。 17.已知x为一个向量,计算ln(x)的MATLAB命令是计算_log(x)___。 18.命令:>>subplot(3,3,x)中有__9_个子图。 19.已知s=‘显示“hey”’,则s的元素个数是___9__。 y=f() global W W=2 y=f1(5) function y=f() global W y=w+W 创建以上函数文件,在命令窗口中运行“y=f”命令则显示__出错___。 21. MATLAB中用find 函数查找数组中的非零元素,用sort 函数对数组进行排序。 22. MATLAB中的M文件包括M脚本文件和M函数文件。 23. MATLAB中用系统预定义的特殊变量eps 表示浮点数的精度。 24. MATLAB中8位有符号整数用int8 定义。 25. MATLAB中小括号、转置运算符和冒号运算符,具有最高优先级的为转置运算符。 26. MATLAB中用系统预定义的特殊变量nargout 表示函数输出参数个数。 27. MATLAB中用% 符号表示其后为程序注释。 28. 已知矩阵A,则矩阵A的共轭转置可表示为A’。 29. MATLAB中用grid on 命令显示坐标轴下的网格线。 30. MATLAB中如果一个函数名为test,该函数名是否合法是(填是或否)。

matlab习题(1)

1.输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MA TLAB的max函数、min函数来实现。 a=rand(1,20); max1=max(a) %用max函数求最大值 min1=min(a) %用max函数求最大值 %以下用循环方法求解: max2=a(1); min2=a(1); for i=2:20 if a(i)>max2 max2=a(i); end if a(i)> a=rand(1,20) zuidazhi=max(a) zuixiaozhi=min(a) a = Columns 1 through 8 0.7513 0.2551 0.5060 0.6991 0.8909 0.9593 0.5472 0.1386 Columns 9 through 16 0.1493 0.2575 0.8407 0.2543 0.8143 0.2435 0.9293 0.3500 Columns 17 through 20 0.1966 0.2511 0.6160 0.4733 zuidazhi = 0.9593 zuixiaozhi =

0.1386 2. 求Fibonacci数列 (1)大于4000的最小项。 (2)5000之内的项数。 (1) function t=fibonacc1 f=[1,1]; n=2; while 1 f=[f,f(n-1)+f(n)]; n=length(f); if f(n)>4000 break; end end t=f(n); return (2) function n=fibonacc2 f=[1,1]; n=2; while 1 f=[f,f(n-1)+f(n)]; n=length(f); if f(n)>4000 break; end end n=n-1; return 3. 写出下列程序的输出结果: s=0; a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=a for j=1:4 if rem(k(j),2)~=0 s=s+k(j); end end end

matlab练习题和答案

matlab练习题和答案 控制系统仿真实验 Matlab部分实验结果 目录 实验一 MATLAB基本操 作 ............................................................................................ 1 实验二 Matlab编程 .................................................................................................... 5 实验三Matlab底层图形控制 (6) 实验四控制系统古典分析.............................................................................................12 实验五控制系统现代分析 . (15) 实验六 PID控制器的设 计 ...........................................................................................19 实验七系统状态空间设计.............................................................................................23 实验九直流双闭环调速系统仿真 . (25) 实验一 MATLAB基本操作 1 用MATLAB可以识别的格式输入下面两个矩阵 1233,,1443678,i,,,,2357,,,,2335542,i,,,, A,1357B,,,2675342, i,,3239,,,,189543,,,,1894,, 再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。赋值完成后,调 用相应的命令查看MATLAB工作空间的占用情况。 A=[1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4];

Matlab习题与答案

实验二二维/三维数据的可视化 一、实验目的 熟悉掌握简单的图形绘制函数;掌握MATLAB常用的二维、三维图形及其他图形绘制函数的使用方法;熟悉图形句柄的使用。 二、实验环境 硬件环境:计算机一台 软件环境:Matlab 6.0 三、实验内容 作为一个功能强大的工具软件,Matlab具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。 1、二维绘图 (1)plot函数 函数格式:plot(x,y) 其中x和y为坐标向量 函数功能:以向量x、y为轴,绘制曲线。 例1 在区间0≤X≤2 ,绘制正弦曲线Y=SIN(X),其程序为: x=0:pi/100:2*pi; y=sin(x); plot(x,y) 例2同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X),其程序为:x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X 轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。 例3 用不同线型和颜色重新绘制Y1=SIN(X)和Y2=COS(X),其程序为:x=0:pi/100:2*pi; y1=sin(x); y2=cos(x);

plot(x,y1,'go',x,y2,'b-.') 其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。 在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。 title(‘加图形标题'); xlabel('加X轴标记'); ylabel('加Y轴标记'); text(X,Y,'添加文本'); 例4 在坐标范围0≤X≤2π,-2≤Y≤2内重新绘制正弦曲线,其程序为: x=linspace(0,2*pi,60);生成含有60个数据元素的向量X y=sin(x); plot(x,y); axis ([0 2*pi -2 2]);设定坐标轴范围 2、subplot函数 (1)subplot(m,n,p) 该命令将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。 例5 在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程序为:x=linspace(0,2*pi,60); y=sin(x); z=cos(x); t=sin(x)./(cos(x)+eps); eps为系统内部常数 ct=cos(x)./(sin(x)+eps); subplot(2,2,1); 分成2×2区域且指定1号为活动区 plot(x,y); title('sin(x)'); axis ([0 2*pi -1 1]); subplot(2,2,2); plot(x,z); title('cos(x)'); axis ([0 2*pi -1 1]); subplot(2,2,3); plot(x,t); title('tangent(x)'); axis ([0 2*pi -40 40]);

最新Matlab考试题库+答案资料

一、 二、 十一、选择题共10小题二、填空题共10空 三、看程序填空 四、编程题 3题 填空题(计算部分) 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 18.已知A=[1 3;4 6];C=[A,eye(size(A));A ,ones(size(A))] 则C=_____________. [1 3 1 0;4 6 0 1;1 3 1 1;4 6 1 1]_ 19. A=[1,2,3;4,5,6]; A(4)=__________, A(3,2)=__________________ 5_ 无答案 20.A=[1,2;3,4];B=[1,0;0,1]; A*B=__________, A.*B=____________. [1 2;3 4]

MATLAB题库

三亿文库 上亿文档资料,等你来发现 设为首页收藏本站亿万文档,必有所需 MATLAB复习题(答案仅供参考)135 一、填空题;1.MATLAB命令窗口中可用clear命令清除;2.MATLAB中的运算符包括数学运算符、矩阵运;4.MATLAB中的函数类型有嵌套函数、主函数、;5.MATLAB中用系统预定义的特殊变量narg;6.size命令的功能确定数组大小; 7.MATLAB中用linspace符号定义单元;8.MATLAB中用holdon命令打开图形保持;9MATLA 123 一、填空题 1. MATLAB命令窗口中可用 clear 命令清除工作区中的变量;用 clc 命令清除命令窗口中的内容。 2. MATLAB中的运算符包括数学运算符、矩阵运算符、数组运算符。 3 MATLAB 的含义为矩阵运算。 4. MATLAB中的函数类型有嵌套函数、主函数、子函数、私有函数和匿名函数。 5. MATLAB中用系统预定义的特殊变量 nargin 表示函数输入参数个数。 6. size命令的功能确定数组大小。 7. MATLAB中用linspace 符号定义单元数组。

8. MATLAB中用 hold on 命令打开图形保持功能。 9 MATLAB中如果一个变量名为123,该变量名是否合法否(填是或否)。 10. MATLAB中用 inv 函数完成矩阵的求逆运算,用 det 函数求矩阵的行列式。 11.已知C={2+5i,’Hi’;1:4,[1 2]} 输入s=C(3) 即s=__'_Hi__'___. 12.先输入P=struct(‘name’,’ Jack‘,’num’,43) ,再输入s=https://www.360docs.net/doc/0b9400729.html, 即s=___Jack___. 13.当x=[ 1 2 3; 4 5 6] , y=[ 5 8; 5 8 ] 时,__不能__(能﹨不能 )使用plot 命令绘图。 14.sym 或 syms _能_______(能﹨不能 )创建符号矩阵。 15.已知x=3:2:24,则x有__11_个元素。 16.if结构的开始是“if”命令,结束是_end____命令。 17.已知x为一个向量,计算ln(x)的MATLAB命令是计算_log(x)___。 18.命令:>>subplot(3,3,x)中有__9_个子图。 19.已知s=‘显示“hey”’,则s的元素个数是___9__。 20.function y=f() global W W=2 y=f1(5) function y=f() global W y=w+W 创建以上函数文件,在命令窗口中运行“y=f”命令则显示__出错___。 21. MATLAB中用 find 函数查找数组中的非零元素,用 sort 函数对数组进行排序。

matlab习题

1.请登陆美国MathWorks 公司的网站(https://www.360docs.net/doc/0b9400729.html,),查看看现在大概有多少本MATLAB-based books (以MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。哪一个领域的MATLAB-based books 最多?中文书共有几本? 2.若有任何MATLAB/Simulink 技术上的问题,可以直接连到MathWorks 公司的技术支持部网站(https://www.360docs.net/doc/0b9400729.html,/support) 寻求支持。请在技术支持部网站的搜寻引擎输入「Web Server」,看会传回多少和MATLAB Web Server 相关的信息。 3.请在MATLAB中直接输入下列常数,看它们的值是多少: a.i b.j c.eps d.inf e.nan f.pi g.realmax h.realmin 4.请使用lookfor 指令,找出具有下列功能的MATLAB 指令。(每一项只需找出一个相关度最高的MATLAB 指令。) a.找出矩阵的大小(即行维度和列维度) b.改变矩阵的大小(例如将4×6 的矩阵改成12×2) c.将矩阵左右翻转(Left-right flip) d.将矩阵上下翻转(Up-down flip) e.找出矩阵每一列的最大值 f.对矩阵的每一列进行排序 g.矩阵的旋转(Rotate) h.逆矩阵(Inverse matrix)的计算 i.求矩阵的秩(rank) j.计算矩阵的行阶梯矩阵reduced row echelon form

k.计算矩阵的特征值(Eigenvalues)与特征向量(Eigenvectors) l.直角坐标转成极坐标 m.极坐标转成直角坐标 5.写一个MATLAB 小程序findN01.m,求出最小的n 值,使得n! > realmax。请问n 的值是多少?此时(n-1)! 的值又是多少? 6.MATLAB 的sqrt 指令可对任一数值进行开平方的运算。用此指令求出下列各数的平方根,并验算之: a. b.2*i c.-5+12*i 其中i 是单位虚数。 7.写一个MATLAB 函数myFun.m 来计算下列方程式: y = 0.5*exp(x/3)-x*x*sin(x) 其中x 是函数的输入,y 是函数的输出。你的函数必须能够处理当x 是标量或是向量的两种情况。此外,请利用下述两列程序代码来画出此函数的图形: x=0:0.1:10; plot(x, myFun(x)); 8.写一个MATLAB 函数piFun.m 来计算下列级数: f(n) = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...) 其中n 为函数的输入,代表上述级数的项数,级数和f(n) 则是函数的输出。 9.使用tic 和toc 指令来测量piFun(100000) 的计算时间。请说明你的计算机规格以及其计算时间。 10.请写一个函数minxy.m,其功能是由一个二维矩阵中找出小元素,用法如下: [minValue, minIndex] = minxy(matrix)

Matlab考试题库+答案

% 填空题 1、标点符号; %—用来表示该行为注释行。可以使命令行不显示运算结果, 2、x为0~4pi,步长为的向量,使用命令x=0:*pi:4*pi创建。 3、输入矩阵A=,使用全下标方式用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=和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]

(完整版)matlab经典习题及解答

第1章 MATLAB 概论 1.1 与其他计算机语言相比较,MATLAB 语言突出的特点是什么? MATLAB 具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB 系统由那些部分组成? MATLAB 系统主要由开发环境、MATLAB 数学函数库、MATLAB 语言、图形功能和应用程序接口五个部分组成。 1.4 MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB 操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view 菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M 文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动。在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB 中有几种获得帮助的途径? 在MATLAB 中有多种获得帮助的途径: (1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器; (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按Tab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 2.1 在MATLAB 中如何建立矩阵?? ? ???194375,并将其赋予变量a ? >> a=[5 7 3;4 9 1] 2.2 有几种建立矩阵的方法?各有什么优点? 可以用四种方法建立矩阵: ①直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ②通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。

Matlab考试题库+答案

填空题 1、标点符号; %—用来表示该行为注释行。可以使命令行不显示运算结果, 2、x为0~4pi,步长为0.1pi的向量,使用命令 x=0:0.1*pi:4*pi创建。 3、输入矩阵A=,使用全下标方式用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文本格式存储到文件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的对角矩阵函数是 diag ; 求A的下三角矩阵函数是 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)= -1 , round(-1.5)= -2 .

MATLAB习题

习题一 1、通常情况下,MATLAB的工作界面主要由有哪几种窗口构成? 答:指令窗口、历史指令窗口、工作空间浏览器、当前目录浏览器等窗口构成。 2、在MATLAB窗口中,可以键入各种指令、函数,并显示运行结果的窗口为【 A 】 A、指令窗口 B、当前目录浏览器 C、工作空间浏览器 D、历史指令窗口 3、在MATLAB窗口中,可以对内存变量直接进行操作的窗口为【 C 】 A、指令窗口 B、当前目录浏览器 C、工作空间浏览器 D、历史指令窗口 4、在MATLAB窗口中,记录在MATLAB命令窗口执行过的指令操作的窗口为【 D 】 A、指令窗口 B、当前目录浏览器 C、工作空间浏览器 D、历史指令窗口 5、在MATLAB窗口中,用于搜索、查看和改变MATLAB路径和文件的窗口为【 B 】 A、指令窗口 B、当前目录浏览器 C、工作空间浏览器 D、历史指令窗口 6、在MATLAB语言中,如果一个命令行很长,可以在物理行之后如下续行符【 B 】 A、“,” B、“…” C、“、、、” D、“,” 7、在MATLAB语言中,提示其后语句为输入指令的行提示符为【 D 】 A、“;” B、“:” C、“,” D、“>>” 8、在MATLAB语言中,在指令窗口运行过的指令再次调出运行的按键为【 B 】 A、“;” B、“↑”或“↓” C、“,” D、“>>” 9、在MATLAB语言中,若希望结果不被显示,可在语句之后加上符号【 A 】 A、“;” B、“:” C、“,” D、“>>” 10、在MATLAB语言中,下列常用操作命令解释错误的是【BE 】 A、dir为显示当前目录下的文件 B、clc为清除工作区中的变量 C、path为显示搜索目录 D、clf为清空当前图形窗口 E、clear为清除命令窗口中的内容 F、path为显示搜索路径 11、若只知要搜索函数的前两个字母,可用lookfor 命令搜索此关键字的帮助信息。 12、在MATLAB语言中,可采用Tab 键进行模糊查询。 习题二 1、采用MATLAB语言计算

MatLab考试题题库(必做题)(带答案)

MatLab考试题题库(必做题)(带答案) 一, 1.请登陆美国 MathWorks 公司的网站 (https://www.360docs.net/doc/0b9400729.html,),查看看现在大概有多少本 MATLAB-based books (以 MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。哪一个领域的 MATLAB-based books 最多?中文书共有几本? 答:1612本,数学方面的最多,中文书共有37本。 2.请在 MATLAB中直接输入下列常数,看它们的值是多少: a.i b.j c.eps d.inf e.nan f.pi g.realmax h.realmin 依次解为:ans = 0 + 1.0000i ans = 0 + 1.0000i ans =2.2204e-016 ans =Inf ans = NaN ans =3.1416 ans = 1.7977e+308 ans = 2.2251e-308 3.试写一函数 regPolygon(n),其功能为画出一个圆心在 (0, 0)、半径为 1 的圆,并在圆内画出一个内接正 n 边形,其中一顶点位于 (0, 1)。例如 regPolygon(8) 可以画出如下之正八边型:

解:新建regPolygon.m文件如下: function y=regPolyfon(n) n=8;%要画的n边形 R=1; %圆的半径 t=0:0.01:2*pi; x=R*cos(t); y=R*sin(t); m=linspace(pi/2,5/2*pi,n+1); xz=R*cos(m); yz=R*sin(m); hold on plot(x,y,xz,yz); axis 'equal'; 4.一条参数式的曲线可由下列方程式表示: x = sin(t), y = 1 - cos(t) + t/10 当 t 由 0 变化到 4*pi 时,请写一个 MATLAB 的脚本 plotParam.m,画出此曲线在 XY 平面的轨

相关主题
相关文档
最新文档