matlab第七章答案.docx

上传人:b****3 文档编号:5268681 上传时间:2022-12-14 格式:DOCX 页数:16 大小:19.90KB
下载 相关 举报
matlab第七章答案.docx_第1页
第1页 / 共16页
matlab第七章答案.docx_第2页
第2页 / 共16页
matlab第七章答案.docx_第3页
第3页 / 共16页
matlab第七章答案.docx_第4页
第4页 / 共16页
matlab第七章答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

matlab第七章答案.docx

《matlab第七章答案.docx》由会员分享,可在线阅读,更多相关《matlab第七章答案.docx(16页珍藏版)》请在冰豆网上搜索。

matlab第七章答案.docx

matlab第七章答案

matlab第七章答案

【篇一:

matlab教程2012a习题解答1-7章完整版-张志涌-北航】

class=txt>?

matlabr2012a课后习题答案全解第一章基础准备及入门

习题1及解答

?

1.数字1.5e2,1.5e3中的哪个与1500相同吗?

〖解答〗

1.5e3

?

2.请指出如下5个变量名中,哪些是合法的?

abcd-2xyz_33chana变量abcdefgh〖解答〗

2、5是合法的。

?

3.在matlab环境中,比1大的最小数是多少?

〖解答〗

1+eps

?

4.设a=-8,运行以下三条指令,问运行结果相同吗?

为什么?

w1=a^(2/3)

w2=(a^2)^(1/3)

w3=(a^(1/3))^2

〖解答〗

(1)不同。

具体如下

w1=a^(2/3)%仅求出主根

w2=(a^2)^(1/3)

w3=(a^(1/3))^2

w1=

w2=

4.0000

w3=%求出(-8)^2的主根%求出(-8)主根后再平方-2.0000+3.4641i

-2.0000+3.4641i

(2)复数的多方根的,下面是求取全部方根的两种方法:

(a)根据复数方根定义

a=-8;n=2;m=3;

ma=abs(a);aa=angle(a);

fork=1:

m%m决定循环次数

%计算各根的相角

%计算各根sa(k)=(aa+2*pi*(k-1))*n/m;endresult=(ma^(2/3)).*exp(j*sa)

result=

-2.0000+3.4641i4.0000-0.0000i-2.0000-3.4641i

(b)利用多项式r?

a?

0求根

p=[1,0,0,-a^2];

r=roots(p)

r=

-2.0000+3.4641i

-2.0000-3.4641i

4.000032

?

5.指令clear,clf,clc各有什么用处?

〖解答〗

clear清除工作空间中所有的变量。

clf清除当前图形。

clc清除命令窗口中所有显示。

?

6.以下两种说法对吗?

(1)“matlab进行数值的表达精度与

其指令窗中的数据显示精度相同。

(2)matlab指令窗中显示的数值有效位数不超过7位。

〖解答〗

(1)否;

(2)否。

?

123?

456?

,?

7.想要在matlab中产生二维数组s?

?

下面哪些指令?

?

?

?

789?

?

能实现目的?

(1)s=[1,2,3;4,5,6;7,8;9]

(2)s=[123;456;789]

(3)s=[1,2,3;4,5,6;7,8,9]

〖解答〗

前两种输入方法可以,后一种方法不行。

%整个指令在中文状态下输入

?

8.试为例1.3-5编写一个解题用的m脚本文件?

〖解答〗

直接点击新文件图标,出现m文件编辑器窗口;在该m文件编辑器中,输入例1.3-5中的全部指令;并另存为p109.m,便得到所需的脚本文件。

第2章符号运算

习题2及解答

?

/1说出以下四条指令产生的结果各属于哪种数据类型,是“双精

度”对象,还是“符号”符号对象?

3/7+0.1;sym(3/7+0.1);sym(3/7+0.1);vpa(sym(3/7+0.1))

〖目的〗

?

不能从显示形式判断数据类型,而必须依靠class指令。

〖解答〗

c1=3/7+0.1

c2=sym(3/7+0.1)

c3=sym(3/7+0.1)

c4=vpa(sym(3/7+0.1))

cs1=class(c1)

cs2=class(c2)

cs3=class(c3)

cs4=class(c4)

c1=

0.5286

c2=

37/70

c3=

0.52857142857142857142857142857143

c4=

0.52857142857142857142857142857143

cs1=

double

cs2=

sym

cs3=

sym

cs4=

sym

?

/2在不加专门指定的情况下,以下符号表达式中的哪一个变量被

认为是自由符号变量.

sym(sin(w*t)),sym(a*exp(-x)),sym(z*exp(j*th))

〖目的〗

?

理解自由符号变量的确认规则。

〖解答〗

symvar(sym(sin(w*t)),1)

ans=

w

symvar(sym(a*exp(-x)),1)

ans=

a

symvar(sym(z*exp(j*th)),1)

ans=

z

?

/3求以下两个方程的解

3

(1)试写出求三阶方程x?

44.5?

0正实根的程序。

注意:

只要正

实根,不要出现其他根。

(2)试求二阶方程x2?

ax?

a2?

0在a?

0时的根。

〖目的〗

?

体验变量限定假设的影响

〖解答〗

(1)求三阶方程x?

44.5?

0正实根

reset(symengine)

symsxpositive

solve(x^3-44.5)

ans=

(2^(2/3)*89^(1/3))/2

%确保下面操作不受前面指令运作的影响3

(2)求五阶方程x?

ax?

a?

0的实根

symsapositive

solve(x^2-a*x+a^2)

insolveat83

ans=

[emptysym]

symsxclear

symsapositive

solve(x^2-a*x+a^2)

ans=

a/2+(3^(1/2)*a*i)/2

a/2-(3^(1/2)*a*i)/2

%注意:

关于x的假设没有去除22warning:

explicitsolutioncouldnotbefound.

【篇二:

matlab习题答案】

、求下列表达式的值

(1)w=sqrt

(2)*(1+0.34245*10^(-6))

w=

1.4142

(2)a=3.5;b=5;c=-9.8;

x=(2*pi*a+(b+c)/(pi+a*b*c)-exp

(2))/(tan(b+c)+a)

x=

0.9829

(3)y=2*pi*3.32^2*((1-pi/4)*(-7.9)-(0.8333-pi/4)*3.32)

y=

-128.4271

(4)t=[2,1-3i;5,-0.65]

t=

2.00001.0000-3.0000i

5.0000-0.6500

z=1/2*exp(2*t)*log(t+sqrt(1+t^2))

z=

1.0e+004*

0.0057-0.0007i0.0049-0.0027i

1.9884-0.3696i1.7706-1.0539i

2、已知

a=[-1,5,4;0,7,8;3,61,7]

a=

-154

078

3617

b=[8,3,-1;2,5,3;-3,2,0]

b=

83-1

253

-320

(1)a+6*b

ans=

4723-2

123726

-15737

a^2-b+eye

ans=

627266

23533110

22868550

(2)a*b

ans=

-103016

-105121

125328180

a.*b

ans=

-815-4

03524

-91220

b*a

ans=

-11049

722869

3-14

(3)a/b

ans=

-0.39361.20210.0851

-0.94682.3511-0.9574

4.61703.872313.8936

b\a

ans=

-0.5106-8.6170-0.6170

0.734017.57452.5745

-0.8830-21.2128-1.2128

(4)[a,b]

ans=

-15483-1

078253

3617-320

[a([1,3],:

);b^2]

ans=

-154

3617

73371

173713

-2019

3、已知

a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]

a=

23.000010.0000-0.77800

41.0000-45.000065.00005.0000

32.00005.0000032.0000

6.0000-9.540054.00003.1400

(1)a(find(a=10a=25))

ans=

23

10

(2)b=a(1:

3,:

b=

23.000010.0000-0.77800

41.0000-45.000065.00005.0000

32.00005.0000032.0000

c=a(:

1:

2)

c=

23.000010.0000

41.0000-45.0000

32.00005.0000

6.0000-9.5400

d=a(2:

4,3:

4)

d=

65.00005.0000

032.0000

54.00003.1400

e=b*c

e=

1.0e+003*

0.9141-0.2239

1.20802.7123

1.1330-0.2103

第三章实验指导

2、

(1)grade=input(请输入百分制成绩:

);

if(grade0|grade100)

class=该数不合理;

elseif(grade=90grade=100)

class=a;

elseif(grade=80grade=89)

class=b;

elseif(grade=70grade=79)

class=c;

elseif(grade=60grade=69)

class=d;

else

class=e;

end

class

请输入百分制成绩:

300

class=

该数不合理

请输入百分制成绩:

23

class=

e

(2)grade=input(请输入百分制成绩:

);

if(grade100|grade0)

class=该数不合理

else

switchfix(grade/10)

case{0,1,2,3,4,5}

class=e;

case{6}

class=d;

case{7}

class=c;

case{8}

class=b;

case{9,10}

class=a;

end

class

end

请输入百分制成绩:

23

class=

e

请输入百分制成绩:

101

class=

该数不合理

3、输入20个数,求其中最大数和最小数。

fori=1:

20

a(i)=input(pleaseinputanumble:

);

end

amax=max(a)

amin=min(a)

pleaseinputanumble:

1

pleaseinputanumble:

2

pleaseinputanumble:

3

pleaseinputanumble:

4

pleaseinputanumble:

5

pleaseinputanumble:

6

pleaseinputanumble:

7

pleaseinputanumble:

8

pleaseinputanumble:

9

pleaseinputanumble:

0

pleaseinputanumble:

12

pleaseinputanumble:

23

pleaseinputanumble:

34

pleaseinputanumble:

45

pleaseinputanumble:

56

pleaseinputanumble:

67

pleaseinputanumble:

78

pleaseinputanumble:

89

pleaseinputanumble:

90

pleaseinputanumble:

123

amax=

123

amin=

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

a=[1,2,3,4

5,1;6,7,8,9,0,2;12,23,34,45,56,3;67,78,89,90,12,4;6,5,4,3,2,1;23,45,65,67,2,34];

n=input(pleaseinputanumble:

if(n5|n0)

a(5,:

),disp(fault)

else

a(n,:

end

pleaseinputanumble:

2

n=

2

ans=

678902

pleaseinputanumble:

6

n=

6

ans=

654321

fault

第四章实验指导

1、绘制下列曲线。

(1)x=0:

0.01:

2;

y=x-x.*x.*x/(3*2*1);

plot(x,y);

【篇三:

matlab作业答案】

>2.1实验程序:

x=[12233445566778]%逐个输入数组中的元素值

x(6)%读数组中的第6个元素

x([135])%返回数组的第1、3、5个元素构成的子数组

x(4:

end)%返回第4个元素与其后所有元素构成的子数组

x(find(x70))%返回数组中大于70的元素的值

matlab分步截屏:

创建一个有7个元素的一维数组:

直接寻访一维数组的第6个元素:

寻访一维数组的第1,3,5个元素:

(3)寻访一维数组中第4个至最后一个元素:

寻访一维数组中大于70的元素:

2.3实验程序:

a=zeros(2,5)%生成2行5列的全0数组

a(1:

10)=-4:

5%将单下标为1到10的元素分别赋值为-4到5

l=abs(a)3%判断其绝对值是否大于3,大于则l对应的位置为值1,否则为l

值为0

islogical(l)%判断l是否为逻辑数组,是逻辑数组则返回1,否则返回0

x=a(l)%x为逻辑数组l对应为1的位置的数据的列向量

matlab分步截屏:

生成数组:

寻访数组a中绝对值大于3的元素:

输出数组a中绝对值大于3的元素:

2.5实验程序:

p1=[1,0,2];%定义多项式p1(s)=s2+1

p2=[1,4];%定义多项式p2(s)=s+4

p3=[1,1];%定义多项式p3(s)=s+1

p4=conv(p1,conv(p2,p3));%定义多项式p4(s)=p1(s)p2(s)p3(s)

p5=[1011];%定义多项式p5(s)=s3+s+1

[q,r]=deconv(p4,p5);%求p4(s)/p5(s)

disp([商:

poly2str(q,s)]);

disp([余式:

poly2str(r,s)])

matlab实验截屏:

2.6实验程序:

a=[122334;455667;788990];%定义3阶数组a

p1a=poly(a);%创建方阵a的特征多项式p1a

p2a=poly2str(p1a,s)%将拟合后的p1a多项式系数转换为字符形式的特征多

项式函数p2a

matlab实验截屏:

第四章m文件和程序设计

4.2实验程序exp4_2:

x=input(请输入半径r的值:

);%将用户键入量赋给x

s=f1(x);%调用函数f1(x)计算面积s

c=f2(x);%调用函数f2(x)计算面积c

disp([圆的面积s为:

num2str(s)])%用num2str将数值变量转换为字符变量disp([圆的周长c为:

num2str(c)])

实验程序-面积函数文件f1:

functions=f1(x)

s=pi*x*x;

end

实验程序-周长函数文件f2:

functionc=f2(x)

c=2*pi*x;

end

matlab截屏:

4.3实验程序exp4_3:

sum=0;

n=input(请输入n的值:

fori=1:

n

sum=sum+1/i^2;

end

disp([计算结果为:

num2str(sum)])

matlab截屏:

并用disp输出带数值的文本信息%自定义函数f1(x)%自定义函数f2(x)%定义变量sum%并将用户键入量赋给变量n,并显示“请输入n的值”%i从1取到n%依次求sum的值%用num2str将数值变量转换为字符变量并用disp输出带数值的文本信息

4.5实验程序exp4_5:

sum=0;%变量sum的初值是0

n=0;%变量n的初值是0

whilesum2000%当sum值小于2000时

n=n+1;%n=n+1

sum=sum+n;%sum为n的累加和

end

disp([最大的n值为:

num2str(n-1)])%最后一次循环,sum+n后得到的sum值

大于2000,因此最后输出的最大n值应为n-1

matlab截屏:

4.6

(1)使用for循环时:

实验程序exp4_6_1:

sum=0;%定义变量sum,其初值为0

fori=0:

63%i从0取到63

sum=sum+2^i;%依次求sum的累加

end

disp([k=,num2str(sum)])

matlab截屏:

(2)使用while循环时:

实验程序exp4_6_2:

sum=0;%定义变量sum,其初值为0

i=0;%定义变量i,其初值为0

whilei=63%当i≦63时

sum=sum+2^i;%依次求sum的累加

i=i+1;

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

当前位置:首页 > 自然科学 > 物理

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

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