matlab程序设计第三章课后习题答案

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

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。

>> t=0:0.01:pi;

>> x1=t;

>> y1=2*x1-0.5;

>> x2=sin(3*t).*cos(t);

>> y2=sin(3*t).*sin(t);

>> plot(x1,y1,'r-',x2,y2,'g-')

>> axis([-1,2,-1.5,1])

>> hold on

>> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)');

>> plot(double(s.x),double(s.y),'*');

截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。

function [ output_args ] = Untitled2( input_args )

%UNTITLED2 Summary of this function goes here

% Detailed explanation goes here

theta=0:0.01:2*pi;

a=input('请输入a的值:');

b=input('请输入b的值:');

n=input('请输入n的值:');

rho=a*sin(b+n*theta);

polar(theta,rho,'k');

end

下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化

对b的值进行改变:对比发现b的值使这个圆转换了一定的角度

对n的值进行改变:对比发现当n>=2时有如下规律

1、当n为整数时,图形变为2n个花瓣状的图形

2、当n为奇数时,图形变为n个花瓣状的图形

分别让n为2、3、4、5

同时改变b和n的值,对比发现图形变为2n个花瓣状,并且还旋转了一定角度

1 绘制sin(x)曲线,通过句柄修改曲线的颜色,要求:a)生成曲线的同时,获取句柄,再修改颜色;

>> x=0:pi/50:2*pi;

>> y=sin(x);

>> h=plot(x,y)

h =

174.0101

>> set(h,'color','r');

截图如下:

b)先生成曲线,然后再获取句柄,再完成颜色修改。

>> x=0:pi/50:2*pi;

>> y=sin(x);

>> plot(x,y);

>> h1=plot(x,y)

h1 =

174.0095

>> set(h1,'color','r');

截图如下:

2.制作一个动画片,让一个马鞍面旋转起来。function [ output_args ] = Untitled( input_args ) %UNTITLED Summary of this function goes here % Detailed explanation goes here

m=-10:0.05:10;

n=-10:0.05:10;

[x,y]=meshgrid(m,n);

z=1/2.*x.^2-1/4.*y.^2;

mesh(x,y,z)

axis off;

[x,y,z]=peaks(30);

m=moviein(15);

for i=1:15

view(-37.5+24*(i-1),30);

m(:,i)=getframe;

end

movie(m)

end

动图效果如下:

matlab3_4.fig

3.根据绘制平面曲线,并分析参数a对其形状的影响,其中

动画效果版:

>> syms a x y

>> eq=x^2/a^2+y^2/(25-a^2)-1;

>> aa=[0.5:0.5:4.5,5.5:8];

>> [m,n]=size(aa);

>> for i=1:n

eq1=subs(eq,a,aa(i));

ezplot(eq1,[-20,20]);

drawnow

axis([-20,20,-20,20]);

pause(0.5);

end

动图如下:

matlab_a.fig

普通版:

>> t=0:pi/50:2*pi;

>> i=1;

>> for a=0:0.5:4.5

x=a*cos(t);

y=sqrt(25-a.^2)*sin(t);

subplot(3,3,i);

plot(x,y);

axis([-8,8,-8,8]);

i=i+1;

end

截图如下:

如有侵权请联系告知删除,感谢你们的配合!

<22929 5991 妑•26139 661B 昛38387 95F3 闳20612 5084 傄@37048 90B8 邸23906 5D62 嵢026585 67D9 柙21505 5401 吁35877 8C25 谥31328 7A60 穠30881 78A1 碡

相关文档
最新文档