MATLAB结课作业(2016.12)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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'}); 结果:

相关文档
最新文档