MATLAB所有作业及答案docx.docx
《MATLAB所有作业及答案docx.docx》由会员分享,可在线阅读,更多相关《MATLAB所有作业及答案docx.docx(23页珍藏版)》请在冰豆网上搜索。
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的图形,自变量范围为-2x=-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%折扣
10002500WpriceV500010%折扣
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‘)