实验作业2 MATLAB作图

更新时间:2023-11-10 06:37:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验作业2 MATLAB作图

1、用plot,fplot 绘制函数y=cos(tan(?x))的图形。

解: 代码如下:

x=linspace(-0.5,0.5,30); y=cos(tan(pi*x)); plot(x,y) 结果:

fplot('[cos(tan(pi*x))]',[-0.5,0.5])

结果:

注意事项: fplot('[cos(tan(pi*x))]',[-0.5,0.5])不能写成fplot('[cos(tan(pi*x))]',(-0.5,0.5))否则是错误程序。

2. 用ezplot绘制函数 exy-sin(x+y)=0 在[-3, 3]上的图形。 解: 代码如下:

ezplot('exp(x*y)-sin(x+y)=0',[-3,3])

3. 用matlab以动画的方式绘制出摆线 x=a(t-sint) y=a(1-cost) (a自己赋值)的渐屈线

clear; clc; close; a=1; syms t

x=a*(t-sin(t)); y=a*(1-cos(t));

ezplot(x,y,[0,2*pi]),grid on;hold on; dy=diff(y)/diff(x); dyy=diff(dy)/diff(x);

xx=x-(1+dy^2)*dy/dyy;%渐屈线的坐标 yy=y+(1+dy^2)/dyy; M=50; t=0;

xxx=subs(xx); yyy=subs(yy);

H1=plot(xxx,yyy,'r');hold on;grid on;axis([0,7,-2.5,2.5]); x1=subs(x); y1=subs(y);

H2=plot([x1,xxx],[y1,yyy],'k--'); H3=plot(x1,y1,'ko'); H4=plot(xxx,yyy,'ro'); tt=linspace(0,2*pi,M); for i=1:M

pause(0.2); t=tt(1:i);

xxx=subs(xx); yyy=subs(yy); x1=subs(x); y1=subs(y);

set(H1,'xdata',xxx,'ydata',yyy);

set(H2,'xdata',[x1(i),xxx(i)],'ydata',[y1(i),yyy(i)]); set(H3,'xdata',x1(i),'ydata',y1(i)); set(H4,'xdata',xxx(i),'ydata',yyy(i)); end

?x?a(t?sint) 绘制函数?在t?[0,2?]上的图形。

?y?a(1?cost)程序:a=input('please input a='); t=linspace(0,2*pi,100);

x=a*(sin(t)); y=a*(t-cos(t)); plot(x,y); please input a=10

4.

5. 在同一平面中的两个窗口分别画出心形线和马鞍面。

要求:1)在图形上加格栅、图例和标注; 2)定制坐标;

3)以不同角度观察马鞍面。 解:

心型线代码如下:

clear; clc;

i=-pi:0.1:pi;

x=2.*(sin(i)-sin(2*i)./2); y=2.*(cos(i)-cos(i).^2); plot(x,y);

axis([-3 3 -4.2 1]);%制定图形坐标 title('心形线');%当前图顶端加图例 xlabel('x');%当前图x轴加图例 ylabel('y');%当前图y轴加图例 grid on;%加格栅到当前图上

心型线运行结果显示如下图:

图3.1(心型线)

马鞍线代码如下:

clear; clc; a=10; b=10;

x=-1.5:0.1:1.5; y=-1.5:0.1:1.5;

[X,Y]=meshgrid(x,y);%x行y列的矩阵 Z=X.^2/a-Y.^2/b; figure(2);%新建窗口

subplot(221);%分割当前窗口,作图显示在该分割块上 surf (X,Y,Z); title('马鞍面'); xlabel('x'); ylabel('y'); subplot(222); surf (X,Y,Z); title('马鞍面');

xlabel('x'); ylabel('y');

view(20,30);%改变视角到(20,30) subplot(223); surf (X,Y,Z); title('马鞍面'); xlabel('x'); ylabel('y');

view(50,20);%改变视角到(50,20) subplot(224); surf (X,Y,Z); title('马鞍面'); xlabel('x'); ylabel('y');

view(60,10);%改变视角到(60,10)

马鞍线运行结果显示如下图:

图3.2(马鞍面)

7.以不同的视角观察球面x2+y2+z2=r2

和圆柱面 x2+y2=rx所围区域. 解:

代码如下:

clear; clc; r=2;

[x0,y0,z0]=sphere(50); x=r*x0;y=r*y0;z=r*z0; surf(x,y,z);hold on; f=@(x,y)x.^2+y.^2-r*x;

ezsurf(f,[-1.5,2.5],[-2,1.5]); axis equal; view(30,20);

运行结果显示如下图:

图3.3

本文来源:https://www.bwwdw.com/article/40zv.html

Top