文档库 最新最全的文档下载
当前位置:文档库 › matlab第九章答案

matlab第九章答案

matlab第九章答案
matlab第九章答案

第九章

5、

>> x=[0:1:24];y=[15,14,14,14,14,15,16,18,20,22,23,25,28,31,32,31,29,27,25,24,22,20,18,17,16]; >> p=polyfit(x,y,2)

p =

-0.0936 2.5943 8.4157

拟合为为二次函数形式为:-0.0936*x^2+2.5943*x+8.4157

6、

>> clear;

t=[0.5 1 2 3 4 5 7 9];V=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63];

plot(t,V,'o');

fun1=inline('10-(10-a(1))*exp(-t/a(2))','a','t');

format short g;

a=nlinfit(t,V,fun1,[5 3]);

x=min(t):0.1:max(t);

y=10-(10-a(1))*exp(-x/a(2));

plot(t,V,'o',x,y)

a

a =

5.5577 3.5002

0123456789

66.5

7

7.5

8

8.5

9

9.5

10

8、 >> data=[2 106.42;3 109.20;4 109.58;5 109.50;7 110;8 110.49;11 110.59;14 110.6;15 110.9;15 110.76;18 111;19 111.2];

>> h=data(:,1);w=data(:,2);

>> subplot(1,3,1);plot(h,w,'o');

01020

106107

108

109

110

111

112

由散点图可以看出线性关系较明显。

x1=[2 3 4 5 7 8 10 11 14 15 15 18 19]';

y=[106.42 109.20 109.58 109.50 110.00 109.93 110.49 110.59 110.60

110.90 110.76 111.00

111.20]';

x=[ones(13,1),x1];

[b,bint,r,rint,stats]=regress(y,x,alpha);

b,bint,stats,rcoplot(r,rint)

b =

108.2581

0.1742

bint =

107.2794 109.2367

0.0891 0.2593

stats =

0.6484 20.2866 0.0009 0.5965

线性相关系数较小,线性回归模型在alpha>0.0009成立第一个点为异常点(仅指线性模型下),予以剔除

>> alpha=0.05;

x1=[3 4 5 7 8 10 11 14 15 15 18 19]';

y=[109.20 109.58 109.50 110.00 109.93 110.49 110.59 110.60 110.90 110.76 111.00 111.20]'; x=[ones(12,1),x1];

[b,bint,r,rint,stats]=regress(y,x,alpha);

b,bint,stats,rcoplot(r,rint)

b =

109.0668

0.1159

bint =

108.8264 109.3072

0.0958 0.1360

stats =

0.9428 164.8060 0.0000 0.0267

剔除第一个点后线性系数和p值都变得好了很多。没有异常点。

线性模型为:

9、(1)、

>> x=[0.25,0.30,0.39,0.45,0.53];y=[0.5,0.5477,0.6245,0.6708,0.7280];

>> pp=spline(x,y)

pp =

form: 'pp'

breaks: [0.2500 0.3000 0.3900 0.4500 0.5300]

coefs: [4x4 double]

pieces: 4

order: 4

dim: 1

>> pp2=csape(x,y,'complete',[1,0.6868]);pp2.coefs

ans =

1.8863 -1.0143 1.0000 0.5000

0.7952 -0.7314 0.9127 0.5477

0.6320 -0.5167 0.8004 0.6245

0.3151 -0.4029 0.7452 0.6708

四个分段三次多项式为:

1.8863(x-0.25)^3-1.0143(x-0.25)^2+(x-0.25)+0.5; 0.25<=x<=0.3;

0.7952(x-0.3)^3-0.7314(x-0.3)^2+0.9127(x-0.3)+0.5477;0.3<=x<=0.39;

0.6320(x-0.39)^3-0.5167(x-0.39)^2+0.8004(x-0.39)+0.6245;0.39<=x<=0.45;

0.3151(x-0.45)^3-0.40297(x-0.45)^2+0.7452(x-0.45)+0.6078; 0.45<=x<=0.53;

0.250.30.350.40.450.50.550.6

0.50.55

0.6

0.65

0.7

0.75

(2)、

>> pp3=csape(x,y,'second',[0,0]);pp3.coefs

ans =

-6.2652 0.0000 0.9697 0.5000

1.8813 -0.9398 0.9227 0.5477

-0.4600 -0.4318 0.7992 0.6245

2.1442 -0.5146 0.7424 0.6708

四个分段三次多项式为:

-6.2652(x-0.25)^3 +0.9697(x-0.25)+0.5; 0.25<=x<=0.3;

1.8813(x-0.3)^3-0.9398(x-0.3)^2+0.9227(x-0.3)+0.5477;0.3<=x<=0.39;

-0.46(x-0.39)^3-0.4318(x-0.39)^2+0.7992(x-0.39)+0.6245;0.39<=x<=0.45;

2.1442(x-0.45)^3-0.5146(x-0.45)^2+0.7424(x-0.45)+0.6078; 0.45<=x<=0.53;

0.250.30.350.40.450.50.550.6

0.50.55

0.6

0.65

0.7

0.75

10、

11、

>> x=[100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400];

>> y=[100,100,100,100,200,200,200,200,300,300,300,300,400,400,400,400];

>> z=[636,697,624,478,698,712,630,478,680,674,598,412,662,626,552,334];

>> xi=100:10:400;yi=[100:10:400]';

>> ZI=griddata(x,y,z,xi,yi,'cubic');

>> subplot(2,2,4);mesh(xi,yi,ZI);

400

12、

收入 x1 价格 x2 需求量y

x1=[1000 600 1200 500 300 400 1300 1100 1300 300];

>> x2=[5 7 6 6 8 7 5 4 3 9];

>> y=[100 75 80 70 50 65 90 100 110 60]';

>> x=[x1' x2'];

>> rstool(x,y)

beta=111.6918 0.0143 -7.1882

rmse = 7.2133

所以y=111.6918+0.0143x1-7.2133x2

当x1=1000,x2=6时y=82.712

13、

>> x1=[1.5 4.5 5.0 2.0 8.5 6.0 13.5 8.0 12.5 7.5 6.5 8.0 7.5 8.0 7.5 12.0 6.0 2.5 5.0 7.5 6.0]'; >> x2=[1 2 2 0 3 3 1 1 1 2 3 1 2 2 1 1 0 3 0 1 0]';

>> y=[35 63 66 17 94 79 93 66 94 82 78 65 77 75 62 85 43 57 33 65 33]';

>> x=[ones(21,1),x1,x2];

>> [b,bint,r,rint,stats]=regress(y,x,0.05)

b =

8.1054

5.4659

13.2166

bint =

2.8933 1

3.3175

4.8761 6.0557

11.4177 15.0154

r =

5.4792

3.8649

4.1319

-2.0372

-0.2154

-1.5506

-2.1117

0.9508

4.3542

6.4671

-5.2836

-0.0492

1.4671

-3.2658

-0.3163

-1.9128

2.0992

-4.4199

-2.4349

2.6837

-7.9008

rint =

-1.5566 12.5150

-3.9998 11.7295

-3.7474 12.0112

-9.2107 5.1363

-7.9219 7.4912

-9.2723 6.1711

-9.2825 5.0591

-7.2757 9.1773

-2.8639 11.5723

-1.0703 14.0046

-12.5774 2.0103

-8.2900 8.1915

-6.7252 9.6595

-11.3021 4.7705

-8.5730 7.9405

-9.5299 5.7043

-5.6721 9.8705

-11.3932 2.5533

-10.1065 5.2367

-5.4605 10.8280

-14.6336 -1.1681

stats =

0.9709 300.2412 0.0000 15.4872 >> rcoplot(r,rint)

24681012

14161820-15-10

-5

5

10

Residual Case Order Plot

R e s i d u a l s Case Number

由上面的残差向量分布图可以看出第21个点存在异常,所以去除第21个点。

>> x1=[1.5 4.5 5.0 2.0 8.5 6.0 13.5 8.0 12.5 7.5 6.5 8.0 7.5 8.0 7.5 12.0 6.0 2.5 5.0 7.5]'; >> x2=[1 2 2 0 3 3 1 1 1 2 3 1 2 2 1 1 0 3 0 1]';

>> y=[35 63 66 17 94 79 93 66 94 82 78 65 77 75 62 85 43 57 33 65]';

>> x=[ones(20,1),x1,x2];

>> [b,bint,r,rint,stats]=regtess(y,x,0.05)

>> [b,bint,r,rint,stats]=regress(y,x,0.05)

b =

9.7966

5.4160

12.5843

bint =

4.9528 14.6404

4.8912

5.9409

10.8997 14.2690

r =

4.4950

3.6626

3.9545

-3.6287

0.4140

-1.0458

-2.4976

0.2907

3.9185

6.4144

-4.7539

-0.7093

1.4144

-3.2936

-1.0013

-2.3735

0.7071

-4.0897

-3.8768

1.9987

rint =

-1.7379 10.7280

-3.2742 10.5993

-2.9827 10.8918

-9.6148 2.3574

-6.4073 7.2354

-7.9053 5.8136

-8.7943 3.7992

-7.0058 7.5873

-2.4525 10.2895

-0.0637 12.8925 -11.1731 1.6654

-7.9978 6.5793

-5.8558 8.6846 -10.3747 3.7875

-8.2941 6.2916

-9.0677 4.3207

-6.1430 7.5573 -10.2253 2.0460 -10.3474 2.5938

-5.2368 9.2343

stats =

0.9759 343.8765 0.0000 12.0793

>> rcoplot(r,rint)

24681012

14161820-10

-5

5

10

Residual Case Order Plot

R e s i d u a l s Case Number

由该残差分布图可以看出,残差基本分布在0附近,所以可以认为误差的正态性假设是合理的。

所以得到的回归模型是:y=9.7966+5.4160x1+12.5843x2

14、

>> x1=[120 140 190 130 155 175 125 145 180 150]';

>> x2=[100 110 90 150 210 150 250 270 300 250]';

>> y=[102 100 120 77 46 93 26 69 65 85]';

>> subplot(1,3,1);plot(x1,y,'o');

>> subplot(1,3,2);plot(x2,y,'o');

分别画出y 关于x1和y 关于x2之间的散点图如下:

1001502002030

40

50

60

70

80

90

100

110

120

0200400

2030405060708090100110

120

可以看出y 与x2之间有较明显的线性关系

>> x1=[120 140 190 130 155 175 125 145 180 150]';

>> x2=[100 110 90 150 210 150 250 270 300 250]';

>> y=[102 100 120 77 46 93 26 69 65 85]';

>> x=[ones(10,1),x1,x2];

>> [b,bint,r,rint,stats]=regress(y,x);

>> b,bint,stats

b =

66.5176

0.4139

-0.2698

bint =

-32.5060 165.5411

-0.2018 1.0296

-0.4611 -0.0785

stats =

0.6527 6.5786 0.0247 351.0445

P=0.0247时,05.0=α,时回归模型22110x x βββ++可用 所以得到模型为y=66.5176+0.4139x1-0.2698x2

当x1=170,x2=160时,y=93.7126,即预测到的商品销售量为94

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

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全部实验及答案 实验一、MATLAB基本操作 实验内容及步骤 4、有关向量、矩阵或数组的一些运算 (1)设A=15;B=20;求C=A+B与c=a+b? (2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与 A.*B? A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2? (4)设a=[1 -2 3;4 5 -4;5 -6 7] 请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全 下标的形式),并将其单下标转换成全下标。 clear,clc a=[1 -2 3;4 5 -4;5 -6 7]; [x,y]=find(a<0); c=[]; for i=1:length(x) c(i,1)=a(x(i),y(i)); c(i,2)=x(i); c(i,3)=y(i); c(i,4)=(y(i)-1)*size(a,2)+x(i); end c

(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那 个是虚数矩阵,后面那个出错 (6)请写出完成下列计算的指令: a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=? a^2= 22 16 16 25 26 23 26 24 28 a.^2= 1 4 9 9 16 4 25 4 9 (7)有一段指令如下,请思考并说明运行结果及其原因 clear X=[1 2;8 9;3 6]; X( : ) 转化为列向量 (8)使用三元组方法,创建下列稀疏矩阵 2 0 8 0 0 0 0 1 0 4 0 0 6 0 0 0 方法一: clear,clc

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)从键盘输入一个数,将它反向输出,例如输入693,输出为396 >> clear >> format long g s=input('s=') n=fix(log10(s)); A=0; for i=1:n a=fix(s/10^n); x=fix(mod(s,10^i)/10.^(i-1)); A=A+x*10^(n+1-i); end A+a s=693 s = 693 ans = 396 (2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E 1)分别用if语句和switch语句实现 2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息 If语句 >> a=input('输入成绩') if a>=90&a<=100 disp('A 成绩合理'); elseif a>=80&a<90 disp('B 成绩合理'); elseif a>=70&a<80 disp('C 成绩合理');

elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理'); else disp('成绩错误') end 输入成绩98 a = 98 A 成绩合理 >> a=input('输入成绩') if a>=90&a<=100 disp('A 成绩合理'); elseif a>=80&a<90 disp('B 成绩合理'); elseif a>=70&a<80 disp('C 成绩合理'); elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理'); else disp('成绩错误') end 输入成绩148 a = 148 成绩错误 switch语句 >> a=input('输入成绩') switch a; case num2cell(0:59) disp('E 成绩合理'); case num2cell(60:69) disp('D 成绩合理'); case num2cell(70:79) disp('C 成绩合理'); case num2cell(80:89) disp('B 成绩合理'); case num2cell(90:100) disp('A 成绩合理'); otherwise disp('成绩错误'); end

MATLAB)课后实验答案

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 012 2sin 851z e =+ (2) 21ln(2 z x =,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022 a a e e a z a a --+= ++=--L (4) 22 42011 122123t t z t t t t t ?≤

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。解:(1) 结果: (2). 建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果是:

实验二 MATLAB 矩阵分析与处理 1. 设有分块矩阵33322322E R A O S ?????? =? ??? ,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22 E R RS A O S +?? =???? 。 解: M 文件如下; 5. 下面是一个线性方程组: 1 231 1 12340.951110.673450.5211145 6x x x ?? ??????????????=??? ?????????????????? ? ch = 123d4e56g9

(1) 求方程的解。 (2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。 (3) 计算系数矩阵A 的条件数并分析结论。 解: M 文件如下: 实验三 选择结构程序设计 1. 求分段函数的值。 2226035605231x x x x y x x x x x x x ?+-<≠-? =-+≤<≠≠??--? 且且及其他 用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。 解:M 文件如下:

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、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、熟悉Matlab程序设计的基本方法 二、实验内容: 1、帮助命令 使用help命令,查找sqrt(开方)函数的使用方法; 解:sqrt Square root Syntax B = sqrt(X) Description B = sqrt(X) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results. Remarks See sqrtm for the matrix square root. Examples sqrt((-2:2)') ans = 0 + 1.4142i 0 + 1.0000i

1.0000 1.4142 2、矩阵运算 (1)矩阵的乘法 已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B 解:A=[1 2;3 4 ]; B=[5 5;7 8 ]; A^2*B (2)矩阵除法 已知A=[1 2 3;4 5 6;7 8 9]; B=[1 0 0;0 2 0;0 0 3]; A\B,A/B 解:A=[1 2 3;4 5 6;7 8 9 ]; B=[1 0 0;0 2 0;0 0 3 ]; A\B,A/B (3)矩阵的转置及共轭转置

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、 矩阵Y= ???? ? ???? ???3472123100451150425 ,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。取出子矩阵?? ? ? ??21301,并求该矩阵的维数。 解:命令为: Y=[5,2,4;0,15,1;45,100,23;21,47,3] Y(2,3) Y(10) sub2ind([4 3],2,3) [i,j]=ind2sub([4 3],10) find(Y==100) sub2ind([4 3],3,2) B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y) 2、 建立一个数值范围为0—100内4*5的整数随机矩阵。 求出大于50的元素的位置。 解:命令为: G=int8(100*rand(4,5)) find(G>50) 3、 已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1 0;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B 解:命令为: A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B 4、 利用函数产生3*4阶单位矩阵和全部元素都为8的 4*4阶矩阵,并计算两者的乘积。 解:命令为: A=eye(3,4) B=8*ones(4) C=A*B 5、 创建矩阵a=????? ???????------7023021.5003.120498601 ,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b 构成矩阵d ,计算a*b 、c

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实验四及其答案

实验四GUI 设计专业 学号姓名成绩电气工程及其自 动化201409140305 杨诚1.创建GUI 绘制方程c bx ax y ++=2图形,需要显示绘图结果的坐标系窗口,还能够输入 a , b , c 的值和x 取值范围(最大值和最小值)。 回调函数的编写: a=str2num(get(handles.edit1,'String'));b=str2num(get(handles.edit2,'String'));c=str2num(get(handles.edit3,'String'));xmin=str2num(get(handles.edit4,'String'));xmax=str2num(get(handles.edit5,'String'));x=xmin:0.1:xmax;y=a*x.^2+b*x+c;plot(x,y); 设计的运行界面截图:

2.设计一个GUI,完成画出y=sin(x)、y=cos(x)和y=x 3.的波形图。回调函数的编写: x=-5:0.1:5 plot(x,sin(x)) x=-5:0.1:5 plot(x,cos(x))

x=-5:0.1:5 y=x.^3 plot(x,y)

设计的运行界面截图: 3.创建一个GUI,含有下拉菜单,下拉菜单中有背景颜色选择。回调函数的编写: yanse=get(handles.popupmenu1,'value'); switch yanse case1 set(gcf,'color','r'); case2 set(gcf,'color','y'); case3 set(gcf,'color','g'); end 设计的运行界面截图:

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上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

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练习题和答案 控制系统仿真实验 Matlab 部分实验结果 目录 实验一MATLAB基本操作..................................................................... .......................1 实验二Matlab 编程..................................................................... ...............................5 实验三Matlab 底层图形控制..................................................................... .....................6 实验四控制系统古典分析...................................................................... .......................12 实验五控制系统现代分析..................................................................... . (15) 实验六PID 控制器的设计..................................................................... ......................19 实验七系统状态空间设计...................................................................... .......................23 实验九直流双闭环调速系统仿真..................................................................... . (25) 实验一MATLAB基本操作

matlab实验内容答案

实验报告说明: matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。 第一次实验内容: 实验一 MATLAB 运算基础 一、实验目的 1.熟悉启动和退出MA TLAB 的方法。 2.熟悉MA TLAB 命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握MA TLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1.先求下列表达式的值,然后显示MA TLAB 工作空间的使用情况并保存全部变量。 (1)2 2sin 8511z e ?= + (2 )12ln(2 z x =+ ,其中2120.45 5i +? ? =? ?-?? (3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02 a a e e z a a --= +=--- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。 (4)2 2 2 01 41 1221 23 t t z t t t t t ?≤

12344347873657A -????=??????,131203327B -???? =????-?? 求下列表达式的值: (1)A+6=B 和A-B+I(其中I 为单位矩阵)。 (2)A*B 和A.*B 。 (3)A^3和A^.3 。 (4)A/B 和B\A 。 (5)[A ,B]和[A([1,3],;);B^2] 。 3.设有矩阵A 和B 12345678910111213141516171819202122232425A ????????=????????, 30 161769 23497041311B ?? ?? -?? ??=-?? ????? ? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D (3) 查看MA TLAB 工作空间使用情况。 4.完成下列操作: (1)求[100,999]之间能被21整除的数的个数。 提示:先利用冒号表达式,再利用find 和length 函数。 (2)建立一个字符串向量,删除其中的大写字母。 提示:利用find 函数和空矩阵。 第二次实验内容: 实验三 选择结构程序设计 一、实验目的 1. 掌握建立和执行M 文件的方法。 2. 掌握利用if 语句实现选择结构的方法。 3. 掌握利用switch 语句实现多分支选择结构的方法。 4. 掌握try 语句的使用。 二 、实验内容

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试卷+答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学院 2015学年上学期 《MATLAB与系统仿真》期末考试试题 (综合大作业) 考试说明: 1、大作业于2015年4月3日公布,2015年5月9日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 3、程序设计题(三(8,10))要求写出完整的程序代码,并在matlab软件环境调试并运行通过,连同运行结果一并附上。 一、填空题(1’ ×25=25’) 1、Matlab的全称为MATrix LABoratory 。 2、在Matlab编辑器中运行程序的快捷键是:F5 。 3、Matlab的工作界面主要由以下五个部分组成,它们分别是:Command window(指令窗口、Current directory(当前路径浏览器)、Workspace(工作台窗口) 、Command history (指令历史窗口)和Launch pad(发布平台)。 4、在Matlab中inf表示:无穷大;clc表示:清除当前Command window区域内容;more表示:显示命令窗口输出一个整个萤幕的时间;who表示:返回当前工作空间中所有变量名;whos表示:返回当前工作空间中所有变量,以及它们的名字、尺寸、所占字节数、属性等信息。 5、在Matlab命令窗口中运行命令Simulink 可以打开Simulink模块库浏览器窗口。 6、求矩阵行列式的函数:det ;求矩阵特征值和特征向量的函数eig 。 7、Matlab预定义变量ans表示:当前未定义变量和变量名的答案;eps表示: 浮点相对精度(其值是从1.0到下一个最大浮点数之间的差值);nargin表示:函 9、建立结构数组或转换结构数组的函数为:struct

相关文档
相关文档 最新文档