文档库 最新最全的文档下载
当前位置:文档库 › matlab总练习题(完整版)

matlab总练习题(完整版)

matlab总练习题(完整版)
matlab总练习题(完整版)

>> vpa('pi',20)

ans =

3.1415926535897932385

>> vpa('exp(1)',20)

ans =

2.7182818284590452354

>> x=linspace(-pi,pi,21);

>> y=sin(x)

y =

Columns 1 through 6

-0.0000 -0.3090 -0.5878 -0.8090 -0.9511 -1.0000 Columns 7 through 12

-0.9511 -0.8090 -0.5878 -0.3090 0 0.3090 Columns 13 through 18

0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 19 through 21

0.5878 0.3090 0.0000

>> k=1:1000;

>> kk=1./k;

>> kkk=kk./k;

>> res=sum(kkk)-(pi^2)/6

res =

-9.9950e-04

%承接上题

>> sum(kk)-log(1000) ans =

0.5777

>> power(1+eps,1/eps) ans =

2.7183

>> a=rand(2,3)

a =

0.8147 0.1270 0.6324

0.9058 0.9134 0.0975 >> x=a(1,:)

x =

0.8147 0.1270 0.6324 >> y=a(2,:)

y =

0.9058 0.9134 0.0975 >> norm(x)

ans =

1.0391

>> norm(y)

ans =

1.2900

>> acos(dot(x,y)/norm(x)/norm(y))

ans =

0.8189

>> rand(3,3)

ans =

0.2785 0.9649 0.9572

0.5469 0.1576 0.4854

0.9575 0.9706 0.8003

>> det(ans)

ans =

0.2937

线性无关

a =

0.3922 0.7060

0.6555 0.0318

0.1712 0.2769

>> x=a(1,:)

x =

0.3922 0.7060

>> y=a(2,:)

y =

0.6555 0.0318

>> z=a(3,:)

z =

0.1712 0.2769

>> alpha=x-z

alpha =

0.2210 0.4291

>> beta=y-z

beta =

0.4843 -0.2451

>> alpha=[alpha 0]

alpha =

0.2210 0.4291 0

>> beta=[beta 0]

beta =

0.4843 -0.2451 0 >> cross(alpha,beta)

ans =

0 0 -0.2620 面积0.2620

>> a=11:19;

>> b=a;

>> for k=1:8

b=[b;a+10*k];

end

>> rank(b)

ans =

2

>> a=vander(1:9);

>> b=fliplr(a)

b =

Columns 1 through 5

1 1 1 1 1

1 2 4 8 16

1 3 9 27 81

1 4 16 64 256

1 5 25 125 625

1 6 36 216 1296

1 7 49 343 2401

1 8 64 51

2 4096

1 9 81 729 6561 Columns 6 through 9

1 1 1 1

32 64 128 256

243 729 2187 6561

1024 4096 16384 65536

3125 15625 78125 390625

7776 46656 279936 1679616

16807 117649 823543 5764801

32768 262144 2097152 16777216

59049 531441 4782969 43046721

>> det(b)

ans =

5.0566e+15

方式一>> f=@(x,y) exp(x+y)+sin((x^2)+(y^2))

f =

@(x,y)exp(x+y)+sin((x^2)+(y^2))

>> f(1,2)

ans =

19.1266

方式二

function f=myfunfun(x,y)

f=exp(x+y)+sin((x^2)+(y^2));

>> myfunfun(1,2)

ans =

19.1266

>>

Char

1.4142135623730950488016887242096980785696718753769480731766797379907324784621 070388503875343276415727

>> a=ans;

>> sqrt2char(3-2)=a(3)

sqrt2char =

414213562373095048801688724209698078569671875376948073176679737990732478462107 0388503875343276415727

>> for x=1:100

b(x)=str2num(sqrt2char(x))

end

>> sum(b)/100

ans =

4.8100

f=@(x) (x^3)*sin(x)+(x^2)/3+x*cos(x) f =

@(x)(x^3)*sin(x)+(x^2)/3+x*cos(x) >> ezplot(f,-2,1)

>> x0=fzero(f,-1)

x0 =

-0.7889

另一根为0,是显然的

function y=difun(x)

if x<-pi

y=-x-pi;

elseif x>-pi & x

y=sin(x);

else

y=(x-pi)/2;

end

end

>> y=[]

y =

[]

>> for x=-6:0.05:6

y=[y difun(x)];

end

>> plot(x,y)

>> plot([-6:0.05:6],y)

>> pi/4

ans =

0.7854 %pi/4的理想值矩形公式:

function y=rectangle(n)

x=0:1/n:1;

a=1./(1+x.*x);

y=sum(a)*(1/n);

end

>> rectangle(1000)

ans =

0.7861

>> rectangle(10000)

ans =

0.7855

>> rectangle(100000)

ans =

0.7854

梯形公式:

function y=trapezoid(n)

x=0:1/n:1;

a=1./(1+x.*x);

begin=a(1);

endd=a(n+1);

a(1)=0;

a(n)=0;

y=sum(a)*(1/n)+begin*(1/n)*0.5+endd*(1/n)*0.5; end

trapezoid(1000)

ans =

0.7854

>> trapezoid(100)

ans =

0.7853

Simpson 公式

function y=simpson(n)

x=0:1/n:1;

a=thefun(x);

begin=a(1);

endd=a(n+1);

medium=[];

for x=1:n

medium=[medium (a(x)+a(x+1))*0.5];

end

a(1)=0;

a(n)=0;

y=begin*(1/n)*(1/6)+endd*(1/n)*(1/6)+sum(a)*(1/n)*(1/3)+sum(medium)*( 1/n)*(1/6)*4;

end

function e=thefun(r)

e=1./(1+r.*r);

end

>> simpson(100)

ans =

0.7854

>> simpson(10)

ans =0.7832

>> A=[6 2 1 -1;2 4 1 0;1 1 4 -1;-1 0 -1 3];

>> b=[6 1 5 -5]';

>> x=A\b

x =

0.7906

-0.3613

0.8639

-1.1152

>> [diag(1:4) eye(4)]

ans =

1 0 0 0 1 0 0 0

0 2 0 0 0 1 0 0

0 0 3 0 0 0 1 0

0 0 0 4 0 0 0 1

function yh=yhsj(n) yh=1;

disp(1);

for k=2:n

yh=[yh,0]+[0,yh]; disp(yh)

end

end

% n=11运行

>> x=sym('x');

>> f=sqrt(1+((4/9)*x^(1/2))^2)

f =

((16*x)/81 + 1)^(1/2)

>> a=sym('a');

>> b=sym('b');

>> int(f,a,b)

ans =

(16*b + 81)^(3/2)/216 - (16*a + 81)^(3/2)/216

>> t=sym('t');

>> a=sym('a');

>> x=a*(t-sin(t))

x =

a*(t - sin(t))

>> y=a*(1-cos(t))

y =

-a*(cos(t) - 1)

>> dx=diff(x)

dx =

-a*(cos(t) - 1)

>> dy=diff(y)

dy =

a*sin(t)

>> int(sqrt(dx^2+dy^2),0,2*pi)

ans =

8*(a^2)^(1/2)

>> p=polyfit([-pi -pi/2 0 pi/2 pi],[0 -1 0 1 0],5)

p =

Columns 1 through 5

-0.0349 0.0000 0.3440 -0.0000 0 Column 6

-0.0000

>> plot([-pi:pi/100:pi],polyval(p,-pi:pi/100:pi));

>> hold on

>> plot([-pi:pi/100:pi],sin(-pi:pi/100:pi));

>>

function a=num2p(n)

strr=num2str(n);

index=size(strr);

indexx=index(2);

a=[];

for k=indexx-1:-1:0

a=[a rem(fix(n/(10^k)),10)];

end

end

>> num2p(95489298494)

ans =

Columns 1 through 8

9 5 4 8 9 2 9 8 Columns 9 through 11

4 9 4

function ppi=ttry(n)

pointx=-1+2*rand(1,n);

pointy=-1+2*rand(1,n);

index=pointx.*pointx+pointy.*pointy; indexx=index<=1;

ppi=4*sum(indexx)/n;

end

>> ttry(100)

ans =

3.1200

>> ttry(10000)

ans =

3.1376

function y=collatz(n)

if n==1

y=1

return;

else

if rem(n,2)==0

n=n/2;

else

n=3*n+1;

end

n

y=collatz(n);

>> collatz(12) n =

6

n =

3

n =

10

n =

5

n =

16

n =

8

n =

4

n =

2

1

y =

1

>> f=@(x) 1./(1+x.^2)

f =

@(x)1./(1+x.^2)

>> y=f(x);

>> x=0:0.1:1;

>> y=f(x);

>> p=polyfit(x,y,5)

p =

Columns 1 through 5

-0.2372 0.3529 0.5071 -1.1343 0.0115 Column 6

0.9999

>> intp=polyint(p)

intp =

Columns 1 through 5

-0.0395 0.0706 0.1268 -0.3781 0.0058 Columns 6 through 7

0.9999 0

>> res1=polyval(intp,1)-polyval(intp,0)

res1 =

0.7854 %这是插值拟合解

>> atan(1)

ans =

0.7854 %actan(1)公式解

fid=fopen('C:\陈民权的文档2\matlab作业\pi_1m.txt','r') fid =

3

>> b=fscanf(fid,'%s');

>> fclose(fid)

ans =

>> b(1:55)=[];

编辑“givemerun.m”文件:

y=1;

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实验题答案

1、求以下变量的值,并在MATLAB中验证。( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么?如合法, 结果是多少? >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 5 8 11 >> result4=b*d result4 = 31 22 22 40 49 13 >> result5=[b;c']*d result5 = 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 4 1 5 30 >> result7=a./b result7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000>> result8=a.c Attempt to reference field of non-structure array. >> result9=a.\b result9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 >> result10=a.^2 result10 = 1 4 9 16 25 36 >> result11=2.^a result11 = 2 4 8 16 32 64 3、用MATLAB求解下面的的方程组。 (1) ? ? ? ? ? ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - 1 7 4 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 4 3 2 1 x x x x >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B (2) ? ? ? ? ? ? ? = - + + = - - = - + + = + + 5 6 5 3 3 3 3 2 8 2 1 w z y x w y x w z y x z y x >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 4、已知 ? ? ? ? ? ? ? ? ? ? ? ? - - - - = 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 A

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基础练习题带答案

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

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实验题答案

result5 = ( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么如合法, 结果是多少 >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 58 11 >> result4=b*d result4 = 31 22 22 40 49 13 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 415 30 >> result7=a./b result7 = >> result8= Attempt to reference field of non-structure array. >> result9=a.\b result9 = >> result10=a92 result10 = 1 4 9 16 25 36 >> resultl 1=29a result11 = 2 4 8 16 32 64 >> result5=[b;c']*d 3、用MATLAB求解下面的的方程组。 1、求以下变量的值,并在MATLAB^验证。

1 2 x1 3 2 x2 11 5 x3 2 1 3 x4 >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 7 2 1 2 9 15 3 2 2 2 11 5 1 3 2 13 (1)求矩阵A的秩(rank) (2)求矩阵 A 的行列式(determinant) (3)求矩阵 A 的逆(inverse) (4)求矩阵 A 的特征值及特征向量 (eigenvalue and eigenvector) >> A3=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> r=rank(A3) >> b=inv(A3) >> a=det(A3) >> [V,D]=eig(A3) 10 n 10 查看y 的值) m1=0; for m=-10:10 m仁m1+2^m; end m1 m1 = 6、求分段函数的值。 用if 语句实现,算出下列表中x 对应的y 值。 x=input('enter x='); if x<0 y=x A2+x-6; elseif x>=0&&x<5 y=xA2-5*x+6; else y=xA2-x-1; end y 7、分别用if 和switch 语句实现,将百分 制成绩转换为成绩等级A、B、C、D、E。 其中90~1 00分为A,80~89 分为B,70~79 分为C,60~69 分为D,60 分以下为E。 对超出百分制范围的成绩,给出错误提示 信息。 if 结构程序: x=input('please enter score='); if x>=90&&x<=100 9 2 10 disp('A') 7 2 9 15 (1) 2 2 1 3 4 7 1 0 A 4、已知 2n 2 10 29

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期末考试试卷及其参考答案

MATLAB期末考试试卷及其参考答案 一、填空题(每空1分,20分) 1、MATLAB常用操作界面包括、工作空间窗口、 、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。 2、MATLAB中Inf或inf表示、NaN或nan表示、 nargout表示。 3、MATLAB中逗号主要用作; 用作输入量与输入量之间的分隔符;。 4、工作空间浏览器主要用于内存变量的、和。 5、MATLAB实现将全下标转换为单下标的指令为、据单下标换 算出全下标的指令为。 6、二维数组的标识有、、“逻辑1”标识。 7、在一个元胞数组A中寻访第2行第3列元胞元素用;寻访数组第2行第3列元胞中所存的内容用。 8、4、MATLAB中clf用于、clc用 于、 clear用于。 二、简答题(每题5分,共20分) 1、简述MA TLAB历史指令窗的主要作用。 2、简述空数组的功用。 3、简述MATLAB函数的基本结构。 4、简述绘制二维图形的一般步骤。 三、阅读程序并回答问题(每题4分,共28分) 1、写出下列指令运行结果。 A=zeros(2,4); A(:)=1:8;

s=[2 3 5]; A(s) Sa=[10 20 30]' A(s)=Sa 2、写出下列指令运行结果。 A=reshape(1:16,2,8) reshape(A,4,4) s=[1 3 6 8 9 11 14 16]; A(s)=0 3、写出下列指令运行结果。 A=[1,2;3,4]; B=[-1,-2;2;1]; S=3; A.*B A*B S.*A S*B 4、下面的函数主要完成什么功能? function f=factor(n) if n<=1 f=1; else f=factor(n-1)*n; end 5、写出下列指令运行结果。 ch=‘ABc123d4e56Fg9’; subch=ch(1:5) revch=ch(end:-1:1)

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

第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、掌握一维数组、二维数组创建和寻访的几种方法。 2、区别数组运算和矩阵运算的差别。 3、熟悉执行数组运算的常用数组操作函数。 4、掌握数组运算中的关系和逻辑操作及常用的关系、逻辑函数。 5、掌握“非数”、“空”数组在MA TLAB中的应用。 二、实验主要仪器与设备 装配有MA TLAB7.6软件的计算机 三、预习要求 做实验前必须认真复习第三章MATLAB的数值数组及向量化运算功能。 四、实验内容及实验步骤 1、一维数组的创建方法有哪几种?举例说明。 答:一维数组的创建方法有: ①递增/递减型一维数组的创建:冒号生成法:x=a:inc:b 线性(或对数)定点法:x=linspace(a,b,n),x=logspace(a,b,n) ②逐个元素输入法:如x=[0.1,sin(pi/5),-exp(-3),-2*pi] ③运用MA TLAB函数生成法:例ones,rand等。 2、输入以下指令,并写出运行结果。本例演示:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。 A=zeros(2,6) %创建(2×6)的全零数组 A(:)=1:12 %赋值号左边:单下标寻访(2×6) 数组A的全部12个元素 %赋值号右边:拥有12个元素的一维数组 A(2,4) %双下标:A数组的第2行第4列元素 A(8) %单下标:数组A的第8个元素 A(: , [1,3]) %双下标:显示A的“第1列和第3列上全部行的元素” A([1, 2, 5, 6]') %单下标:把A数组第1,2,5,6个元素排成列向量 A(: , 4:end) %双下标:显示A的“从第4起到最后一列上全部行的元素” %在此end用于“列标识”,它表示“最后一列” A(2,1:2:5)=[-1, -3, -5] %把右边的3个数分别赋向A数组第2行的第1,3,5个元素位置 B=A([1, 2, 2, 2], [1, 3, 5]) %取A数组的1,3,5列的第1行元素作为B的第1行 %取A数组的1,3,5列的第2行分别作为B的第2,3,4行 L=A<3 %产生与A维数相同的“0,1”逻辑数组 A(L)=NaN %把逻辑1标识的位置上的元素赋为“非数” 运行结果: A = 0 0 0 0 0 0 0 0 0 0 0 0

MATLAB试卷

MATLAB试卷 一、选择题(每空2分,总共20分) 1.下列哪个变量的定义是不合法的() (A) abcd-3 (B) xyz_3 (C ) abcdef (D) x3yz 2.下列哪条指令是求矩阵的行列式的值() (A)inv (B) diag (C ) det (D) eig 3.在循环结构中跳出循环,执行循环后面代码的命令为() (A) return (B) break (C) continue (D) keyboard 4.已知a=2:2:8, b=2:5,下面的运算表达式中,出错的 为() (A) a'*b (B) a .*b (C) a*b (D) a-b 5.用round函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为() (A) [2 6 3 8] (B) [2 6 4

8] (C) [2 6 4 9] (D) [3 7 4 9] 6. 下面的程序执行后array的值为( ) for k=1:10 if k>6 break; else array(k) = k; end end (A) array = [1, 2, 3, 4, 5, 6] (B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] (C) array =6 (D) array =10. 7.下列关于脚本文件和函数文件的描述中不正确的是( ) A. 去掉函数文件第一行的定义行可转变成脚本文件; B. 函数文件可以在命令窗口直接运行; C. 脚本文件可以调用函数文件; D. 函数文件中的第一行必须以function开始;

8.对应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 9.设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] 10.使用下列哪一条指令可以将图形窗体分割成二行三列,并且将第二行第二列的绘图区域设置为当前的绘图区域() A.subplot(3,2,2) B.subplot(2,3,2) C.subplot(3 ,2,5) D.subplot(2,3,5)

MATLAB实验练习题(计算机)-南邮-MATLAB-数学实验大作业答案

“”练习题 要求:抄题、写出操作命令、运行结果,并根据要求,贴上运行图。 1、求230x e x -=的所有根。(先画图后求解)(要求贴图) >> ('(x)-3*x^2',0) = -2*(-1/6*3^(1/2)) -2*(-11/6*3^(1/2)) -2*(1/6*3^(1/2)) 3、求解下列各题: 1)30 sin lim x x x x ->- >> x;

>> (((x))^3) = 1/6 2) (10)cos ,x y e x y =求 >> x; >> ((x)*(x),10) = (-32)*(x)*(x) 3)2 1/2 0(17x e dx ?精确到位有效数字) >> x; >> ((((x^2),0,1/2)),17) =

0.54498710418362222 4)4 2 254x dx x +? >> x; >> (x^4/(25^2)) = 125*(5) - 25*x + x^3/3 5)求由参数方程arctan x y t ??=? =??dy dx 与二阶导 数22 d y dx 。 >> t; >> ((1^2))(t); >> ()() = 1

6)设函数(x)由方程e所确定,求y′(x)。>> x y; *(y)(1); >> ()() = (x + (y)) 7) sin2 x e xdx +∞- ? >> x; >> ()*(2*x); >> (y,0) = 2/5

8) 08x =展开(最高次幂为) >> x (1); taylor(f,0,9) = - (429*x^8)/32768 + (33*x^7)/2048 - (21*x^6)/1024 + (7*x^5)/256 - (5*x^4)/128 + x^3/16 - x^2/8 + 2 + 1 9) 1sin (3)(2)x y e y =求 >> x y; >> ((1)); >> ((y,3),2) =

Matlab实验指导书(含答案)汇总

实验一:Matlab操作环境熟悉 一、实验目的 1.初步了解Matlab操作环境。 2.学习使用图形函数计算器命令funtool及其环境。 二、实验内容 熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算: 1.单函数运算操作。 求下列函数的符号导数 (1) y=sin(x); (2) y=(1+x)^3*(2-x); 求下列函数的符号积分 (1) y=cos(x); (2) y=1/(1+x^2); (3) y=1/sqrt(1-x^2); (4) y=(x-1)/(x+1)/(x+2); 求反函数 (1) y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2)); 代数式的化简 (1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4); (2) sin(x)^2+cos(x)^2; (3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x); 2.函数与参数的运算操作。 从y=x^2通过参数的选择去观察下列函数的图形变化 (1) y1=(x+1)^2 (2) y2=(x+2)^2 (3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作 求和 (1) sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5 乘积 (1) exp(-x)*sin(x)

MATLAB期末上机试题带答案

MATLAB 期末上机考试试题带答案版 姓名: 学号: 成绩: 1.请实现下图: 50 100 150 200 250 -1 -0.8-0.6-0.4-0.200.20.40.60.81x y y=sin(x) x=linspace(0,8*pi,250); y=sin(x); plot(x,y) area(y,-1) xlabel('x') ylabel('y') title('y=sin(x)') 2.请实现下图: x=linspace(0,2*pi,100); y1=sin(x); subplot(2,2,1) plot(x,y1,'k--') grid on xlabel('x') ylabel('y') title('sin(x)') legend('y=sin(x)') y2=cos(x);

subplot(2,2,2) plot(x,y2,'r--') grid on xlabel('x') ylabel('y') title('cos(x)') legend('y=cos(x)') y3=tan(x); subplot(2,2,3) plot(x,y3,'k-') grid on xlabel('x') ylabel('y') title('tan(x)') legend('y=tan(x)') y4=cot(x); subplot(2,2,4) plot(x,y4) grid on xlabel('x') ylabel('y') title('cot(x)') legend('y=cot(x)') 3.解方程组: a=[3 2 1;1 -1 3;2 4 -4]; b=[7;6;-2] ; x=a\b 4.请实现下图: 2 4 6 8 10 12 14 -1-0.8-0.6-0.4-0.200.20.40.60.81x y '自己的姓名' sin(x)sin(2*x) x=linspace(0,4*pi,1000); y1=sin(x);

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%折扣

相关文档