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

动图效果如下:

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

动图如下:

普通版:

>> 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

截图如下:

相关文档
最新文档