Matlab编程与作图实验报告

更新时间:2023-12-05 21:19:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二 MATLAB编程与作图

1、设x为一个长度为n的数组,编程求下列均值和标准差

2?1n1?n2x??xi,s?x?nx?i?,n?1ni?1n?1??i?1?

并以x?[81,70,65,51,76,66,90,87,77]为例计算。 解: function [m,s]=myf_1(x) n=length(x); m=sum(x)/n;

s=sqrt((sum(x.^2)-n*m^2)/(n-1)); >>x=[81,70,65,51,76,66,90,87,61,77]; >> [m,s]=myf_1(x) m = 72.4000 s =

12.1124

2、求满足n?0?ln(1?n)?100m的最小m值。

解:>> s=log(1);n=0; >> while s<=100 n=n+1;

s=s+log(1+n); end >> m=n m =

37

3、用循环语句形成Fibonacci数列

F1?F2?1,Fk?Fk?1?Fk?2,k?3,4,L,并验证极限

limFk1?5?k??F2。 k?1解:>> clear;

>> F(1)=1;F(2)=1;k=2;x=0; >> e=1e-8;a=(1+sqrt(5))/2; >> while abs(x-a)>e

k=k+1;F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1); end >> a,x,k a =

1.6180 x =

1.6180 k = 21

1064、分别用for 和while 循环结构编写程序,求出程序设计,比较不同算法的运行时间。 解:>> clear;tic;s=0; for i=1:1000000 s=s+sqrt(3)/2^i; end s,toc

tic;s=0;i=1;

while i<=1000000

s=s+sqrt(3)/2^i;i=i+1; end s,toc

tic;s=0;

i=1:1000000;

s=sqrt(3)*sum(1./2.^i); s,toc s =

1.7321

Elapsed time is 0.944317 seconds. s =

1.7321

Elapsed time is 1.326814 seconds. s =

1.7321

Elapsed time is 0.461718 seconds.

K??i?132i,并考虑一种避免循环语句的

5、⑴假定某天的气温变化记录如下表,试作图描述这一天的气温变化规律: 时刻t(h) 时刻t(h) 0 1 2 3 4 5 6 7 8 9 10 11 12 温度T(℃) 15 14 14 14 14 15 16 18 20 22 23 25 28 13 14 15 16 17 18 19 20 21 22 23 24 温度T(℃) 31 32 31 29 27 25 24 22 20 18 17 16 ⑵用Matlab指令dlmwrite将上述数据输出到一个文本文件中,第一列是时刻,第二列是温度,要求用空格分割数据;

⑶从工具条File选Import data 导入上述数据文件中的数据。 解:>> t=0:24;

c=[15 14 14 14 14 15 16 18 20 22 23 25 28 ...

31 32 31 29 27 25 24 22 20 18 17 16];

323028262422201816140510152025plot(t,c)

6、作出下列函数图像:

22y?xsin(x?x?2),?2?x?2(要求分别使用plot和fplot完成) ⑴曲线;

解:x=-2:0.1:2;y=x.^2.*sin(x.^2-x-2);plot(x,y)

y=inline('x^2*sin(x^2-x-2)');fplot(y,[-2 2])

3210-1-2-3-4-2-1.5-1-0.500.511.52

x2y2??149⑵椭圆;

解:t=linspace(0,2*pi,100);

x=2*cos(t);y=3*sin(t); plot(x,y)

⑶抛物面

z?x2?y2,x?3,y?3;

解:x=-3:0.1:3;y=x; [x,y]=meshgrid(x,y); z=x.^2+y.^2; surf(x,y,z)

20151050420-2-4-4-2204

⑷曲面

z?x4?3x2?y2?2x?2y?2x2y?6,x?3,?3?y?13;

解:x=-3:0.1:3;y=-3:0.1:13; [x,y]=meshgrid(x,y);

z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6; surf(x,y,z)

200150100500151050-5-4-2204

⑸空间曲线x?sint,y?cost,z?cos(2t),0?t?2?; 解:t=0:0.01:2*pi;

x=sin(t);y=cos(t);z=cos(2*t); plot3(x,y,z)

10.50-0.5-110.50-0.5-1-1-0.50.501

⑹半球面x?2sin?cos?,y?2sin?sin?,z?2cos?,0???2?,0????2; 解:theta=linspace(0,2*pi,50);fai=linspace(0,pi/2,20); [theta,fai]=meshgrid(theta,fai); x=2*sin(fai).*cos(theta);

y=2*sin(fai).*sin(theta);z=2*cos(fai); surf(x,y,z)

21.510.50210-1-2-2-1102

⑺三条曲线合成图

y1?sinx,y2?sinxsin(10x),y3??sinx,0?x??。

解:

7、作下列x=linspace(0,pi,100);

y1=sin(x);y2=sin(x).*sin(10*x);y3=-sin(x);

plot(x,y1,x,y2,x,y3)分段函数图

?1.1 x?1.1?y??x x?1.1??1.1 x?-1.1?

⑹半球面x?2sin?cos?,y?2sin?sin?,z?2cos?,0???2?,0????2; 解:theta=linspace(0,2*pi,50);fai=linspace(0,pi/2,20); [theta,fai]=meshgrid(theta,fai); x=2*sin(fai).*cos(theta);

y=2*sin(fai).*sin(theta);z=2*cos(fai); surf(x,y,z)

21.510.50210-1-2-2-1102

⑺三条曲线合成图

y1?sinx,y2?sinxsin(10x),y3??sinx,0?x??。

解:

7、作下列x=linspace(0,pi,100);

y1=sin(x);y2=sin(x).*sin(10*x);y3=-sin(x);

plot(x,y1,x,y2,x,y3)分段函数图

?1.1 x?1.1?y??x x?1.1??1.1 x?-1.1?

本文来源:https://www.bwwdw.com/article/og8t.html

Top