MATLAB所有作业及答案.docx
- 文档编号:5427581
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:24
- 大小:160.25KB
MATLAB所有作业及答案.docx
《MATLAB所有作业及答案.docx》由会员分享,可在线阅读,更多相关《MATLAB所有作业及答案.docx(24页珍藏版)》请在冰豆网上搜索。
MATLAB所有作业及答案
一、上交作业
第一周作业
1.计算
,其中a=5.67,b=7.8111
>>a=5.67;b=7.8111;
>>exp(a+b)/log10(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
>>linspace(1,5,5)注:
X=linspace
;间隔计算公式:
。
ans=
12345
3.
(1)创建向量A=[123456789]
>>A=1:
9或>>A=1:
1:
9注:
X=J:
INC:
K。
这里J、K分别为首尾数字,INC
ans=为步长
123456789
(2)将此向量重组成3行,3列的矩阵
>>A=reshape(A,3,3)
A=注:
X=reshape(A,p,q)。
p、q分别为行、列数。
147
258
369
(3)把矩阵的第三列索引出,并赋值与变量b
>>b=A(:
3)
b=
7
8
9
(4)把矩阵的第3行第2列的元素改为0
>>A(3,2)=0
A=
147
258
309
第4次课
1.设A=[2,-1;-2,-2],B=[2,-3;0,-4],C=eye
(2);求A+B,A*C,A.*C与A.\B?
>>A=[2,-1;-2,-2];B=[2,-3;0,-4];C=eye
(2);
>>A+B
ans=
4-4
-2-6
>>A*B
ans=
40
0-6
>>A.*B
ans=
40
0-6
>>A.\B注:
A.\B
。
ans=
13
02
2.试求矩阵方程
的解。
>>A=[121;42-6;-102];B=[123;111];
>>X=B/A注:
ans=
利用高代知识求A的逆矩阵
3.阅读下列程序,写出运行结果
(1)A=linspace(10,50,6);B=reshape(A,3,2)
B=
1034
1842
2650
(2)A=ones(3);B=magic(3);C=A+B;D=diag(C)
D=注:
C=diag:
获取矩阵的对角线元素
9927或生成对角矩阵
64610
351013
(3)A=eye
(2);B=[1,2,3;4,5,6;7,8,9];C=B(1:
2,2:
3);D=[A,A*2;C,tril(C)]
注:
C=B(1:
2,2:
3)为索取B中第一行且第二、三列的元素和第二行且第二、三列的元素并赋给C;tril(C)为获取C的上三角矩阵。
第三周作业
第5次课
1.设a=-2,b=-5,c=150,d=0,分析下面算式的运算步骤并得出最终结果。
(1)a*b^2>a*c
分析:
a*b^2=-50;a*c=-300;那么a*b^2>a*c
-50>-300,为假,逻辑值是:
0,即最终结果。
(2)d|b>a
分析:
|b>a为0,d|b>a为0。
(3)(d|b)>a
分析:
(d|b)为1,(d|b)>a为1。
.
2.已知
,B=eye(4),分别求:
(参考课本P103运算符的优先级)
(1)A>B注:
B=
(A>B)=
。
(2)A&B
A&B=
。
(3)A|B
A|B=
。
(4)~A|~B
~A|~B=
。
(5)A>=3&A<6
(A>=3&A<6)=
。
(6)删除矩阵A的第三、四两列。
方法一:
>>A=A(:
1:
2)
索引要保留的项
方法二:
>>A(:
3:
4)=[]
运用空数组
第6次课
1.已知字符串st='在英文格式中'和sr='inGBusage'
按要求完成下列各题:
(1)st(3:
-1:
1)=
ans=
文英在
(2)把字符串sr中的后7个元素索引出,并赋值于变量se
>>se=sr([end-6:
end])
se=
GBusage
(3)用两种方法把字符串st和sr水平组合。
方法一:
>>strcat(st,sr)
ans=
在英文格式中inGBusage
方法二:
>>a=[st,sr]
a=
在英文格式中inGBusage
(4)用两种方法按以下格式输出字符串:
在英文格式中
inGBusage
方法一:
>>b=strvcat(st,sr)
b=
在英文格式中
inGBusage
方法二:
>>b=char(st,sr)
b=
在英文格式中
inGBusage
此外,方法三:
>>b=[‘在英文格式中’sr]注:
b=[‘在英文格式中此处为五个空格’sr]
b=
在英文格式中
inGBusage
(5)strfind(sr,se)注:
strfind表示在第一个字符串中查询第二个字符串
>>strfind(sr,se)出现的索引。
此外,findstr表示在第一个字符串
ans=中查询第二个字符串出现的索引。
3
(6)strncmp(sr,sr(1:
4),3)
>>strncmp(sr,sr(1:
4),3)注:
strncmp(a,b,x)表示比较字符串前x个字符,看是否
ans=一致。
结果为逻辑值。
1
(7)将字符串se的字符都转变成大写字符。
>>se=upper(se)注:
将字符串se的字符都转变成小写字符
se=>>se=lower(se)
GBUSAGE
第四周作业
第7次课
1.按要求建立元胞数组A
A{1,1}=1;
A{1,2}=’Brenden’;
A{2,1}=reshape(1:
9,3,3);
A{2,2}={12,34,2;54,21,3;4,23,67};
(1)建立元胞数组A.
>>A={1,’Brenden’;reshape(1:
9,3,3),{12,34,2;54,21,3;4,23,67}}
(2)A{2,1}(4)=注:
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门课程的成绩。
>>Student=struct(‘name’,{‘Tom’,’Lily’},’num’,{‘110’,’120’},’Math’,{‘99’,’98’},’English’,{’98…’,’99’})
如果要调取第二个学生的信息,只需用>>Student
(2)
第8次作业
1.将百分制的学生成绩转换为五级制成绩输出。
(用两种方法)
方法一:
clearall
x=input(‘输入分数x:
’);
ifx>90
disp(‘优’)
elseifx>=80
disp(‘良’)
elseifx>=70
disp(‘中’)
elseifx>=60
disp(‘及格’)
else
disp(‘不及格’)
end
方法二:
clearall
x=input(‘输入分数x:
’);
switchfix(x/10)
case{9,10}:
y=’优’;
case8:
y=’良’;
case7:
y=’中’;
case6:
y=’及格’;
otherwisey=’不及格’
end
disp(y)
3.求
,并求n=20时的结果
n=input(‘n:
’);
i=1;
p=1;
while(i<=n)
p=p*I;
i=i+1;
end
disp(p)
第五周作业
1.求1到100内的所有素数。
k=1;
fori=1:
100
forj=2:
i
if(rem(i,j)==0)
break;
end
end
ifj==i
s(k)=i;
k=k+1;
end
end
disp([‘素数:
’,num2str(s)])
2.求一元二次方程
的根。
a=input('a:
');
b=input('b:
');
c=input('c:
');
if(a==0)&(b==0)
disp('无意义')
elseif(a==0)&(b~=0)
x1=(-c)/b;
x1=(-c)/b;
elseif(b^2-4*a*c)<0
disp('无实根')
elseif(b^2-4*a*c)=0
x1=(-c)/2*a;
x2=(-c)/2*a;
else
x1=(-b+sqrt(b^2-4*a*c))/(2*a);
x2=(-b-sqrt(b^2-4*a*c))/(2*a);
end
disp(['x1:
',num2str(x1)])
disp(['x2:
',num2str(x2)])
3.求任意有限数组
中数组最大的元素M以及所在的位置k
4.书P172
(1):
给定三个边长,看看他们是否能够组成一个三角形。
编写M函数,输入为三个边长,而输出则为字符串,说明给定的边长是否能够组成三角形,若可能,可以进一步指出是否为等腰三角形或者等边三角形。
functionk=zhihe(a,b,c)
%输入三边长
%判断能否组成三角形并指出其类型
ifa<=0||b<=0||c<=0||(a+b<=c)||(a+c<=b)||(b+c<=a)
B=’不能构成三角形’
elseifa==b&&b==c
B=’等边三角形’
elseifa==b||b==c||a==c
B=’等腰三角形’
else
B=’为一般三角形’
end
fprintf(‘%s’,k);
第六周作业
第9次作业
1.画出椭圆
的曲线图
t=0:
pi/1000:
2*pi;
x=5*sin(t);
y=2*cos(t);
plot(x,y)
2.在同一坐标系中画出三个函数
的图形,自变量范围为
;函数
为红色实线,函数
为洋红色虚线,函数
为绿色点线。
x=-2:
1/10:
2;
y1=cos(2*x);
y2=x;
y3=cos(x.^2);
plot(x,y1,’r_’,x,y2,’m__’,x,y3,’g:
’)
第七周作业
周三
1.在区域上
上绘制
的三维网线图和三维曲线图。
%三位曲线图
%准备数据
x=-1:
0.1:
1;
y=x;
z=3-x.^2-y.^2;
mesh(x,y,z)
%三维网面图
%准备数据
x=-1:
0.1:
1;
y=x;
z=3-x.^2-y.^2;
surf(x,y,z)
2.求多项式
的根。
>>P=[1,1,0,3,10,0];
>>roots(P)
ans=
0
1.0321+1.4372i
1.0321-1.4372i
-1.5321+0.9202i
-1.5321-0.9202i
周五
1.设函数
,分别求当
时函数的极限。
>>symsx
>>f=1/(1+exp(-1/x));
>>limit(f,x,1)
ans=
1/(exp
(1)+1)
>>symsx
>>f=1/(1+exp1/x);
>>limit(f,x,0,’right’)
ans=
0
>>symsx
>>f=1/(1+exp1/x);
>>limit(f,x,0,’left’)
ans=
1
>>symsx
>>f=1/(1+exp1/x);
>>limit(f,x,0,inf)
ans=
1/2
2.求函数
的一阶及二阶导数。
>>symsx
>>f=log(x+sqrt(1+x^2));
>>diff(f)
ans=
(x/(x^2+1)^(1/2)+1)/(x+(x^2+1)^(1/2))
>>symsx
>>f=log(x+sqrt(1+x^2));
>>diff(f,2)
ans=
(1/(x^2+1)^(1/2)-x^2/(x^2+1)^(3/2))/(x+(x^2+1)^(1/2))-(x/(x^2+1)^(1/2)+1)^2/(x+(x^2+1)^(1/2))^2
3.求不定积分
。
>>symsx
>>f=(3/(1+x^2)-2/sqrt(1-x^2));
>>int(f)
ans=
(3*log(x+i)*i)/2-2*asin(x)-(3*log(x-i)*i)/2
4.求
。
>>symsx
>>f=1/(1+sqrt(x));
>>int(f,1,4)
ans=
log(4/9)+2
5.求参数方程所确定的函数的一阶导数。
>>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))
6.求非线性方程
的根。
方法一:
>>clearall
>>[x,y,z]=solve(‘x^2-y^2+z=10’,’x+y-5*z=0’,’2*x-4*y+z=0’)
x=
(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
z=
2409^(1/2)/40-3/40
-2409^(1/2)/40-3/40
方法二:
>>clearall
>>symsxyz
>>f=x^2-y^2+z-10;
>>g=x+y-5*z;
>>h=2*x-4*y+z;
>>[x,y,z]=solve(f,g,h)
x=
(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
z=
2409^(1/2)/40-3/40
-2409^(1/2)/40-3/40
二、上机作业(部分)
上机1
5.已知
,
求
。
简答:
>>A*B
6.设
,
求
简答:
>>A’*B
8.求解
>>A=[231;1-24;38-2;4-19];B=[4;-5;13;-6];
>>X=A\B注:
。
上机2
逻辑运算,关系运算
1.输入矩阵E=[102;300;130;111],练习函数any,all的使用。
>>E=[102;300;130;111];
>>any(E)
E中每一列若有非零数则逻辑值为1,反之为0。
ans=
111
>>all(E)
E中每一列若全非零数则逻辑值为1,反之为0。
ans=
100
3.输入向量F=[-210NaN300-11-Inf31];
1)pos=F<0
>>F=[-210NaN300-11-Inf31];
>>pos=F<0
pos=
10000110
2)G=F(pos)
>>G=F(pos)
G=
-2-11-Inf
3)p=(F>=0)&(isfinite(F))
>>p=(F>=0)&(isfinite(F))
p=
01011001
字符串
创建,索引,拼接
1.创建字符串a='ThisisNo.3-15Example!
',完成
1)把此字符串的前四个元素索引出,并赋值于b
2)把此字符串的后八个元素索引出,并赋值于c
>>a='ThisisNo.3-15Example!
';
>>b=a(1:
4)
b=
This
>>c=a(end-7:
end)
c=
Example!
2.已知字符串d='Thisstringarray',e='hastworows.'
1)用两种方法把它们水平组合
参考“第六次课1(4)”
2)用三种方法把它们垂直组合
第四章编程
2.某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price<200没有折扣
200≤price<5003%折扣
500≤price<10005%折扣
1000≤price<25008%折扣
2500≤price<500010%折扣
5000≤price14%折扣
输入所售商品的价格,求其实际销售价格。
上机3
编程
1.求
的和
clearall
sum=0;
fori=1:
3;
forj=1:
10;
sum=i^j+sum;
end
end
sum
2.输出100到150之间第一个能被7整除的整数
i=0;
fori=100:
150
ifrem(i,7)==0
break;
end
end
disp(['最小值为:
',num2str(i)])
3.求1到100的奇数的和
i=1;
s=0;
fori=1:
100
ifrem(i,2)~=0
s=s+i;
end
end
disp(['奇数和为:
',num2str(s)])
4.设计一个九九乘法表
clearall
fori=1:
9;
forj=1:
9;
c(i,j)=i*j;
end
end
c
5.求
,
方法一(简单):
sum=0;
fori=1:
100
sum=sum+factorial(i);
end
sum
方法二(复杂):
p=0;
q=0;
m=0;
n=0;
forn=1:
100
form=1:
n
q=1;
q=q*m;
end
p=p+q;
end
disp(['阶乘和为:
',num2str(p)])
6.对
求其前n项的和小于1000的最大的n以及此和
clearall
n=input('输入n的值:
');
s=0;
fori=1:
n
s=s+sqrt(i);
k=i-1;
ifs>=1000
break;
end
end
s
k
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(a^3+b^3+c^3)==i
disp(i);
end
end
8.编一函数计算
x=input('x=:
');
ifx<=0
y=x+pi/(exp
(2))
else
y=1/2*log(x+sqrt(x+x^2))
end
9.编一函数判断任意一个正整数是质数还是合数。
若是质数,返回值1,否则是0。
输入
非整数,则返回值-1,并提示错误。
10.给定三个边长,看看他们是否能够组成一个三角形。
clearall
a=input('a=');
b=input('b=');
c=input('c=');
d=a+b;
e=a+c;
f=b+c;
if(d>c&e>b&f>a)
disp('可以')
else
disp('不可以')
end
11.斐波那契数列:
1、1、2、3、5、8、13、21、……,其递推公式为:
编程实现求n项的斐波那契数列。
n=input('pleaseinputn=');
fori=1:
(n-2)
a
(1)=1;a
(2)=1;
a(i+2)=a(i+1)+a(i);
end
a
绘图
1.绘制向量a=[10258382]
>>a=[10258382]
>>plot(a)
2.利用plot函数绘制矩阵数据A=[11111;12345;1361015;14102035]
>>A=[11111;12345;1361015;14102035];
>>plot(A)
4.绘制三维线图
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三维线图应用举例:
%PLOT_3D简单三维绘图
%准备数据
z=0:
0.1:
40;
x=cos(z);
y=sin(z);
clf;
%绘制曲线
plot3(x,y,z)
%添加标注
gridon
title(‘SpiralPlot-usingPLOT3’)
xlabel(‘x’)
ylabel(‘y’)
zlabel(‘z’)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 所有 作业 答案