matlab程序题复习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.编写m 文件要求利用matlab 数值绘图功能画出衰减振荡曲线t e y t 3sin 3
-
=及其它的包络线3
0t e y -
=;t 的取值范围是]4,0[π,数值采样间隔点为pi/50,t e y t 3sin 3
-
=在图中用红色是线段绘出,3
0t e y -=用蓝色虚线绘出,且两函数作在同一张图上;
=0:pi/50:4pi; y0=exp-t/3;
y=exp-t/3.sin3t; figure;
plott,y,'-r' hold on;
plott,y0,':b'; plott,-y0,':b'; hold off;
title ‘y=exp-t/3sin3t ’; xlabel ‘x ’ ylabel ‘y ’
2.利用matlab 数值绘图功能,画出2
2
22)
sin(y
x y x z ++=
所表示的三维曲面;y x ,的取值
范围是]8,8[-,要求去除当x,y 均等于0时,函数z 的不连续点,数值坐标采样间隔为.
;x=-8::8;
y=x';
X Y=meshgridx,y; R=sqrtX.^2+Y.^2+eps; Z=sinR./R; surfX,Y,Z; meshX,Y,Z
colormapcool
xlabel'x',ylabel'y',zlabel'z' Title ‘z=sinsqrtx^2+y^2/sqrtx^2+y^2;
3.利用matlab 数值绘图功能,绘制t 在区间-2pi 2pi 时函数y=sint/t 的图形,采样间隔为pi/10,要求利用逻辑运算求出x=0时函数近似极限,并修补图形缺口;
=-2pi:pi/10:2pi; y=sint./t; tt=t+t==0eps; yy=sintt./tt;
subplot1,2,1,plott,y,axis-7,7,,, xlabel't',ylabel'y';
subplot1,2,2,plottt,yy,axis-7,7,,
4.编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1;
c=collatzn
c=n;
while n>1
if remn,2==0
n=n/2;
else
n=3n+1;
end
c=c n;
end
5.有一周期为4的正弦波上叠加了方差为的正态分布的随机噪声的信号,用循环结构编制一个三点线性滑动平均的程序;提示:①用randn1,n产生方差为的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x12=x1+x2+x3/3,x13= x2+x3+x4/3……;
5. t=0:pi/50:4pi;
n=lengtht;
y=sint+randn1,n;
ya1=y1;
for i=2:n-1
yai=sumyi-1:i+1/3;
end
yan=yn;
plott,y,'c',t,ya,'r','linewidth',2
6.有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求解y;并
要求图示之;
6.>> x=1 2 3 4 5' >> y= 3 ' >> e=onessizex x.^2 >> c=e\y
>> x1=1::5'; >> y1=onessizex1,x1.^2c; >> plotx,y,'ro' hold on; plotx1,y1,'k'; xlabelx;
ylabely;
title'拟合曲线';
legend;
7.2
2
y x
xe z --=,当x 和y 的取值范围均为-2到2时,用建立子窗口的方法在同一个图
形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图; 7>> x,y=meshgrid-2:.2:2;
>> z=x.exp-x.^2-y.^2; >> meshx,y,z
>> subplot2,2,1, plot3x,y,z >> title'plot3 x,y,z'
>> subplot2,2,2, meshx,y,z
>> title'mesh x,y,z'
>> subplot2,2,3, surfx,y,z
>> title'surf x,y,z'
>> subplot2,2,4, surfx,y,z, shading interp
>> title'surf x,y,z, shading interp'
8.利用matlab绘图功能,分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sinx,要求作在同一张图上,并标注标题;
8.解:
x=0:pi/10:2pi;
y=2sinx;
subplot2,2,1;
barx,y,'g';
title'barx,y,''g'''; axis0 7 –2 2;
subplot2,2,2;
stairsx,y,'b';
title'stairsx,y,''b''';axis0 7 –2 2;
subplot2,2,3;
stemx,y,'k';
title'stemx,y,''k''';axis0 7 –2 2;
subplot2,2,4;
fillx,y,'y';
title'fillx,y,''y''';axis0 7 –2 2;
必考 9.使用 MATLAB 画一个圆心在原点、半径等于 10 的圆,并在圆周上依逆
时钟方向取任意四点 A、B、C、D,将线段 AB、AC、AD、BC、BD、CD 用直线画出;
计算线段 AB、AC、AD、BC、BD、CD 的长度;
clear all;
t=linspace0, 2pi,50;
r=10;
x=rcost;
y=rsint;
a=rcospi, sinpi;
b=rcospi, sinpi;
c=rcospi, sinpi;
d=rcospi, sinpi;
plotx, y, 'b', a1, a2, '.k', b1, b2, '.k', c1, c2, '.k', d1, d2, '.k'; axis image
texta1, a2, ' A';
textb1, b2, ' B';
textc1, c2, ' C';
textd1, d2, ' D';
linea1, b1, a2, b2, 'color', 'r'; t=a+b/2; textt1, t2, 'AB';
lineb1, c1, b2, c2, 'color', 'r'; t=b+c/2; textt1, t2, 'BC';
linec1, d1, c2, d2, 'color', 'r'; t=c+d/2; textt1, t2, 'CD';
lined1, a1, d2, a2, 'color', 'r'; t=d+a/2; textt1, t2, 'DA';
linea1, c1, a2, c2, 'color', 'r'; t=a+c/2; textt1, t2, 'AC';
lineb1, d1, b2, d2, 'color', 'r'; t=b+d/2; textt1, t2, 'BD';
ab=sqrta1-b1.^2+a2-b2.^2;
fprintf'ab = %f\n', ab;
bc=sqrtb1-c1.^2+b2-c2.^2;
fprintf'bc = %f\n', bc;
cd=sqrtc1-d1.^2+c2-d2.^2;
fprintf'cd = %f\n', cd;
ad=sqrta1-d1.^2+a2-d2.^2;
fprintf'ad = %f\n', ad;
ac=sqrta1-c1.^2+a2-c2.^2;
fprintf'ac = %f\n', ac;
bd=sqrtb1-d1.^2+b2-d2.^2;
fprintf'bd = %f\n', bd;
必考 10.试写一函数 regPolygonn,其功能为画出一个圆心在 0, 0、半径为 1 的圆,并在圆内画出一个内接正 n 边形,其中一顶点位于 0, 1;例如 regPolygon8 可以画出如下之正八边型:
10.>> function regpolyn
vertices=1;
for i=1:n
step=2pi/n;
vertices=vertices, expistepsqrt-1;
end
plotvertices, '-o';
axis image
% 画外接圆
hold on
theta=linspace0, 2pi;
plotcostheta, sintheta, '-r';
hold off
axis image
11.请用 surf 指令来画出下列函数的曲面图: z = xexp-x2-y2其中 x 在 -2, 2 间共等切分为21 点,y 在-1, 1 间共等切分为21 点,所以此曲面共有2121=441 个点; 请以曲面的斜率来设定曲面的颜色; 请以曲面的曲率来设定曲面的颜色;
= linspace-2, 2, 21; % 在 x 轴 -2,2 之间取 21 点
y = linspace-1, 1, 21; % 在 y 轴 -1,1 之间取 21 点
xx, yy = meshgridx, y; % xx 和 yy 都是 21×21 的矩阵
zz = xx.exp-xx.^2-yy.^2; % 计算函数值,zz 也是 21×21 的矩阵
subplot1,3,1
surfxx, yy, zz; axis image
subplot1,3,2
surfxx, yy, zz, gradientzz; axis image
subplot1,3,3
surfxx, yy, zz, del2zz; axis image
12.试写一函数 regStarn,其功能为画出一个圆心在 0, 0、半径为 1 的圆,并在圆内画出一个内接正 n 星形,其中一顶点位于 0, 1;
12.解:
function regStarn vertices=1; for i=1:n step=2pifloorn/2/n;
vertices=vertices, expistepsqrt-1;
end plotvertices, '-o'; % 画外接圆 hold on
theta=linspace0, 2pi; plotcostheta, sintheta, '-r'; hold off
axis image
13.利用matlab 函数功能,编写function 文件要求利用matlab 数值绘图功能画出衰减振荡曲线t sin e y t 55
-=及其它的包络线5
0t e y -
=;t 的取值范围是]4,0[π,数值采样间隔点为pi/50,t sin e y t 55
-=在图中用红色是线段绘出,5
0t e y -
=用蓝色虚线绘出,且两函数作在同一张图上,并说明其调用方式;
38.
function y=testt;
y0=exp-t/3;
y=exp-t/3.sin3t;
figure;
plott,y,'-r'
hold on;
plott,y0,':b';
plott,-y0,':b';
hold off;
调用t=0:pi/50:4pi;
y=testt
14.有一正弦衰减数据y=cosx.exp-x/5,其中x=0:pi/5:4pi,利用matlab三次样条插值函数进行插值,要求每两个数据点间插入3个数,并作出拟合后曲线;
14.>> x0=0:pi/5:4pi;
>> y0=cosx0.exp-x0/5;
>> x=0:pi/20:4pi;
>> y=splinex0,y0,x;
>> plotx0,y0,'or',x,y,'b'
title‘曲线拟合’;
xlabel‘x’;
ylabel‘y’;
15.利用matlab数值绘图功能,画出
2
22
2
3 33
3
y x
) y
x
sin(
f
++
=所表示的三维曲面;y
x,的取值范围是]
,
[6
6
-,要求去除当x,y均等于0时,函数z的不连续点,数值坐标采样间隔为;
all;
x=-6::6;
y=x';
X Y=meshgridx,y;
R=sqrtX.^2+Y.^2+eps;
Z=sinR./R;
surfX,Y,Z; meshX,Y,Z
colormapcool
xlabel'x',ylabel'y',zlabel'z'
16.利用matlab 指令计算表达式()2
2
3230y x e y x f ---=的梯度并利用数值绘图功能绘出梯度图;x,y 的取值范围-3 3采样间隔
16.>> v = -3::3;
>> x,y = meshgridv;
>> z=30x.^2-y.^3.exp-x.^2-y.^2; >> px,py = gradientz,.1,.1; >> contourx,y,z >> hold on
>> quiverx,y,px,py
>> hold off
17.有一周期为3的正弦波上叠加了方差为的正态分布的随机噪声的信号,利用matlab 循环结构编制一个三点线性滑动平均的程序去除噪声;提示:①用randn1,n 产生方差为的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x12=x1+x2+x3/3,x13= x2+x3+x4/3……;
17. t=0:pi/50:3pi; n=lengtht; y=sint+randn1,n; ya1=y1; for i=2:n-1
yai=sumyi-1:i+1/3; end
yan=yn;
plott,y,'c',t,ya,'r','linewidth',2
18.分段函数else x /x /,x /)x cos()/cos(y πππππππ238372305<<<<<<⎪⎩
⎪⎨⎧=,x 取样区间0 4π,区间内采样500个点,要求利用逻辑关系运算对函数y=sinx 逐段解析计算,并绘图;给出绘图指令即可; =linspace0,4pi,500;
y=cost;
z1=t<pi|t>2pi.y;
w=t>pi/3&t<2pi/3+t>7pi/3&t<8pi/3; w_n=~w;
z2=wcospi/5+w_n.z1;
plott,z2,'-b',axis0 10 -1 1
19.有一正弦衰减数据y=sinx.exp-x/10,其中x=0:pi/5:4pi,用三次样条法进行插值;
19.>> x0=0:pi/5:4pi;
>> y0=sinx0.exp-x0/10;
>> x=0:pi/20:4pi;
>> y=splinex0,y0,x;
>> plotx0,y0,'or',x,y,'b'
20.计算表达式()22e 1053y x
y x z ---=的梯度并利用matlab 数值绘图功能绘图;x,y 的取值范
围-2 2采样间隔
20.>> v = -2::2;
>> x,y = meshgridv;
>> z=10x.^3-y.^5.exp-x.^2-y.^2;
>> px,py = gradientz,.2,.2;
>> contourx,y,z
>> hold on
>> quiverx,y,px,py >> hold off
21.分段函数
sin(/3)/32,7/38/3
02
sin()
x x
y x
x else
πππππ
ππ
<<<<


=<<



,x取样区间0 3π,区间内采样300个
点,要求利用逻辑关系运算对函数y=sinx逐段解析计算,并绘图;给出绘图指令即可;
=linspace0,3pi,500;
y=sint;
z1=t<pi|t>2pi.y;
w=t>pi/3&t<2pi/3+t>7pi/3&t<8pi/3;
w_n=~w;
z2=wsinpi/3+w_n.z1;
plott,z2,'-b',axis0 10 -1 1
22.有一组测量数据满足-at
e
=
y,t的变化范围为0~10,用不同的线型和标记点画出a=、a=和a=三种情况下的曲线;并在结果图中添加标题-at
e
=
y,并用箭头线标识出各曲线a的取值并添加标题-at
e
=
y和图例框;
22.>> t=0::10;
>> y1=expt;
>> y2=expt;
>> y3=expt;
>> plott,y1,'-ob',t,y2,':r',t,y3,'-.^g'
>> title'\ity\rm=e^{-\itat}'
>> title'\ity\rm=e^{-\itat}','FontSize',12
>> textt6,y16,'\leftarrow\ita\rm=','FontSize',11
>> textt6,y26,'\leftarrow\ita\rm=','FontSize',11
>> textt6,y36,'\leftarrow\ita\rm=','FontSize',11
>> title'\ity\rm=e^{-\itat}','FontSize',12 >> legend'a=','a=','a='。

相关文档
最新文档