matlab章课后作业Word格式文档下载.docx

上传人:b****5 文档编号:17483481 上传时间:2022-12-06 格式:DOCX 页数:28 大小:122.62KB
下载 相关 举报
matlab章课后作业Word格式文档下载.docx_第1页
第1页 / 共28页
matlab章课后作业Word格式文档下载.docx_第2页
第2页 / 共28页
matlab章课后作业Word格式文档下载.docx_第3页
第3页 / 共28页
matlab章课后作业Word格式文档下载.docx_第4页
第4页 / 共28页
matlab章课后作业Word格式文档下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

matlab章课后作业Word格式文档下载.docx

《matlab章课后作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab章课后作业Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。

matlab章课后作业Word格式文档下载.docx

22.0000-14.0000i

sin(2-8*i)

1.3553e+003+6.2026e+002i

5.判断下面语句的运算结果。

(1)4<

20

(2)4<

=20

(3)4==20

(4)4~=20

(5)'

b'

<

'

B'

4<

20

1

=20

4==20

4~=20

'

6.设a=39,b=58,c=3,d=7判断下面表达式的值。

(1)a>

b

(2)a<

c

(3)a>

b&

&

b>

(4)a==d

(5)a|b>

(6)~~d

a=39,b=58,c=3,d=7

39

58

3

7

a>

a<

a==d

a|b>

~~d

7.编写脚本,计算上面第2题中的表达式。

%计算表达式的值并显示

disp('

sin(60)='

);

disp(sind(60));

exp(3)='

disp(exp(3));

cos(3*pi/4)='

disp(cos(3*pi/4));

8.编写脚本,输出上面第6题中的表达式的值。

a=39;

b=58;

c=3;

d=7;

a>

),disp(a>

b);

a<

c'

),disp(a<

c);

c)

a==d'

),disp(a==d);

a|b>

),disp(a|b>

~~d'

),disp(~~d);

Matlab第三章

1.在命令提示符下输入以下两条命令:

x=[93063]

y=mod((sqrt(length(((x+5).*[12345]))*5)),3)

求y值为多少?

x=

93063

y=

2

2.在MATLAB中运行以下命令:

a=[3,7,2,7,9,3,4,1,6];

b=[7];

a(4)=[];

vec1=a==b;

vec2=mod(a,2)==0;

c=sum(vec1);

vec3=vec1+vec2;

d=vec3.*a;

vec4=find(a>

5);

e=a(vec4)+5;

vec5=find(a<

f=vec5.^2;

求c、d、e、f的值。

c

d

07200406

e

e=

121411

f

f=

19253649

3.向量操作时Matlab的主要部分,使用给出的向量来做下面的练习.

Vec=[4528472642572457432573362533430-65-343]

(1)创建一个新的向量vecR,使其成为vec的转置.

(2)创建一个新的向量vecB,使其成为vec前半部分与后半部分对换的结果.

(3)创建一个新的向量vecS,使其包含vec中所有小于45的元素,且按vec中的顺序排列.

(4)创建一个新的向量vec3R,使其从vec中最后一个元素开始,间隔3个元素取一个元素,直到第一个元素为止.

(5)创建一个新的向量vecN,使其包含vec中所有等于2或4的元素的索引值.

(6)创建一个新的向量vecG,使其包含vec中去掉索引值为奇数且取值为2或4的元素后的所有元素.

vecR=vec'

vecR=

4

5

8

64

57

45

43

6253

-65

-34

vec1=vec(1:

13)

vec1=

4528472642572457

vec2=vec(14:

26)

vec2=

Columns1through8

432573362533

Columns9through13

430-65-34

vecB=[vec2vec1]

vecB=

Columns9through16

430-65-34452

Columns17through24

8472642572

Columns25through26

457

small=vec<

45

small=

Columns1through17

11111110101011111

Columns18through26

110111111

vecS=vec(small)

vecS=

452847222743257333

Columns18through22

vec3R=vec(end:

-3:

1)

vec3R=

-34362537432644

Column9

vecN=find(vec==2|vec==4)

vecN=

13579111522

[value]=vecN(find(mod(vecN,2)))

value=

135791115

vec(value)=0

vec=

050807064

05704574305

73362533430

-65-34

vec(vec==0)=[]

587645745743

57336253343

Columns17through18

vecG=vec

vecG=

4.给定一下3个向量:

nums1=[713532121991024]

nums2=[5414569204548726132109411]

nums3=[441125418477998852315]

编写脚本文件创建相应的3个向量,newNum1、newNum2、newNum3,分别包含以上3个向量中从第一个元素开始且间隔取值的元素。

%取向量索引为奇数的值

clear

clc

nums1=[713532121991024];

nums2=[5414569204548726132109411];

nums3=[441125418477998852315];

x1=find(mod(find(nums1),2)==1);

%向量1

[values1]=nums1(x1);

newNums1=values1;

nums1='

disp(nums1);

newNums1='

disp(newNums1);

x2=find(mod(find(nums2),2)==1);

%向量2

[values2]=nums2(x2);

newNums2=values2;

nums2='

disp(nums2);

newNums2='

disp(newNums2);

x3=find(mod(find(nums3),2)==1);

%向量3

[values3]=nums3(x3);

newNums3=values3;

nums3='

disp(nums3);

newNums3='

disp(newNums3);

Matlab第四章

1.有如下数据:

X

1

1.1

1.2

1.3

1.4

y

1.00000

1.23368

1.55271

1.99372

2.61170

利用本章介绍的几种插值方法对其进行插值,得到每隔0.05的结果。

%4种插值方法

x=[11.11.21.31.4];

%x与y的值

y=[1.000001.233681.552711.993722.61170];

length_of_x=length(x);

scalar_x=[x

(1):

0.05:

x(length_of_x)];

length_of_sx=length(scalar_x);

fori=1:

length_of_sx%定义4种方法

y_nearest(i)=interp1(x,y,scalar_x(i),'

nearest'

y_liner(i)=interp1(x,y,scalar_x(i),'

liner'

y_spline(i)=interp1(x,y,scalar_x(i),'

spline'

y_cubic(i)=interp1(x,y,scalar_x(i),'

cubic'

end

subplot(2,2,1),plot(x,y,'

*'

),holdon,plot(scalar_x,y_nearest),title('

%输出

subplot(2,2,2),plot(x,y,'

),holdon,plot(scalar_x,y_liner),title('

linear'

subplot(2,2,3),plot(x,y,'

),holdon,plot(scalar_x,y_spline),title('

subplot(2,2,4),plot(x,y,'

),holdon,plot(scalar_x,y_cubic),title('

2.2.求下列函数的解,并绘制图形。

(1)y=ex-x5,初始点为x=8.

(2)y=xsin(x)

y=@(x)exp(x)-x^5;

x=fzero(y,8)

12.7132

fplot(y,[10,14]);

holdon

plot(x,y(x),'

r*'

y=@(x)x*sin(x);

x=fzero(y,0)

3.求下列函数的极值。

(1)z=x2-(y-1)2

(2)z=(x-y+1)2

z=@(x)x

(1)^2-(x

(2)-1)^2;

[x,fvalue]=fminsearch(z,[-1,1])

Exiting:

Maximumnumberoffunctionevaluationshasbeenexceeded

-increaseMaxFunEvalsoption.

1.0e+043*

1.11381.2383

fvalue=

-2.9279e+085

z=@(x)(x

(1)-x

(2)+1)^2;

-1.2073-0.2073

1.9045e-022

4.计算下列积分。

f=@(x)x+x.^3+x.^5;

q=quad(f,-1,1)

q=

2.2204e-016

f=@(x,y)sin(y).*(x+y)./(x.^2+4);

q=dblquad(f,1,10,1,10)

5.5254

Matlab第五章

1.编制一个脚本,查找给定字符串中指定字符出现的次数和位置.

%查找给定字符串中指定字符出现的次数和位置

letter='

a'

;

%指定字符

string='

Ihavealongstring'

%给定字符串

places=findstr(string,letter);

%位置

times=length(places);

%次数

placesare:

disp(places);

timesare:

disp(times);

2.编写一个脚本,判断输入字符串中每个单词的首字母是否为大写,若不是则将其修改为大写,其他字母为小写.

%将每个单词首字母变为大写

str='

disp(str);

nlength=length(str);

fork=1:

nlength

if(k==1||isspace(str(k-1)))&

(str(k)<

='

z'

&

str(k)>

str(k)=char(double(str(k))-32);

end

3.创建2×

2单元数组,第1、2个元素为字符串,第三个元素为整型变量,第四个元素为双精度(double)类型,并将其用图形表示.

A=cell(2,2)

A=

[][]

A(1,1)={'

string1'

};

A(1,2)={'

string2'

A(2,1)={uint8(100)};

A(2,2)={double(60)};

cellplot(A)

4.创建一个结构体,用于统计学生的情况,包括学生的姓名、学号、各科成绩等。

然后使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均分、排列名次等.

student=struct('

name'

{'

Ann'

'

Bob'

Cilly'

},'

number'

{1,2,3},'

grade'

{90,60,85})

student=

1x3structarraywithfields:

name

number

grade

student

(1)

ans=

name:

number:

grade:

90

student

(2)

60

student(3)

85

total=student

(1).grade+student

(2).grade+student(3).grade

total=

235

average=total/3

average=

78.3333

[new,index]=sort([student.grade],'

descend'

new=

908560

index=

132

Matlab第六章

1.假设x=[-3,0,0,2,5,8]且y=[-5,-2,0,3,4,10]。

通过手算得到以下运算的结果,并使用MATLAB检验计算的结果。

(1)z=y<

~x

(2)z=x&

(3)z=x|y

(4).z=xor(x,y)

x=[-3,0,0,2,5,8]

-300258

y=[-5,-2,0,3,4,10]

-5-203410

z1=y<

z1=

111000

z2=x&

z2=

100111

z3=x|y

z3=

110111

z4=xor(x,y)

z4=

010000

2.在MATLAB中使用一个循环确定:

如果用户最初在一个银行帐户中存储$10000,并且在每年的年终再存储$10000(银行每年支付6%的利息),那么账户上要积累$1000000要需要多长时间。

%银行存款计算

a=10000;

%本金

b=10000;

%每年新增存款

sum=0;

%存款总和

i=1;

sum=sum+a;

whilesum<

1000000

i=i+1;

sum=sum*(1+0.06)+b;

year='

disp(i)

near=

34

3.某个特定的公司生产和销售高尔夫手推车。

每周周末,公司都将那一周所生产的手推车转移到仓库(库存)之中。

卖出的所有手推车都是从库存中提取。

这个过程的一个简单模型为:

I(k+1)=P(k)+I(k)-S(k)

其中:

P(k)=第k周所生产的手推车数量;

I(k)=第k周库存中的手推车数量;

S(k)=第k周所卖出的手推车数量;

以下为10周计划中的每周销售额;

2

3

4

5

6

7

8

9

10

销售额

50

55

60

70

75

80

90

假设每周的产量都基于前一周的销售额,所以有P(k)=S(k-1)。

假设第一周的产量为50辆手推车:

即,P

(1)=50。

编写一个MATLAB程序计算:

10周之内每周库存之中的手推车数量或者计算手推车库存数量减少到0为止的时间,并同时绘制图形。

针对以下两种情况运行该程序:

(1)初始库存为50辆手推车,所以I

(1)=50;

(2)初始库存为30辆手推车,所以I

(1)=30。

s=[50556070707580809055]

s=

50556070707580809055

fori=2:

1:

p(i)=s(i-1);

p

p=

0505560707075808090

l=[50000000000]

l=

50000000000

forn=2:

l(n)=l(n-1)+p(n)-s(n);

l

50454030302520201045

l=[30000000000]

30000000000

3025201010500-1025

库存量

(1)

40

30

库存量

(2)

25

(<

0)

Matlab第七章

1.创建符号表达式f(X)=sinx+x。

f=sym('

sin(x)+x'

2.计算习题1中表达式在

处的值,并将结果设置为以下5种精度:

小数点之后1位、2位、5位、10位和20位有效数字。

digits

(2)

vpa(subs(f,pi/6))

1.0

digits(3)

1.02

digits(6)

1.0236

digits(11)

digits(21)

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

当前位置:首页 > 高中教育 > 高中教育

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

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