MATLAB程序设计与应用刘卫国编课后实验答案.docx

上传人:b****3 文档编号:5485887 上传时间:2022-12-17 格式:DOCX 页数:82 大小:985.18KB
下载 相关 举报
MATLAB程序设计与应用刘卫国编课后实验答案.docx_第1页
第1页 / 共82页
MATLAB程序设计与应用刘卫国编课后实验答案.docx_第2页
第2页 / 共82页
MATLAB程序设计与应用刘卫国编课后实验答案.docx_第3页
第3页 / 共82页
MATLAB程序设计与应用刘卫国编课后实验答案.docx_第4页
第4页 / 共82页
MATLAB程序设计与应用刘卫国编课后实验答案.docx_第5页
第5页 / 共82页
点击查看更多>>
下载资源
资源描述

MATLAB程序设计与应用刘卫国编课后实验答案.docx

《MATLAB程序设计与应用刘卫国编课后实验答案.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计与应用刘卫国编课后实验答案.docx(82页珍藏版)》请在冰豆网上搜索。

MATLAB程序设计与应用刘卫国编课后实验答案.docx

MATLAB程序设计与应用刘卫国编课后实验答案

实验一MATLAB运算基础

1、先求下列表达式得值,然后显示MATLAB工作空间得使用情况并保存全部变量.

(1)

(2),其中

(3)

(4),其中t=0:

0、5:

2、5

解:

M文件:

z1=2*sin(85*pi/180)/(1+exp(2))

x=[21+2*i;-、455];

z2=1/2*log(x+sqrt(1+x^2))

   a=-3、0:

0、1:

3、0;

z3=(exp(0、3、*a)-exp(—0、3、*a))、/2、*sin(a+0、3)+log((0、3+a)、/2)

t=0:

0、5:

2、5;

z4=(t〉=0&t〈1)、*(t、^2)+(t>=1&t<2)、*(t、^2—1)+(t〉=2&t〈3)、*(t、^2-2*t+1)

运算结果:

z1=2*sin(85*pi/180)/(1+exp(2))

x=[21+2*i;—、455];

z2=1/2*log(x+sqrt(1+x^2))

 a=—3、0:

0、1:

3、0;

z3=(exp(0、3、*a)-exp(—0、3、*a))、/2、*sin(a+0、3)+log((0、3+a)、/2)

t=0:

0、5:

2、5;

z4=(t〉=0&t<1)、*(t、^2)+(t〉=1&t<2)、*(t、^2—1)+(t>=2&t〈3)、*(t、^2—2*t+1)

z1=

0、2375

z2=

0、7114- 0、0253i0、8968+0、3658i

 0、2139+0、9343i 1、1541— 0、0044i

z3=

 Columns1through4

 0、7388+ 3、1416i  0、7696+3、1416i 0、7871+ 3、1416i0、7913+3、1416i

 Columns 5through8

 0、7822+3、1416i  0、7602+3、1416i 0、7254 +3、1416i0、6784 + 3、1416i

 Columns9through12

  0、6196+ 3、1416i 0、5496 + 3、1416i 0、4688+3、1416i0、3780+ 3、1416i

Columns13through16

0、2775+3、1416i0、1680+ 3、1416i0、0497+3、1416i—0、0771+ 3、1416i

Columns17through20

 —0、2124+3、1416i—0、3566 +3、1416i—0、5104 + 3、1416i  —0、6752+ 3、1416i

 Columns21through 24

-0、8536 +3、1416i -1、0497+3、1416i -1、2701 +3、1416i -1、5271+3、1416i

Columns25through 28

 —1、8436 +3、1416i-2、2727+3、1416i—2、9837+ 3、1416i—37、0245    

 Columns29through32

 —3、0017 —2、3085   —1、8971   -1、5978   

Columns33through36

 —1、3575   —1、1531    -0、9723    —0、8083  

 Columns37through40

-0、6567    —0、5151 —0、3819 -0、2561 

Columns41through 44

 -0、1374  —0、0255    0、0792  0、1766  

Columns45through48

  0、2663     0、3478     0、4206  0、4841  

  Columns 49through52

 0、5379 0、5815  0、6145  0、6366     

 Columns 53through56

0、6474  0、6470       0、6351  0、6119   

Columns57 through60

0、5777 0、5327   0、4774  0、4126  

Column61

  0、3388 

z4=

 0   0、2500   01、25001、00002、2500

2、已知:

求下列表达式得值:

(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]

解:

 

M 文件:

A=[1234-4;347 87;3657];B=[13 -1;2 03;3 -27];

 A+6、*B

A-B+eye(3)

A*B 

A、*B

 A^3

A、^3

A/B

B\A

[A,B]

[A([1,3],:

);B^2]

运算结果:

A=[1234-4;34787;3657];B=[13-1;20 3;3—27];

 A+6、*B

A-B+eye(3)

 A*B

A、*B

A^3

A、^3

 A/B

B\A 

 [A,B]

[A([1,3],:

);B^2]

ans=

 18  52-10

  46 7 105

  2153  49

ans=

 12 31—3

 328 84

 0  671

ans=

684462

309 —72596

 154 -5 241

ans=

 121024

  68 0261

9-130 49

ans=

   37226 233824   48604

   247370149188600766

   78688  454142 118820

ans=

  1728   39304     —64

  39304    343 658503

  27  274625  343

ans=

  16、4000 -13、60007、6000

  35、8000 -76、2000 50、2000

67、0000-134、0000 68、0000

ans=

109、4000—131、2000 322、8000

-53、000085、0000—171、0000

—61、6000 89、8000—186、2000

ans=

 12 34-4 1 3-1

34  7  87  2 0   3

3 65  7   3 -27

ans=

1234  -4

3 65    7

 4   5  1

 11  0  19

  20-540

3、设有矩阵A与B

(1)求它们得乘积C.

(2)将矩阵C得右下角3×2子矩阵赋给D。

(3)查瞧MATLAB工作空间得使用情况.

解:

、运算结果:

E=(reshape(1:

1:

25,5,5))';F=[3 016;17 -69;023-4;970;41311];

C=E*F

H=C(3:

5,2:

3)

C=

 93 150 77

  258 335 237

 423 520 397

 588705557

  753890717

H=

 520 397

705 557

890 717

4、完成下列操作:

(1)求[100,999]之间能被21整除得数得个数。

(2)建立一个字符串向量,删除其中得大写字母.

解:

(1)结果:

m=100:

999;

n=find(mod(m,21)==0);

length(n)

ans=

43

(2)、建立一个字符串向量例如:

ch=’ABC123d4e56Fg9’;则要求结果就是:

ch='ABC123d4e56Fg9’;

k=find(ch>=’A'&ch<='Z');

ch(k)=[]

ch=

123d4e56g9

实验二MATLAB矩阵分析与处理

1、设有分块矩阵,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵与对角阵,试通过数值计算验证。

解:

 M文件如下;

输出结果:

S=

 10

 0  2

A =

  1、0000   0    0 0、5383 0、4427

   0  1、0000 0 0、9961  0、1067

     0  0 1、0000 0、0782 0、9619

 0  0 01、0000 0

0   0  0   0  2、0000

a =

1、0000   0    01、0767  1、3280

     0   1、0000  0 1、9923 0、3200

     0  0 1、0000 0、1564 2、8857

 0    0  0   1、0000   0

   0  0   00 4、0000

ans =

 00   0  00

  00  00   0

00 0   00

 0  0 0  0  0

000 00

由ans,所以

2、产生5阶希尔伯特矩阵H与5阶帕斯卡矩阵P,且求其行列式得值Hh与Hp以及它们得条件数Th与Tp,判断哪个矩阵性能更好。

为什么?

解:

M文件如下:

输出结果:

H=

 1、00000、5000 0、3333 0、2500 0、2000

  0、50000、3333 0、25000、2000 0、1667

0、3333  0、2500  0、2000  0、1667 0、1429

0、2500 0、2000    0、1667 0、14290、1250

 0、20000、16670、14290、12500、1111

P=

  111 1  1

 1  2 3 4 5

  1   3  6 10  15

  1 4 10  20 35

   1  515 3570

Hh=

 3、7493e—012

Hp=

  1

Th=

4、7661e+005

Tp=

8、5175e+003

因为它们得条件数Th>>Tp,所以pascal矩阵性能更好.

3、建立一个5×5矩阵,求它得行列式值、迹、秩与范数.

解:

  M文件如下:

输出结果为:

A =

  17 24 1  815

23 5  7 14 16

  4   613  2022

 10 12  1921   3

11  18 25 2  9

d=

 5070000

t=

 65

c1=

  6、8500

c2=

5、4618

cinf =

  6、8500

4、 已知

求A得特征值及特征向量,并分析其数学意义。

解:

M文件如图:

输出结果为:

V=

0、7130 0、2803 0、2733

-0、6084 -0、7867 0、8725

0、3487 0、55010、4050

D=

-25、3169     0  0

   0—10、5182   0

  0   0 16、8351

数学意义:

V得3个列向量就是A得特征向量,D得主对角线上3个就是A得特征值,特别得,V得3个列向量分别就是D得3个特征值得特征向量.

5、下面就是一个线性方程组:

(1) 求方程得解.

(2)将方程右边向量元素b3改为0、53再求解,并比较b3得变化与解得相对变化。

(3)计算系数矩阵A得条件数并分析结论。

解:

M文件如下:

输出结果:

X=

1、2000

 0、6000

 0、6000

X2=

 1、2000

0、6000

0、6000

C =

  1、3533e+003

由结果,X与X2得值一样,这表示b得微小变化对方程解也影响较小,而A得条件数算得较小,所以数值稳定性较好,A就是较好得矩阵。

6、建立A矩阵,试比较sqrtm(A)与sqrt(A),分析它们得区别。

解:

M文件如下:

运行结果有:

A=

  166 18

  20  5 12

  9  8 5

b1=

3、8891-0、1102  3、2103

 3、2917  2、1436 0、3698

 0、3855 2、0760 1、7305

b2=

4、0000    2、4495  4、2426

  4、4721 2、2361  3、4641

3、0000 2、82842、2361

b=

16、0000 6、000018、0000

20、0000  5、0000 12、0000

9、0000  8、0000 5、0000

分析结果知:

sqrtm(A)就是类似A得数值平方根(这可由b1*b1=A得结果瞧出),而sqrt(A)则就是对A中得每个元素开根号,两则区别就在于此。

实验三选择结构程序设计

一、实验目得

1、掌握建立与执行M文件得方法。

2、掌握利用if语句实现选择结构得方法.

3、掌握利用switch语句实现多分支选择结构得方法.

4、掌握try语句得使用。

二、实验内容

1、求分段函数得值。

用if语句实现,分别输出x=-5、0,-3、0,1、0,2、0,2、5,3、0,5、0时得y值.

解:

M文件如下:

运算结果有:

f(—5)

y =

14

〉>f(—3)

y=

  11

〉>f(1)

y=

2

>>f

(2)

y =

1

〉〉f(2、5)

y=

—0、2500

〉〉f(3)

y=

5

>>f(5)

y=

  19

2、 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。

其中90分~100分为A,80分~89分为B,79分~79分为C,60分~69分为D,60分以下为E.

要求:

(1)分别用if语句与switch语句实现。

(2)输入百分制成绩后要判断该成绩得合理性,对不合理得成绩应输出出错信息.

解:

M文件如下

试算结果:

score=88

grade=

B

score=123

错误:

输入得成绩不就是百分制成绩

3、硅谷公司员工得工资计算方法如下:

(1) 工作时数超过120小时者,超过部分加发15%。

(2) 工作时数低于60小时者,扣发700元。

(3)其余按每小时84元计发。

试编程按输入得工号与该号员工得工时数,计算应发工资。

解:

M文件下

4、设计程序,完成两位数得加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应得运算,并显示相应得结果。

解:

M文件如下;

运算结果例:

a=

 38

b=

 33

输入一个运算符:

^

c=

false

a =

  92

b=

 40

输入一个运算符:

+

c=

  132

5、建立5×6矩阵,要求输出矩阵第n行元素。

当n值超过矩阵得行数时,自动转为输出矩阵最后一行元素,并给出出错信息。

解:

M文件如下:

运算结果如下:

输入一个5行6列矩阵A=[1 23 4 55;234576;22 2223;1123 9 73;2 34567]

输入一正整数n=4

 11 2 3 97  3

输入一个5行6列矩阵A=[1 234 55;2 34 5 7 6;2222 2 3;1123 973;2 34 567]

输入一正整数n=6

  2 3 45  6 7

ans =

Errorusing==> disp

Too manyinputarguments、

实验四循环结构程序设计

一、实验目得

1、掌握利用for语句实现循环结构得方法.

2、 掌握利用while语句实现循环结构得方法。

3、熟悉利用向量运算来代替循环操作得方法。

二、实验内容

1、根据,求π得近似值。

当n分别取100、1000、10000时,结果就是多少?

要求:

分别用循环结构与向量运算(使用sum函数)来实现。

解:

M文件如下:

运行结果如下:

K〉>%循环结构计算pi值

y=0;

n=input('n=’);

fori=1:

n

 y=y+1/i/i;

end

pi=sqrt(6*y)

n=100

pi=

3、1321

n=1000

pi=

 3、1406

n=10000

pi =

3、1415

%向量方法计算Pi值

n=input(’n=');

i=1、/(1:

n)、^2;

s=sum(i);

pi=sqrt(6*s)

n=100

pi=

  3、1321

n=1000

pi=

 3、1406

n=10000

pi=

3、1415

2、根据,求:

(1)y<3时得最大n值.

(2)与

(1)得n值对应得y值。

解:

M—文件如下:

运行结果如下:

K〉>y=0;n=0;

while y〈3

   n=n+1;

 y=y+1/(2*n-1);

end

y

n

ify>3

n=n—1;

end

n

y=

 3、0033

n =

57

n=

 56

3、考虑以下迭代公式:

其中a、b为正得学数。

(1)编写程序求迭代得结果,迭代得终止条件为|xn+1-xn|≤10—5,迭代初值x0=1、0,迭代次数不超过500次.

(2)如果迭代过程收敛于r,那么r得准确值就是,当(a,b)得值取(1,1)、(8,3)、(10,0、1)时,分别对迭代结果与准确值进行比较。

解:

M文件如下:

运算结果如下;

请输入正数a=1

请输入正数b=1

x=

 0、6180

r=

 0、6180—4、7016

r =

0、6180 -1、6180

s=

-0、0000  —2、2361

请输入正数a=8

请输入正数b=3

x=

1、7016

r=

1、7016—1、6180

r=

  1、7016—4、7016

s =

1.0-6、4031

请输入正数a=10

请输入正数b=0、1

x =

 3、1127

r =

3、1127 -4、7016

r=

 3、1127-3、2127

s=

 -0、0000  —6、3254

4、已知

求f1~f100中:

(1)最大值、最小值、各数之与。

(2)正数、零、负数得个数。

解:

M-文件

以下就是运算结果:

max(f)=437763282635

min(f)=—899412113528

sum(f)=-742745601951

c1=49

c2=2

c3=49

5、 若两个连续自然数得乘积减1就是素数,则称这两个边疆自然数就是亲密数对,该素数就是亲密素数.例如,2×3-1=5,由于5就是素数,所以2与3就是亲密数,5就是亲密素数。

求[2,50]区间内:

(1)亲密数对得对数.

(2) 与上述亲密数对对应得所有亲密素数之与。

解:

M文件:

运算结果为:

j =

29

s=

  23615

实验五函数文件

一、实验目得

1、 理解函数文件得概念.

2、掌握定义与调用MATLAB函数得方法。

二、实验内容

1、定义一个函数文件,求给定复数得指数、对数、正弦与余弦,并在命令文件中调用该函数文件。

解:

M文件如下:

函数fushu、M文件:

function[e,l,s,c] = fushu(z)

%fushu复数得指数,对数,正弦,余弦得计算

%e  复数得指数函数值

%l  复数得对数函数值

%s 复数得正弦函数值

%c复数得余弦函数值

e=exp(z);

l=log(z);

s=sin(z);

c=cos(z);

命令文件M:

z=input(’请输入一个复数z=');

[a,b,c,d]=fushu(z)

运算结果如下:

z=input('请输入一个复数z=’);

[a,b,c,d]=fushu(z)

请输入一个复数z=1+i

a=

 1、4687+2、2874i

b =

 0、3466+0、7854i

c =

  1、2985+ 0、6350i

d=

 0、8337-0、9889i

2、一物理系统可用下列方程组来表示:

从键盘输入m1、m2与θ得值,求a1、a2、N1与N2得值.其中g取9、8,输入θ时以角度为单位。

要求:

定义一个求解线性方程组AX=B得函数文件,然后在命令文件中调用该函数文件。

解:

 M文件

函数fc、M文件:

functionX=fc(A,B)

%fc  fc就是求解线性方程得函数

%AA就是未知矩阵得系数矩阵

X=A\B;

命令M文件:

clc;

m1=input('输入m1=’);

m2=input('输入m2=');

theta=input('输入theta=');

x=theta*pi/180;

g=9、8;

A=[m1*cos(x)—m1-sin(x) 0

 m1*sin(x)0cos(x)0

 0m2-sin(x)0

 00—cos(x)1];

B=[0;m1*g;0;m2*g]

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1