Matlab7程序设计考试复习.docx

上传人:b****2 文档编号:18592998 上传时间:2023-08-20 格式:DOCX 页数:31 大小:63.22KB
下载 相关 举报
Matlab7程序设计考试复习.docx_第1页
第1页 / 共31页
Matlab7程序设计考试复习.docx_第2页
第2页 / 共31页
Matlab7程序设计考试复习.docx_第3页
第3页 / 共31页
Matlab7程序设计考试复习.docx_第4页
第4页 / 共31页
Matlab7程序设计考试复习.docx_第5页
第5页 / 共31页
Matlab7程序设计考试复习.docx_第6页
第6页 / 共31页
Matlab7程序设计考试复习.docx_第7页
第7页 / 共31页
Matlab7程序设计考试复习.docx_第8页
第8页 / 共31页
Matlab7程序设计考试复习.docx_第9页
第9页 / 共31页
Matlab7程序设计考试复习.docx_第10页
第10页 / 共31页
Matlab7程序设计考试复习.docx_第11页
第11页 / 共31页
Matlab7程序设计考试复习.docx_第12页
第12页 / 共31页
Matlab7程序设计考试复习.docx_第13页
第13页 / 共31页
Matlab7程序设计考试复习.docx_第14页
第14页 / 共31页
Matlab7程序设计考试复习.docx_第15页
第15页 / 共31页
Matlab7程序设计考试复习.docx_第16页
第16页 / 共31页
Matlab7程序设计考试复习.docx_第17页
第17页 / 共31页
Matlab7程序设计考试复习.docx_第18页
第18页 / 共31页
Matlab7程序设计考试复习.docx_第19页
第19页 / 共31页
Matlab7程序设计考试复习.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Matlab7程序设计考试复习.docx

《Matlab7程序设计考试复习.docx》由会员分享,可在线阅读,更多相关《Matlab7程序设计考试复习.docx(31页珍藏版)》请在冰点文库上搜索。

Matlab7程序设计考试复习.docx

Matlab7程序设计考试复习

第一章MATLAB基础

•1.3MATLAB系统由那些部分组成?

•MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。

•1.4MATLAB操作桌面有几个窗口?

如何使某个窗口脱离桌面成为独立窗口?

又如何将脱离出去的窗口重新放置到桌面上?

•M文件编辑/调试器、历史指令窗、当前目录浏览器、工作空间浏览器、内存数组编辑器、交互界面分类目录窗、及帮助导航/浏览器和图形窗。

•1.5如何启动M文件编辑/调试器?

•在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。

在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。

•MATLAB的开发环境中包括了专门的M文件编辑器,该编辑器不但提供了M文件的编辑功能,同时还与MATLAB的开发环境一起实现了MATLAB命令和函数文件的运行与调试。

 

第二章MATLAB运算基础

2.2有几种创建矩阵的方法?

可以用四种方法创建矩阵:

①直接输入法:

优点是输入方法方便简捷;

②通过M文件建立矩阵:

该方法适用于建立尺寸较大的矩阵,并且易于修改;

③由函数建立:

可以由MATLAB的内部函数建立一些特殊矩阵;

④通过数据文件建立:

该方法也可以调用由其他软件产生数据。

2.3建立复数矩阵,并分别提取矩阵各元素的实部和虚部组成新的矩阵,计算该矩阵的模矩阵、共轭矩阵和共轭转置矩阵。

•x=[4+8i3+5i2-7i1+4i7-5i;3+2i7-6i9+4i3-9i4+4i];

•Rx=real(x)

•Ix=imag(x)

•Ax=abs(x)

•Cx=conj(x)

•CCx=x'

•Rx=

•43217

•37934

•Ix=

•85-74-5

•2-64-94

•Ax=

•8.94435.83107.28014.12318.6023

•3.60569.21959.84899.48685.6569

•Cx=

•4.0000-8.0000i3.0000-5.0000i2.0000+7.0000i1.0000-4.0000i7.0000+5.0000i

•3.0000-2.0000i7.0000+6.0000i9.0000-4.0000i3.0000+9.0000i4.0000-4.0000i

•CCx=

•4.0000-8.0000i3.0000-2.0000i

•3.0000-5.0000i7.0000+6.0000i

•2.0000+7.0000i9.0000-4.0000i

•1.0000-4.0000i3.0000+9.0000i

•7.0000+5.0000i4.0000-4.0000i

•2.4建立向量的方法有哪些?

举例说明,并求出向量的长度,第一个元素、最后一个元素。

•方法:

两个冒号组成等增量语句;使用linspace和logspace函数生成向量。

•例:

x=-5:

2:

5%建立行向量

•length(x)%向量x的长度

•x

(1)%x的第一个元素

•x(end)%x的最后一个元素

•x'%向量转置为列向量

•y=linspace(-5,5,8)%建立行向量

•y'%向量转置为列向量

•2.5如何建立单位矩阵?

如何建立零矩阵?

•eye

(1)eye

(2)eye(3)

•zeroszeros

(2)zeros(3)

•2.6分析下列语句的功能,并给出执行结果。

•y=linspace(-5,5,10);

•ly=length(y)

•y1=y

(1)

•y15=y(1:

2:

5)

•y_ly=y(ly)

•y_end=y(end)

•y(end+1)=8

•ly=

•10

•y1=

•-5

•y15=

•-5.0000-2.7778-0.5556

•y_ly=

•5

•y_end=

•5

•y=

•Columns1through8

•-5.0000-3.8889-2.7778-1.6667-0.55560.55561.66672.7778

•Columns9through11

•3.88895.00008.0000

•2.8在进行乘法运算时,数组运算和矩阵运算各有什么要求?

•进行数组运算的两个数组必须有相同的行数和列数。

进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数。

•例计算与的乘积。

•分析:

a与b有相同的行数和列数,因此a.*b有意义,a*b没有意义。

•a=[693;275];b=[241;468];a.*b

•执行结果:

•ans=

•12027

•283016

•2.10

•A=[54-4;378;167];

•B=[1-3-1;203;-327];

•A+2*B,A+eye(size(A)),B+eye(size(B))

•ans=

•7-2-6

•7714

•-51021

•ans=

•64-4

•388

•168

•ans=

•2-3-1

•213

•-328

•A*B,A.*B,

•ans=

•25-23-21

•-7774

•-81166

•ans=

•5-124

•6024

•-31249

•A^2,A.^2,

•ans=

•3324-16

•44109100

•308893

•ans=

•251616

•94964

•13649

•A/B,B\A,

•ans=

•-2.33901.4068-1.5085

•-2.49152.3898-0.2373

•-1.96611.55930.0508

•ans=

•0.30510.93221.9153

•-1.8305-1.59321.5085

•0.79661.71191.3898

•A./B,B.\A,

•Warning:

Dividebyzero.

•ans=

•5.0000-1.33334.0000

•1.5000Inf2.6667

•-0.33333.00001.0000

•Warning:

Dividebyzero.

•ans=

•5.0000-1.33334.0000

•1.5000Inf2.6667

•-0.33333.00001.0000

•[AB].^2

•ans=

•251616191

•94964409

•136499449

•2.^[AB]

•ans=

•32.000016.00000.06252.00000.12500.5000

•8.0000128.0000256.00004.00001.00008.0000

•2.000064.0000128.00000.12504.0000128.0000

•2.13在命令窗口输入A=[715;256;315],

•B=[111;222;333],建立矩阵A和B,

•分析下列语句的功能,写出执行结果。

•A=[713;-256;-315],B=[121;-222;3-31],

•A(2,3),

•ans=

•6

•A(:

2),

•ans=

•1

•5

•1

•A(3,:

•ans=

•-315

•A(:

1:

2:

3)

•ans=

•73

•-26

•-35

•A(:

3).*B(:

2)

•ans=

•6

•12

•-15

•A(:

3)*B(2,:

•ans=

•-666

•-121212

•-101010

•A*B

•ans=

•14712

•6-1214

•10-194

•A.*B

•ans=

•723

•41012

•-9-35

•A^2

•ans=

•381542

•-422954

•-38722

•A.^2

•ans=

•4919

•42536

•9125

•B/A

•ans=

•0.09760.4634-0.4146

•-0.17070.4390-0.0244

•0.5732-0.90240.9390

•B./A

•ans=

•0.14292.00000.3333

•1.00000.40000.3333

•-1.0000-3.00000.2000

•2.14分析下列语句的关于向量的加、减、乘、除语句的执行结果。

•x=[1234];y=[4321];

(1)x+y,

(2)x-y,(3)x*y',(4)x.*y,(5)x.^y,(6)x.^2,(7)2.^y(8)2.^[xy]

(1)ans=

•5555

•ans=

•-3-113

•ans=

•20

•ans=

•4664

•ans=

•1894

•ans=

•14916

•ans=

•16842

•ans=

•2481616842

第三章MATLAB程序设计

•3.2程序1:

•x=input('请输入x的值:

');

•ifisreal(x)==0

•disp('Nodefination')

•elseifx>=-1&x<=1

•y=x.^2+1

•else

•y=x+1

•end

•程序2:

•x=input('请输入x的值:

');

•isreal_x=isreal(x);

•switchisreal_x

•case1

•ifx>1|x<-1

•y=1+x

•else

•y=x.^2+1

•end

•case0

•disp('Nodefination')

•end

•3.3

•程序:

•x=input('pleaseenterxvalue:

');

•ifx<0&x~=-3

•y=x.^2+x-6

•elseifx>=0&x~=2&x~=3&x<10

•y=x.^2-5*x+6

•else

•y=x.^2-x-1

•end

•3.5

•程序1:

程序2:

•y=0;y=0;n=1;

•forn=1:

100whilen<=100

•f=1/n/n/n;y=y+f;n=n+1;f=1/n/n/n;y=y+f;n=n+1;

•endend

•yy

•3.7

•程序:

•a=0;b=3;n=1000;h=(b-a)/n;

•x=a:

h:

b;

•f=x./(x.^2-1);

•fori=1:

n

•s(i)=(f(i)+f(i+1))*h/2;

•end

•s=sum(s)

•3.10一个自然数是素数,且它的各位数字位置经过任意对换后仍为素数,则称是绝对素数。

试求所有两位的绝对素数。

要求:

定义一个判断函数的函数文件。

•程序:

•fori=10:

99

•a=floor(i/10);b=mod(i,10);ii=b*10+a;

•ifsushu(i)&sushu(ii)

•i

•end

•end

•函数:

•functionflag=sushu(i)

•flag=1;

•forj=2:

i/2

•ifmod(i,j)==0

•flag=0;

•end

•end

•3.13编写矩阵输入程序。

•m=input(‘矩阵行数:

m=’);

•n=input(‘矩阵列数:

n=’);

•fori=1:

m

•forj=1:

n

•disp([‘输入第’,num2str(i),’行,第’,num2str(j),’列元素’])

•A(i,j)=input(‘’)

•end

•end

•3.15编写函数的函数文件,并计算在-5、-3、-1、1、3、5处的值。

•程序1:

程序2:

•functiony=f2(x)f=inline('x.^3+2*x.^2+1');

•y=x.^3+2*x.^2+1;f([-5-3-1135])

•y=f2([-5-3-1135])

•3.16有一组学生的考试成绩,根据规定,成绩在100分时为满分,成绩在90~99之间时为优秀,成绩在80~89分之间时为良好,成绩在60~79分之间为及格,成绩在60分以下时为不及格,编写一个根据成绩划分等级的程序。

•程序:

•name=input('Pleaseinputthename:

');

•Marks=input('Pleaseinputthemarks:

');

•n=length(Marks);

•fori=1:

n

•a{i}=89+i;

•b{i}=79+i;

•c{i}=69+i;

•d{i}=59+i;

•end;

•c=[d,c];

•fori=1:

n

•switchMarks(i)

•case100

•Rank(i,:

)='满分';

•casea

•Rank(i,:

)='优秀';

•caseb

•Rank(i,:

)='良好';

•casec

•Rank(i,:

)='及格';

•otherwise

•Rank(i,:

)='不及格';

•end

•end

•disp('')

•disp(['学生姓名','得分','等级']);

•disp('--------------------------')

•fori=1:

10;

•disp(['',name(i),'',num2str(Marks(i)),'',Rank(i,:

)]);

•end

 

第四章MATLAB数值计算

•4.2x=[107-55],y=[4-46-210],计算x的协方差、y的协方差、x与y的互协方差。

•x=[107-55],y=[4-46-210],

•cx=cov(x)

•cy=cov(y)

•cxy=cov(x,y)

•cx=

•21.8000

•cy=

•33.2000

•cxy=

•21.800020.9000

•20.900033.2000

•4.3分析下列语句的功能,并写出执行结果。

•a=invhilb(4);

•a‘

•ans=

•16-120240-140

•-1201200-27001680

•240-27006480-4200

•-1401680-42002800

•diag(a)

•ans=

•16

•1200

•6480

•2800

•flipud(a)

•ans=

•-1401680-42002800

•240-27006480-4200

•-1201200-27001680

•16-120240-140

•fliplr(a)

•ans=

•-140240-12016

•1680-27001200-120

•-42006480-2700240

•2800-42001680-140

•rot90(a)

•ans=

•-1401680-42002800

•240-27006480-4200

•-1201200-27001680

•16-120240-140

•reshape(a,1,16)

•ans=

•Columns1through6

•16-120240-140-1201200

•Columns7through12

•-27001680240-27006480-4200

•Columns13through16

•-1401680-42002800

•tril(a)

•ans=

•16000

•-120120000

•240-270064800

•-1401680-42002800

•triu(a)

•ans=

•16-120240-140

•01200-27001680

•006480-4200

•0002800

•4.4

(1)Rank(A)=?

•rank([1-632;3-540;-1-1124])

(2)B=[1210;6241;0210;3141];

•ifdet(B)~=0

•inv(B)

•else

•disp('noinverse.')

•end

•4.6求下列矩阵的行列式、特征值和特征向量,如可逆,求其逆矩阵.

•a=[1132;-11-13;5-289;-1317];

•[ii,jj]=size(a);

•det_a=det(a)

•[v,d]=eig(a)

•ifrank(a)==ii

•disp('noinverse')

•else

•disp('yes')

•inv_a=inv(a)

•end

•4.7程序1:

•A=[65-25;9-14-1;342-2;3-920];

•b=[-413111]';

•x=inv(A)*b

•程序2:

•A=[65-25;9-14-1;342-2;3-920];

•b=[-413111]';

•x=A\b

•程序3:

•A=[65-25;9-14-1;342-2;3-920];

•b=[-413111]';

•Ab=[Ab];

•rref(Ab)

•(3)判断下列向量组是否线性相关:

•a=[1132;-11-13;5-289;-1317];

•[ii,jj]=size(a);

•ifrank(a)==ii

•disp('no')

•else

•disp('yes')

•end

•4.9xA=b,求x.

•A=[11-1;210;111];

•b=[113;432;125];

•方法1:

b/A

•方法2:

b*inv(A)

•4.11用二分法计算多项式方程x^3-2x-5=0在[0,3]内的一个根。

•程序1:

程序2:

•a=0;fa=-inf;p=[10-2-5];

•b=3;fb=inf;r_p=roots(p);

•whileb-a>eps*bl=r_p>=0&r_p<=3;

•x=(a+b)/2;r_p(l)

•fx=x^3-2*x-5;

•ifsign(fx)==sign(fa)

•a=x;fa=fx;

•else

•b=x;fb=fx;

•end

•end

•x运行结果为:

•x=2.0945515148154233

•4.12已知函数,求根、和、导数。

•程序:

•pf=[3-12103];pg=[1/31-3-1];

•root_pf=roots(pf)

•rppt_pg=roots(pg)

•ps=pf+[00pg]

•pm=conv(pf,pg)

•pd=deconv(pf,pg)

•polyder(pf)

•polyder(pg)

•[p1p2]=polyder(pf,pg)

•4.14

•p=[321];polyvalm(p,[25;79])

•4.16求方程x^3-7x^2+2x+40=0的根。

•p=[1-7240];

•r=roots(p);

•4.19求矩阵[123;456;780]的特征多项式系数,并转换为多项式形式。

•a=[123;456;780];p=poly(a),poly2sym(p)

第五章符号计算

5.1下面三种表示方法有什么不同的含义?

(1)f=3*x^2+5*x+2

(2)f='3*x^2+5*x+2'

(3)x=sym('x')

f=3*x^2+5*x+2

(1)f=3*x^2+5*x+2

•表示在给定x时,将3*x^2+5*x+2的数值运算结果赋值给变量f,如果没有给定x则指示错误信息。

(2)f='3*x^2+5*x+2'

•表示将字符串'3*x^2+5*x+2'赋值给字符变量f,没有任何计算含义,因此也不对字符串中的内容做任何分析。

•(3)x=sym('x')

•f=3*x^2+5*x+2

•表示x是一个符号变量,f=3*x^2+5*x+2就具有了符号函数的意义,f也自然成为符号变量了。

•5.2用符号计算验证三角函数的和差与积的关系等式。

•symsphi1phi2;

•y=simple(sin(phi1)*cos(phi2)-cos(phi1)*sin(phi2))…

•方法1:

•functionz=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2