MATLAB所有作业及答案docx.docx

上传人:b****6 文档编号:5683816 上传时间:2022-12-31 格式:DOCX 页数:23 大小:182.48KB
下载 相关 举报
MATLAB所有作业及答案docx.docx_第1页
第1页 / 共23页
MATLAB所有作业及答案docx.docx_第2页
第2页 / 共23页
MATLAB所有作业及答案docx.docx_第3页
第3页 / 共23页
MATLAB所有作业及答案docx.docx_第4页
第4页 / 共23页
MATLAB所有作业及答案docx.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

MATLAB所有作业及答案docx.docx

《MATLAB所有作业及答案docx.docx》由会员分享,可在线阅读,更多相关《MATLAB所有作业及答案docx.docx(23页珍藏版)》请在冰豆网上搜索。

MATLAB所有作业及答案docx.docx

MATLAB所有作业及答案docx

、上交作业

第一周作业

严)计算/

其中a=5.67,b=7.8111

»a=5.67;b=7.8111;

»exp(a+b)/logl0(a+3)

2・己知三角形的三边长为3,4,5,求其面积.

»a=3;b=4;c=5;

»p=(a+b+c)/2;

»s=sqrt(p*(a-p)*(b-p)*(c-p))

第二周作业

第3次课

1.创建三阶幻方矩阵,并赋值于变量a.

»a=magic(3)

a=

816

357

492

2.用linspace函数创建向量12345

ans=

12345

3.

(1)创建向量A=[123456789]

»A=1:

9或>>A=1:

1:

9

注:

X=J:

INC:

Ko这里J、K分别为首尾数字,INC

ans=为步长

123456789

⑵将此向量重组成3行,3列的矩阵»A=reshape(A,3,3)

A=

注:

X=reshape(A,p,q)op、q分别为行、列数。

147

258

369

(3)把矩阵的第三列索引出,并赋值与变量b»b=A(:

3)

b=

7

8

9

(4)把矩阵的第3行第2列的元素改为0

»A(3,2)=0

A=

1

4

7

2

5

8

3

0

9

第4次课

1.设A=[2,・l;・2,・2],B=[2,-3;0,-4],C=eye

(2);求A+B,A*C,A.*C与A・\B?

»A=[2r1;.2r2];B=[2r3;0r4];C=eye

(2);»A+B

ans=

4-4

・2・6

»A*B

ans=

40

0-6

»A.*B

ans=

40

0-6

ans=

13

2.试求矩阵方程X4

-1

2

2

0

3的解。

»A=[121;42-6;-102];B=[l23;111];

»X=B/A注:

XA=BoXA4"=BA'1<=>X=B/A

ans=

利用高代知识求A的逆矩阵

3.阅读下列程序,写出运行结果

(1)A=linspace(10,50,6);B=reshape(A,3,2)B=

10

34

18

42

26

5()

(2)A=ones(3);B=magic(3);C=A+B;D=diag(C)

D=

注:

C=

diag:

获取矩阵的对角线元素

9

9

27

或生成对角矩阵

6

4

610

3

5

1013

(3)A=eye

(2);B=[123;4,5,6;7,&9];C=B(122:

3);D=[A,A*2;C,tril(C)]

注:

C=B(1:

2,2⑶为索取B中第一行且第二三列的元素和第二行且第二、三列的元素并赋给C;tril(C)为获取C的上三角矩阵。

第三周作业第5次课

1•设a=2E5c=150,d=0,分析下而算式的运算步骤并得出最终结果。

(1)a*bA2>a*c

分析:

a*bA2=-50;a*c=-300;那么a*bA2>a*cO・50>・300,为假,逻辑值是:

0,即最终结果。

(2)dlb>a

分析:

lb>a为0,dlb>a为0。

(3)(dlb)>a

分析:

(dlb)为1,(dlb)>a为1。

2-44

1031

2.已知A=

・850

002

3

2

0

0

B=eye⑷,分别求:

(参考课本P103运算符的优先级)

 

_1

0

0

0

注:

B=

0

1

0

0

0

0

1

0

0

0

0

1

101

111

(A>B)=

010

001

1

1

0

0

⑵A&B

_1000~

0100

A&B二

0000

0000

(3)AIB

「11

11

AIB=

11

00

11

11

10

11

⑷〜AI~B

011

101

~AI~B=

111

111

1

1

1

1

(5)A>=3&A<6

001

010(A>=3&A<6)=

010

000

1

0

0

0

(6)删除矩阵A的第三、四两列。

方法一:

»A=A(:

1⑵=>索引要保留的项

方法二

»A(:

3:

4)=[]=>运用空数组

第6次课

 

1.已知字符串在英文格式中,和sr=4nGBusage'

按要求完成下列各题:

(1)st(3:

-l:

l)=

ans=文英在

(2)把字符串sr中的后7个元索索引出,并赋值于变量se

»se=sr([end-6:

endl)

se=

GBusage

(3)用两种方法把字符串st和sr水平组介。

方法一:

»strcat(st,sr)

ans=

在英文格式中inGBusage

方法二:

»a=[st,sr]

在英文格式中inGBusage

(4)用两种方法按以下格式输出字符串:

在英文格式中

inGBusage

方法一:

»b=strvcat(st^sr)

b=

在英文格式中

inGBusage

方法二:

»b=char(st,sr)b=

在英文格式中

inGBusage

此外,方法三:

>>b=,在英文格式中5srl

b=

在英文格式中

inGBusage

(5)strfind(sr,se)

»strfind(sr^se)

ans=

注:

b二「在英文格式屮此处为五个空格,sr]

注:

strfind表示在笫一个字符串中查询第二个字符串出现的索引。

此外,findstr表示在第一个字符串中査询笫二个字符串出现的索引。

3

(6)slrncmp(sr,sr(1:

4),3)

»strncmp(sr,sr(1:

4),3)否

ans=

注:

slmcmp(a,b,x)表示比较字符串前x个字符,看是一致。

结果为逻辑值。

»se=upper(se)se=

GBUSAGE

注:

将字符串se的字符都转变成小写字符»se=lower(se)

1

(7)将字符串se的字符都转变成人写字符。

»A={1,'Brenden,;reshape(1:

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

(2)A{2,1}⑷二注:

A{2,1}(4)表示访问A中第2行1列元胞的第4个

»A{2,1}(4)元素。

ans=

4

(3)如何将Brenden改写成brenden?

»A{1,2}="brenden'或>>lower(A{1,2})

2•用结构数组来存储2名学生的基木情况数据,每名学生的数据包括学号、姓名和2门课程的成绩。

»Shident二stwctCname',{'Tom','Lily'},'num',{'110','120'},'Math',{'99','98'},'English',{'98…','99'})

…'如果要调取第二个学生的信息,只需用»Student

(2)

第8次作业

1.将白分制的学生成绩转换为五级制成绩输出。

(用两种方法)

方法一:

clearall

x=input(<输入分数xf);

ifx>90

dispC优')

elseifx>=80

dispC良')

elseifx>=70

disp(仲,)

elseifx>=60

disp(:

及格,)

else

disp(:

不及格J

end

方法二

clearall

x=input(^输入分数xf);

switchfix(x/10)

case{9,10}:

y=,优';

case8:

y='良';

case7:

y二'中,;

case6:

y=*及旃[;

otherwisey='不及格,

end

disp(y)

3・p=n!

并求n=20时的结果

n=inputCn:

');

i=l;

P=l;

while(i<=n)

p=p*I;

i=i+l;

end

disp(p)

第五周作业

1.求1到100内的所有素数。

k=l;

fori=l:

100

forj=2:

i

if(rem(ij)==0)

break;

end

end

s(k)=i;

k=k+l;

end

end

disp(,素数:

,num2str(s)l)

2.求一元二次方程ax2+&x+c=()的根。

a=input(,af);

b=input(*bf);

c=input(*c:

*);

if(a==0)&(b==0)

dispC无意义J

elseif(a==0)&(b-=0)

xl=(-c)/b;

xl=(-c)/b;

elseif(bA2-4*a*c)<0

dispC无实根J

elseif(bA2-4*a*c)=0

xl=(-c)/2*a;

x2=(-c)/2*a;

else

xl=(-b+sqrt(bA2-4*a*c))/(2*a);x2=(-b-sqrt(bA2-4*a*c))/(2*a);

end

disp(['xl:

\num2str(xl)])

disp([,x2:

,num2str(x2)l)

3•求任意有限数组a=[a},av...9an]中数组最大的元索M以及所在的位置k

4.I5P172

(1):

给定三个选氏,看看他们是否能够组成一个三角形。

编写M函数,输入为三个边长,而输出则为字符串,说明给定的边长是否能够组成三角形,若可能,可以进一步指出是否为等腰三角形或者等边三角形。

functionk=zhihe(a,b,c)

%输入三边长

%判断能否组成三角形并指出其类型

ifa<=Ollb<=Ollc<=OII(a+b<=c)ll(a+c<=b)ll(b+c<=a)

不能构成三角形'

elseifa==b&&b==c

等边三角形,

elseifa==bllb==clla==c

等腰三角形,

为一般三角形,

end

fprintf(4%s\k);

第六周作业

第9次作业

I.画出椭圆

=1的曲线图

t=0:

pi/1000:

2*pi;

x=5*sin(t);

y=2*cos(t);

plot(x,y)

2•在間一处标系中画出三个函数y=cos2兀』=x9y=cosx的图形,自变量范围为-2

x=-2:

l/10:

2;

yl=cos(2*x);

y2=x;

y3=cos(x.A2);

plot(x,yl/r_\x,y2/m_\x,y3/gf)

第七周作业

周三

1.在区域上一1<兀G,—l

%三位曲线图

%准备数据

x=-l:

O.1:

1;

y=x;

z=3-x."2-y.八2;mesh(x,y,z)

%三维网面图%准备数据x=-l:

O.1:

1;

y=x;z=3-x."2-y.八2;surf(x,y,z)2・求参械式兀5+兀4+3兀2+10兀的根。

>>P二[1,1,0,3,10,0];

»roots(P)

ans=

1.0321+1.4372i1.0321-1.4372i

-1.5321+0.9202i

-1.5321-0.9202i周五

1.设函数f(x)=——,分别求当工T1,工T0+,兀T(T,兀T8时函数的极限。

1+ex

»symsx

»f=l/(1+exp(-1/x));

»limit(f,x,1)

ans=

1/(exp(l)+1)

»symsx

»f=l/(1+expl/x);

>>limit(f,x,0,'right')

ans=

0

»symsx

»f=l/(1+expl/x);

>>limit(f,x,0,'left")

ans=

1

»symsx

»f=l/(1+expl/x);

»limit(f,x,0,inf)

ans=

1/2

2•求函数j=ln(x+Vl+x2)的一阶及二阶导数。

>>symsx

»f=log(x+sqrt(l+x"2));

»diff(f)

ans=

(x/(x"2+1)71/2)+l)/(x+(x"2+1厂(1/2))

>>symsx

»f=log(x+sqrt(l+x*2));

»diff(f,2)

ans=

(l/(x"2+1厂(1/2)-xT/X2+l)"(3/2))/(x+(x"2+1厂(1/2))-(x/(x"2+1厂(1/2)+1厂2/(x+X2+1)71/2))^2

3•求不定积分

»symsx

»f=(3/(1+x"2)-2/sqrt(l-x"2));

»int(f)

ans=

(3*log(x+i)*i)/2-2*asin(x)-(3*log(x-i)*i)/2

>>symsx

»f=l/(1+sqrt(x));

»int(f,1,4)

ans=

log(4/9)+2

5.求参数方程所确定的函数的一阶导数。

fx=acost

[y=bsint

»symsabt

»x=a*cos(t);

»y=b*sin(t);

»dx=diff(x,t);

»dy=diff(y,t);

>>dy/dx

ans=

-(b*cos(t))/(a*sin(t))

x2-j2+z=10

6.求非线性方程

2x-4j+z=0

方法一:

»clearall

»[x,y,z]=solve('xJ-yJ+z^lO',‘x+y-5*z=0',‘2*x-4*y+z=0')

(19*2409^(1/2))/240-19/80

-(19*240971/2))/240-19/80

y=

(11*240971/2))/240-11/80

-(11*2409"(1/2))/240-11/80

2409*(1/2)/40-3/40-240971/2)/40-3/40方法二:

»clearall

»symsxyz

»f=x7'2-y^2+z-10;

»g=x+y_5*z;

>>h=2*x-4*y+z;

»[x,y,z]=solve(f,g,h)

(19*2409八(1/2))/240-19/80

-(19*2409八(1/2))/240-19/80

y=

(11*2409八(1/2))/240-11/80

-(11*2409八(1/2))/240-11/80

2409^(1/2)/40-3/40

-2409"(1/2)/40-3/40

二、上机作业(部分)

上机1

5.己知

<1

3

2

5、

P

1

2

2、

-1

B=

1

A=

4

-1

0

1

0

1

7

2

1

-1

22丿

3

2

1丿

求AB。

简答:

>>A*B

6.设

abcy

(1、

'lac

cba

B=

abb

.111丿

1ca)

\/

9

求简答:

>>A'*B

2x+3y+z=4

x-2y+4z=-5

4x-y+9z=-6

»A=[231;1-24;38一2;4一19];B二[4;—5;13;-6];

2)用三种方法把它们垂直组合

第四章编程

2.某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price來表示):

price<200没有折扣

200^price<5003%折扣

500WpriceV10005%折扣

1000

2500WpriceV500010%折扣

5000Wprice14%折扣输入所售商品的价格,求其实际销售价格。

上机3

编程

1.求十+2+.・・+110+2】+2?

+.・・+21()+3】+3?

+・・・+310的和

clearall

sum=0;

fori=l:

3;

forj=l:

10;

sum二厂j+sum;

end

end

sum

2.输出100到150Z间第一个能被7整除的整数

i=0;

fori=100:

150

ifrem(i,7)=0

break;

end

end

disp([,最小值为:

',num2str(i)])

3.求1到100的奇数的和

i=l;

s=0;

fori=l:

100

ifrem(i,2)^=0

s=s+i;

end

end

disp([‘奇数和为:

',num2str(s)])

4.设计一个九九乘法表

clearall

fori=l:

9;

forj=l:

9;

end

c(i,j)=i*j;

end

c

100

5.求p=刀〃!

n=l

方法一(简单):

sum=0;

fori=l:

100

sum=sum+factorial(i);

end

sum

方法二(复杂):

p=o;

q=0;

m=0;

n=0;

forn=l:

100

form=l:

n

q=l;

q二q*m;

end

p二p+q;

end

disp(['阶乘和为:

J,num2str(p)])

6.对=1,2,...求其前n项的和小于1000的最大的n以及此和

clearall

n=input('输入n的值:

);

s=0;

fori=l:

n

s二s+sqrt(i);

k=i~l;

ifs>=1000

break;

end

end

7.编程求水仙花数。

(三位数,且满足个位十位百位上的数字的立方和等于这个数。

)i=0;

a=0;

b=0;

c=0;

fori=100:

999

a=fix(i/100);

b=((fix(i/10))-a*10);

c=rem(i,10);

if(a3+b3+c"3)==i

disp(i);

end

end

8.编一函数计算

/U)=

 

x二input('x二:

');

ifx<=0

y=x+pi/(exp

(2))

else

y=l/2*log(x+sqrt(x+x"2))

end

9.编一函数判断任意一个正整数是质数还是介数。

若是质数,返冋值1,否则是0。

输入非整数,则返冋值-1,并提示错谋。

10.给定三个边看看他们是否能够组成一个三角形。

clearall

a=input('a二');

b二input('b=,);

c=inputCc-);

d=a+b;

e=a+c;

f=b+c;

if(d>c&e>b&f>a)

disp('可以')

else

dispC不可以')

end

11・斐波那契数列:

1、1、2、3、5、8、13、21、……,其递推公式为:

=a2=1

编程实现求n项的斐波那契数列。

n=input('pleaseinputn=*);

fori=l:

(n-2)

a(l)=l;a

(2)=l;

a(i+2)=a(i+1)+a(i);

end

舊图

1•绘制向量a=[10258382]

»a=[10258382]

»plot(a)

2.利用plot函数绘制矩阵数据A=[l1111;12345;1361015;14102035]»A=[11111;12345;1361015;14102035]:

»plot(A)

X=cos(Z)

4.绘制三维线图《y=sin(Z)

z=t

t=0:

pi/1000:

2*pi;

x=sin(t);

y=cos(t);

z=t;

plot3(x,y,z)

5、练习条状图,血积图等(plot:

线图;plot3:

三维线图;bar:

二维条状图;area:

面积图;title('标题内容'))

plot3三维线图应用举例:

%PL0T_3D简单三维绘图

%准备数据

z=0:

0.1:

40;

x=cos(z);

y=sin(z);

elf;

%绘制曲线

plot3(x,y,z)

%添加标注

gridon

title(*SpiralPlot-usingPL0T3')

xlabel(农)

ylabel()

zlabel("z‘)

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

当前位置:首页 > 经管营销

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

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