matlab实验指导答案详解(非常详细正确).doc

上传人:b****1 文档编号:267242 上传时间:2022-10-08 格式:DOC 页数:23 大小:1.17MB
下载 相关 举报
matlab实验指导答案详解(非常详细正确).doc_第1页
第1页 / 共23页
matlab实验指导答案详解(非常详细正确).doc_第2页
第2页 / 共23页
matlab实验指导答案详解(非常详细正确).doc_第3页
第3页 / 共23页
matlab实验指导答案详解(非常详细正确).doc_第4页
第4页 / 共23页
matlab实验指导答案详解(非常详细正确).doc_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

matlab实验指导答案详解(非常详细正确).doc

《matlab实验指导答案详解(非常详细正确).doc》由会员分享,可在线阅读,更多相关《matlab实验指导答案详解(非常详细正确).doc(23页珍藏版)》请在冰豆网上搜索。

matlab实验指导答案详解(非常详细正确).doc

实验一MATLAB工作环境熟悉及简单命令的执行

一、实验目的:

熟悉MATLAB的工作环境,学会使用MATLAB进行一些简单的运算。

二、实验内容:

MATLAB的启动和退出,熟悉MATLAB的桌面(Desktop),包括菜单(Menu)、工具条(Toolbar)、命令窗口(CommandWindow)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。

三、实验步骤:

1、启动MATLAB,熟悉MATLAB的桌面。

2、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。

(1)(365-52´2-70)¸3

>>(365-52*2-70)/3

ans=63.6667

(2)>>area=pi*2.5^2

area=19.6350

(3)已知x=3,y=4,在MATLAB中求z:

>>x=3

>>y=4

>>z=x^2*y^3/(x-y)^2

z=576

(4)将下面的矩阵赋值给变量m1,在workspace中察看m1在内存中占用的字节数。

m1=

执行以下命令

>>m1=[162313;511108;97612;414151]

>>m1(2,3)

ans=10

>>m1(11)

ans=6

>>m1(:

3)

ans=3

10

6

15

>>m1(2:

3,1:

3)

ans=51110

976

>>m1(1,4)+m1(2,3)+m1(3,2)+m1(4,1)

ans=34

(5)执行命令>>helpabs

查看函数abs的用法及用途,计算abs(3+4i)

(6)执行命令

>>x=0:

0.1:

6*pi;

>>y=5*sin(x);

>>plot(x,y)

(6)运行MATLAB的演示程序,>>demo,以便对MATLAB有一个总体了解。

四、思考题

1、以下变量名是否合法?

为什么?

(1)x2合法

(2)3col不合法,首字符是数字

(3)_row不合法,首字符必须是字母

(4)for不合法,for为MATLAB的保留关键字

2、求以下变量的值,并在MATLAB中验证。

(1)a=1:

2:

5;

a=135

(2)b=[a'a'a'];

b=111

333

555

(3)c=a+b(2,:

c=468

实验二MATLAB语言矩阵运算

一、实验目的:

掌握基本的矩阵运算及常用的函数。

二、实验内容:

1、下列运算是否合法,为什么?

如合法,结果是多少?

(1)result1=a'

(2)result2=a*b

不合法,两矩阵的内阶不相等。

(3)result3=a+b

(4)result4=b*d

(5)result5=[b;c']*d

(6)result6=a.*b

(7)result7=a./b

(8)result8=a.*c

不合法,两矩阵的维数不相等,点乘相求两矩阵的维数相同。

(9)result9=a.\b

(10)result10=a.^2

(11)result11=a^2

不合法,a矩阵不是方阵,方阵才能取平方。

(12)result12=2.^a

以上运算的关键不是结果是多少,而是结果怎么得来的,比如result5=[b;c']*d,要学会将其分解后去理解,可在命令窗口输入以下语句:

>>c'

>>t=[b;c']

>>r5=t*d

2、用MATLAB求下面的的方程组。

(1)

A=[7,2,1,-2;9,15,3,-2;-2,-2,11,5;1,3,2,13]

b=[4;7;-1;0]

x=A\b

x=0.4979

0.1445

0.0629

-0.0813

(2)

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

b=[1;8;3;5]

xyzw=inv(A)*b

xyzw=1.0000

5.0000

-5.0000

-2.0000

3、已知

A=[7,2,1,-2;9,15,3,-2;-2,-2,11,5;1,3,2,13]

(1)求矩阵A的秩(rank)

>>rank(A)

(2)求矩阵A的行列式(determinant)

>>det(A)

(3)求矩阵A的逆(inverse)

>>inv(A)

(4)求矩阵A的特征值及特征向量(eigenvalueandeigenvector)

>>[v,d]=eig(A)

该题目要求大家学会使用MATLAT的帮助系统,一是知道函数名,怎样查函数用法,二是不知道函数名,怎样查函数名及其用法。

4、关系运算与逻辑运算

已知a=20,b=-2,c=0,d=1

(1)r1=a>b

(2)r2=a>b&c>d

(3)r3=a==b*(-10)

(4)r4=~b|c

r1=1,r2=0,r3=1,r4=0

三、思考题

求y=?

(用formatlongg查看y的值)

方法一:

n=-10:

1:

10

formatlongg

x=2.^n

y=sum(x)

方法二:

y=0;

fort=-10:

10

y=y+2^t;

end

y

方法三

y=0;t=-10

whilet<=10

y=y+2^t;

t=t+1;

end

y

实验三选择结构程序设计及调试

一、实验目的:

掌握利用if、switch语句编写选择结构程序,学会MATLAB程序编辑、运行及调试方法。

二、实验内容:

1、求分段函数的值。

用if语句实现,算出下列表中x对应的y值。

X

-5

0

2

5

8

y

14

6

0

19

55

clc

clear

x=-5%x=input('请输入x的值')

ifx<0

y=x^2+x-6;

elseifx>=0&x<5

y=x^2-5*x+6;

else

y=x^2-x-1;

end

y

2、分别用if和swith语句实现,将百分制成绩转换为成绩等级A、B、C、D、E。

其中[90~100]分为A,[80~90)分为B,[70~80)分为C,[60~70)分为D,60分以下为E。

对超出百分制范围的成绩,给出错误提示信息。

clc

clear

s=input('请输入百分制成绩:

');

ifs<0|s>100

g='ERROR';

elseifs>=90&s<=100

g='A';

elseifs>=80&s<90

g='B';

elseifs>=70&s<80

g='C';

elseifs>=60&s<70

g='D';

else

g='E';

end

g

clc

clear

s=input('请输入百分制成绩:

');

switchfloor(s/10)

case9

g='A';

case8

g='B';

case7

g='C';

case6

g='D';

casenum2cell(0:

5)

g='E';

otherwise

ifs==100

g='A';

else

g='ERROR';

end

end

g

3、程序的调试(参考P77):

在以上编写的程序中设置断点,控制程序单步运行,观察程序的执行及变量值的变化情况。

三、思考题

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

clc

clear

x1=10+floor(90*rand

(1))

x2=10+floor(90*rand

(1))

p=input('输入+-*/运算符:

','s');

switchp

case'+'

y=x1+x2;

case'-'

y=x1-x2;

case'*'

y=x1*x2;

case'/'

y=x1/x2;

otherwise

y='error';

end

y

实验四循环结构程序设计及调试

一、实验目的:

掌握MATLAB程序编辑、运行及调试方法。

二、实验内容:

1、启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。

点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。

注:

数论中一个有趣的题目:

任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。

重复此过程,最终得到的结果为1。

如:

2®1

3®10®5®16®8®4®2®1

6®3®10®5®16®8®4®2®1

运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。

%classic"3n+1"problemfromnumbertheory.

n=1%n等于1,2,3,5,7等数

a=n;

whilen>1

ifrem(n,2)==0

n=n/2;

else

n=3*n+1;

end

a=[a,n];

end

a

2、根据,当n分别取100、1000、10000时,求x的值分别是多少?

clc

clear

y=0;

n=100

fork=1:

n

y=y+1/k^2;

end

x=sqrt(6*y)

3、编程求满足的最小m值。

以下是三种方法及结果验证方法。

clc

clear

sum_x=0;

n=0;

whilesum_x<=1e4

n=n+1;

x=2^n;

sum_x=sum_x+x;

end

re1=n

sum_x=0;

n=1;

whilesum_x<=1e4

x=2^n;

sum_x=sum_x+x;

n=n+1;

end

re2=n-

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

当前位置:首页 > PPT模板 > 其它模板

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

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