matlab课后习题解答.docx

上传人:b****3 文档编号:2843517 上传时间:2022-11-15 格式:DOCX 页数:12 大小:17.04KB
下载 相关 举报
matlab课后习题解答.docx_第1页
第1页 / 共12页
matlab课后习题解答.docx_第2页
第2页 / 共12页
matlab课后习题解答.docx_第3页
第3页 / 共12页
matlab课后习题解答.docx_第4页
第4页 / 共12页
matlab课后习题解答.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

matlab课后习题解答.docx

《matlab课后习题解答.docx》由会员分享,可在线阅读,更多相关《matlab课后习题解答.docx(12页珍藏版)》请在冰豆网上搜索。

matlab课后习题解答.docx

matlab课后习题解答

MATLAB程序设计与应用

课后习题解答

 

班级:

姓名:

学号:

3.写出完成下列操作的命令。

(1)、将矩阵A第2~5行中第1、3、5列元素赋给矩阵B。

B=A(2:

5,[1、3、5])

(2)、删除矩阵A的第七号元素。

A(7)=[]

(3)、将矩阵A的每个元素值加30。

A=A+30

(4)、求矩阵A的大小和维数。

Size(A)ndims(A)

(5)、将向量t的0元素用机器零代替。

t=eps

(6)、将含有12个元素的向量x转换成3*4矩阵。

Reshape(x,3,4)

(7)、求一个字符串的ASCII码。

double()

(8)、求一个ASCII码所对应的字符。

Char()

4、下列命令执行后,L1、L2、L3、L4的值分别是多少?

>>A=1:

9;

>>B=10-A;

>>L1=A==B;

>>L2=A<=5;

>>L3=A>3&A<7;

>>L4=find(A>3&A<7);

>>L1,L2,L3,L4;

L1=

000010000

L2=

111110000

L3=

000111000

>>L4

L4=

456

5、

(1)取出A的前3行构成矩阵B,前两列构成矩阵C,右下角3*2子矩阵构成D,B与C的乘积构成矩阵E。

(2)分别求E=10&A<25)。

>>A=[2310-0.7780;41-45655;325032;6-9.54543.14];

>>B=A(1:

3,:

);

>>C=(:

1:

2);

>>C=A(:

1:

2);

>>D=A(2:

4,3:

4);

>>E=B*C;

>>E

ans=

01

00

01

>>E&D

ans=

11

01

11

>>E|D

ans=

11

11

11

>>~E|~D

ans=

00

10

00

>>find(A>=10&A<25)

ans=

1

5

当A=[34,NaN,Inf,-Inf,-pi,eps,0]时,分析下列函数的执行结果:

all(A),any(A,isnan(A),isinf(A),isfinite(A).)

>>A=[34,NaN,Inf,-Inf,-pi,eps,0];

>>all(A)

ans=

0

>>isnan(A)

ans=

0100000

>>isinf(A)

ans=

0011000

>>isfinite(A)

ans=

1000111

7.用结构体矩阵来存储5名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和6门课程的成绩。

A

(1).x1=’学号’;A

(1).x2=’姓名’;A

(1).x3=’专业’;A

(1).x4.x41=’成绩1’;……….

A

(2).x1=’学号’;A

(2).x2=’姓名’;A

(2).x3=’专业’;A

(2).x4.x41=’成绩1’;……….

A(3).x1=’学号’;A(3).x2=’姓名’;A(3).x3=’专业’;A(3).x4.x41=’成绩1’;……….

A(4).x1=’学号’;A(4).x2=’姓名’;A(4).x3=’专业’;A(4).x4.x41=’成绩1’;……….

A(5).x1=’学号’;A(5).x2=’姓名’;A(5).x3=’专业’;A(5).x4.x41=’成绩1’;……….

8、建立单元矩阵B并回答有关问题。

>>B={1;'Brenden';reshape(1:

9,3,3);[12,34,2;54,21,3;4,23,67]};

>>size(B)

ans=

41

>>B{1,1}=1;B{1,2}='Brenden';;B=reshape(1:

9,3,3);B={12,34,2;54,21,3;4,23,67};

>>size(B)

ans=

33

>>B{1,1}=1;B{1,2}='Brenden';;B{2,1}=reshape(1:

9,3,3);B{2,2}={12,34,2;54,21,3;4,23,67};

>>size(B)

ans=

33

>>

>>B{1,1}=1;

>>B{1,2}='Brenden';

>>B{2,1}=reshape(1:

9,3,3);

>>B{2,2}={12,34,2;54,21,3;4,23,67};

>>size(B)

ans=

33

>>ndims(B)

ans=

2

>>B

(2)

ans=

[3x3double]

>>B(4)

ans=

'Brenden'

>>B(3)=[];

>>B{3}=[];

>>B

B=

[1][3x3double][]{3x3cell}[23][2][3][67]

>>

第四章

第一题

x=input('enterx:

');

m1=fix(x/1000);

m2=fix((x-m1*1000)/100);

m3=fix((x-m1*1000-m2*100)/10);

m4=rem(x,10);

m1=rem((m1+7),10);

m2=rem((m2+7),10);

m3=rem((m3+7),10);

m4=rem((m4+7),10);

m=m3*1000+m4*100+m1*10+m2

disp(m)

第二题

a=input('请输入a:

');

b=input('请输入b:

');

c=input('请输入c:

');

x=input('请输入x:

');

switchfix(x/0.5)

case{1,2}

y=a*x^2+b*x+c;

case{3,4,5,6}

y=a*sin(b)+x;

case{7,8,9,10}

y=log(abs(b+c/x));

end

disp(y)

a=input('请输入a:

');

b=input('请输入b:

');

c=input('请输入c:

');

x=input('请输入x:

');

ifx>=0.5&x<1.5

y=a*x^2+b*x+c;

end

ifx>=1.5&x<3.5

y=a*sin(b)+x;

end

ifx>=3.5&x<5.5

y=log(abs(b+c/x));

end

y

第三题

a=fix(rand(1,20)*100);%产生20个随机数,因为产生的随机数是与小数形式产生的,乘于100后就是带有两个小数的两位数,在求整,就达到要求了

sum=0;

h=1;

fori=1:

20

sum=sum+a(i);%求20个数的和

end

b=sum/20;%求平均值

%一下是求出小于平均值的奇数

fori=1:

20

if(a(i)

c(h)=a(i);

h=h+1;

end

end

c

第四题

fori=1:

20

A(i)=input('请输入20个数:

');

end

Amin=A

(1);

Amax=A

(1);

fori=1:

19

ifA(i+1)>Amax

Amax=A(i+1);

end

ifA(i+1)

Amin=A(i+1);

end

end

Amax=max(A)

Amin=min(A)

第五题

sum=1;

fori=1:

63

sum=sum+2^i;

end

s=sum;

s

第六题

sum=0;

n=input('请输入n:

');

fori=1:

n

sum=sum+(-1)^(i+1)/i;

end

sum

请输入n:

100

sum=

0.6882

请输入n:

1000

sum=

0.6926

请输入n:

10000

sum=

0.6931

 

sum=0;

n=input('请输入n:

');

fori=1:

n

sum=sum+((-1)^(i+1))/(2*i-1);

end

sum

请输入n:

100

sum=

0.7829

请输入n:

1000

sum=

0.7851

请输入n:

10000

sum=

0.7854

sum=0;

n=input('请输入n:

');

fori=1:

n

sum=sum+1/(4^i);

end

sum

请输入n:

100

sum=

0.3333

请输入n:

1000

sum=

0.33333333333333

请输入n:

10000

sum=

0.33333333333333

 

prod=1;

n=input('请输入n:

');

fori=1:

n

prod=prod*(((2*n)^2)/((2*n-1)*(2*n+1)));

end

prod

请输入n:

100

prod=

1.00250315893453

请输入n:

1000

prod=

1.00025003128379

请输入n:

10000

prod=

1.00002500031232

第七题

f

(1)=1;

f

(2)=1;

n=input('请输入n:

');

f

(1)

f

(2)

fori=3:

n

f(i)=f(i-1)+f(i-2);

f(i)

end

第八题

函数文件:

function[a,b]=test(c,d)

a=c*d;

b=c.*d;

a

b

运行结果:

c=[12;35];

>>d=[25;87];

>>[a,b]=test(c,d);

a=

1819

4650

b=

210

2435

第九题

函数文件:

functionsum=test(m,n)

sum=0;

fori=1:

n

sum=sum+i^m;

end

运行结果:

sum=test(1,100)+test(2,50)+test(0.5,10)

sum=

4.7997e+004

第十题

s=0;

a=[12,13,14;15,16,17;18,19,20;21,22,23];

fork=a

forj=1:

4

ifrem(k(j),2)~=0

s=s+k(j);

end

end

end

s

运行结果:

s=

108

命令文件exe.m:

globalx

x=1:

2:

5;y=2:

2:

6;

ex=sub(y);

x

y

函数文件sub.m:

functionfun=sub(z)

globalx

z=3*x;

fun=x+z;

运行结果:

exe

x=

135

y=

246

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

当前位置:首页 > 考试认证 > 公务员考试

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

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