MatLab练习题Word文档格式.docx
《MatLab练习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《MatLab练习题Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
pi=3.1416
realmax=1.7977e+308
realmin=2.2251e-308
2.试写一函数regPolygon(n),其功能为画出一个圆心在(0,0)、半径为1的圆,并在圆内画出一个内接正n边形,其中一顶点位于(0,1)。
例如regPolygon(8)可以画出如下之正八边型:
%circle
%plotpolygon
angle=0:
0.01:
2*pi;
X=sin(angle);
Y=cos(angle);
fork=1:
n
plot([cos(2*pi*(k-1)/n),cos(2*pi*(k)/n)],[sin(2*pi*(k-1)/n),sin(2*pi*(k)/n)],'
r-'
);
holdon
end
%plotcircler=1
plot(X,Y,'
Linewidth'
2)
gridon
axisequal
3.一条参数式的曲线可由下列方程式表示:
x=sin(t),y=1-cos(t)+t/10
当t由0变化到4*pi时,请写一个MATLAB的脚本plotParam.m,画出此曲线在XY平面的轨迹。
t=linspace(0,4*pi);
x=sin(t);
y=1-cos(t)+t/10;
plot(x,y,'
-o'
4.当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。
假设小圆轮的半径r=2。
a.当小圆轮绕着一个大圆(半径R=5)的外部滚动时,请画此「圆轮摆线」或「外花瓣线」。
b.重复上小题,但改成在大圆的内部滚动,请画出此「内花瓣线」。
提示:
下图显示在不同的R和r值,所产生的圆轮摆线。
R=5;
%大圆半徑
r=2;
%小圆半徑
n=r/gcd(r,R);
%圈数
t=linspace(0,n*2*pi,1000);
c=R*exp(i*t);
%內花瓣线
c1=(R-r)*exp(i*t)+r*exp(i*(-R*t/r+t));
%外花瓣线
c2=(R+r)*exp(i*t)+r*exp(i*(pi+R*t/r+t));
plot(real(c),imag(c),real(c1),imag(c1),real(c2),imag(c2));
axisimage
title('
內花瓣线(绿色)和外花瓣线(红色)'
5.一个空间中的椭球可以表示成下列方程式:
(x/a)2+(y/b)2+(z/c)2=1请使用任何你可以想到的方法,画出三维空间中的一个平滑的椭球,其中a=3,b=4,c=8。
(但不能使用ellipsoid指令。
)
a=sqrt(9);
b=sqrt(16);
c=sqrt(64)
t=linspace(-b,b)
r=a*sqrt(1-t.^2/b^2)
[x,y,z]=cylinder(r)
z=(z-.5)*2*b;
mesh(x,y,z);
6.请用ez开头的绘图指令(例如ezmesh、ezsurf、ezmeshc、ezsurfc、ezplot3、ezcontour等),画出一个你认为最炫的立体图形。
ezsurf('
x*exp(-x^2-y^2)'
7.画出下列方程式的曲面图及等高线图:
z=sin(x/2)cos(y)
其中,x的21个值均匀分布在[-2*pi,2*pi]范围,y的31值均匀分布在[-1.5*pi,1.5*pi]。
请使用subplot(2,1,1)和subplot(2,1,2)将产生的曲面图和等高线图在同一个窗口上,产生的图形应类似下图:
x=linspace(-2*pi,2*pi,21);
y=linspace(-1.5*pi,1.5*pi,31);
[xx,yy]=meshgrid(x,y);
zz=sin(xx/2).*cos(yy);
subplot(1,2,1)
surf(xx,yy,zz);
axisimage
subplot(1,2,2)
contour(xx,yy,zz);
9.假设一曲线资料点为
x=0:
2:
4*pi;
y=sin(x).*exp(-x/5);
试将x的间距调成0.1,并用下列方法进行内插:
a.线性内插法(method='
linear'
)。
b.Spline内插法(method='
spline'
c.三次多项式内插法(method='
cubic'
d.多项式拟合法:
直接利用6次多项式去通过7个资料点。
x=0:
x1=0:
0.1:
y1=interp1(x,y,x1,'
y2=interp1(x,y,x1,'
y3=interp1(x,y,x1,'
p=polyfit(x,y,6);
y4=polyval(p,x1);
subplot(2,2,1)
plot(x1,y1,'
.-'
subplot(2,2,2)
plot(x1,y2,'
subplot(2,2,3)
plot(x1,y3,'
subplot(2,2,4)
plot(x,y,'
^'
x1,y4,'
-r.'
多项式拟合'
xlabel('
x轴'
ylabel('
y轴'
text(1.8,0.8,'
六次多项式拟合曲线'
text(2.3,0.6,'
采样点'
legend('
七个采样点'
'
拟合曲线'
10.求下列函数的极小点:
1)
;
2)
3)
.
第1),2)题的初始点可任意选取,
第3)题的初始点取为
第1)题
(1)编写m文件fun1.m:
functionf=fun1(x)
f=x
(1)^2+4*x
(2)^2+2*x
(1)+18*x
(2);
主程序如下:
x0=[-1,1];
x=fminunc('
fun1'
x0);
y=fun1(x)
运行结果:
y=-21.2500
第2)题
(2)编写m文件fun2.m:
functionf=fun2(x)
f=x
(1)^2+1.5*x
(2)^2-2*x
(1)*x
(2)+x
(1)-2*x
(2);
x0=[-1,-1];
fun2'
y=fun2(x)
y=-0.7500
第3)题
(3)编写m文件fun3.m:
functionf=fun3(x)
f=(x
(1)-1)^4+2*x
(2)^2;
x0=[0,1];
fun3'
y=fun3(x)
y=3.5793e-005