MATLAB结课作业(2016.12)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算应用软件
MATLAB程序设计及绘图
班级:
学号:
姓名:
2016.12
题目1:分别利用For循环和While循环求下值:
63
263 0
21222
i
K==++++
∑ 。
For循环代码:
k=0;
for i=0:1:63
k=k+2^i;
end
k
While循环代码:
k=0;
i=0;
while (i<64)
k=k+2^i;
i=i+1;
end
k
结果:k = 1.8447e+019
题目2:已知方程组:
347124
57423
859
652108
x y z w
x y z w
x z w
x y z w
+--=
⎧
⎪-++=-
⎪
⎨
+-=
⎪
⎪-+-+=-
⎩
,求方程组的解。
代码:
A=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10]; B=[4;-3;9;-8];
X=A\B
结果:X =
-1.4841
-0.6816
0.5337
-1.2429
题目3:某试验试件在受火后,其弹性模量发生变化,数据如下:受火温度T=[20, 100, 200, 300, 400, 500, 600, 700, 800, 900];
受火后弹性模E=[21.95,1.85,1.76,1.70,1.55,1.50,1.42,1.35,1.3,1.32]*1011;
用合适的多项式拟合弹性模量随受火温度变化的规律。
代码:
T=[20,100,200,300,400,500,600,700,800,900];
E=[21.95,1.85,1.76,1.70,1.55,1.50,1.42,1.35,1.3,1.28]*10^11;
plot(T,E,'LineWidth',4)
结果:
题目4:(1)编写一个函数式文件,使其产生如下函数段:
22()50.52646
x
x f x x
x x x <=⎧⎪
=-<<=⎨⎪->⎩
(2)编写命令式文件,绘制x 在[0,10]范围内f (x ).f (x +2)的曲线。
(1)代码: function f=Untitled(x) if x<=2 f=2*x; elseif x>6 f=x-4; else
f=5-0.5*x; end
(2)代码: i=0;
for x=0:0.1:10 i=i+1;
y1(1,i)=Untitled(x); end i=0
for x=0:0.1:10 i=i+1;
y2(1,i)=Untitled(x+2); end y3=y1.*y2; x=0:0.1:10;
plot(x,y3,'LineWidth',5)
题目5:设f(x)=x5-4x4+3x2-2x+6;
(1)取x=[-2,8]之间函数的值(取100个点),画出曲线,看它有几个零点。(提示:用polyval函数)
(2)用roots函数求此多项式的根。
(1)代码:p=[1,-4,3,-2,6];
x=-2:0.1:8;
y=polyval(p,x);
plot(x,y,'LineWidth',5)
(2)代码:
r=roots(p)
n=length(r);
for i=1:n
if r(i)>=-2 && r(i)<=8 if (isreal(r(i)))
r(i)
end
end
end
结果:
ans =
3
ans =
1.6956
题目6:在x =[-10,10],y =[-10,10]范围内画出函数z =的三维图形。
代码:
x=-10:0.01:10; y=-10:0.01:10;
[X,Y]=meshgrid(x,y);
Z=sin(sqrt(X.^2+Y .^2))./sqrt(X.^2+Y .^2); mesh(X,Y ,Z) 结果:
题目7:由100*rand(30)作为全班成绩S (i ),用饼图分别表示60i S <、6070i S ≤<、
7080i S ≤<、8090i S ≤<、90i S ≤所占比例。
代码: S=100*rand(30);
k1=0;k2=0;k3=0;k4=0;k5=0; for i=1:900 if S(i)<60 k1=k1+1;
elseif S(i)>=60&S(i)<70
k2=k2+1;
elseif S(i)>=70&S(i)<80
k3=k3+1;
elseif S(i)>=80&S(i)<90
k4=k4+1;
else
k5=k5+1;
end
end
x=[k1 k2 k3 k4 k5];
y=[1 1 1 1 1];
pie(x,y,{'Si<60','60<=Si<70','70<=Si<80','80<=Si<90','90<=Si'}); 结果: