matlab的例题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅议matlab 的功能和应用
数值计算
1、编程求满足∑=>m
i i 1
100002的最小m 值。
解:
m=1; s=0;
while s<=10000
s=s+2^m; m=m+1;
end m=m-1;
di sp('m=');
disp(m);
运行结果:
m=
13
2、编写一个函数,计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。
function [y]=myfun1(x)
选择一些数据测试你编写的函数。
function y=myfun1(x) if x<=0
y=sin(x); elseif x>0&x<=3 y=x; else y=6-x; end
⎪⎩
⎪⎨⎧>+-≤<≤=3
,630,
0,sin )(x x x x x x x y
return ;
3、编写一个函数,给出一个向量],,[21n x x x x
=,生成如下范德蒙矩阵。
function [v]=myvander(x)⎥⎥⎥
⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎣⎡---11
211
2
2
22121
111
n n n n n n x x x x x x x x x
例如:>>v=myvander([2 3 4 5]) 得v=
⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡12564278251694543211
11 生成一些数据测试你写的函数。
function [v]=myvander(x) n=length(x); v(1:n)=1; for i=n+1:n*n a=i/n;
r=mod(i,n); b=floor(a); if r==0 r=n; b=b-1; end
v(i)=x(r)^b; end
v=reshape(v,n,n)';
>> myvander([1 2 3])
ans =
1 1 1
1 2 3 1 4 9
>> myvander([ 1 4 6 8])
ans =
1 1 1 1 1 4 6 8 1 16 36 64 1 64 216 512
图像的绘制
1、在同一坐标系下绘制下面三个函数在t ∈[0,4π]的图象。
)
sin(41.0321t e y t
y t y t -==
=π
解:程序如下:
t=0:pi/100:4*pi; y1=t;
y2=sqrt(t);
y3=4*pi*exp(-0.1*t).*sin(t); plot(t,y1,t,y2,t,y3)
运行后得出的结果如图1所示
图1
2、编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图象。
解: 程序如下:
>>x<=0; >> y1=sin(x); >> 0
>> plot(x,y1,x,y2,x,y3)
运行后得到的结果如图2所示:
⎪⎩
⎪⎨⎧>+-≤<≤=3
,630,
0,sin )(x x x x x x x y
图2 3、用compass函数画下面相量图
>>ua = 1 ;
>>ub = cos(-2*pi/3)+sin(-2*pi/3)*i ;
>> uc=cos(2*pi/3)+sin(2*pi/3)*i;
>>compass([ua,ub,uc,ua-ub,ub-uc,uc-ua]
解: >> ua = 1 ;
>>ub = cos(-2*pi/3)+sin(-2*pi/3)*i ;
>> uc=cos(2*pi/3)+sin(2*pi/3)*i;
>> compass([ua,ub,uc,ua-ub,ub-uc,uc-ua])
4、三维空间曲线绘制
>>z=0:0.1:4*pi;
>>x=cos(z);
>>y=sin(z);
>>plot3(x,y,z)
解:
5、用mesh 或surf 函数,绘制下面方程所表示的三维空间曲面,x 和y 的取值范围设为[-3,3]。
10
102
2y x z +-=
解: 程序如下: [x,y]=meshgrid(-3:0.5:3); >> z=-x^2/10+y^2/10; >> mesh(x,y,z)