(xi?1?xi)(y?y),l3?i?1i 44其中 l2?
生成生成元各点坐标的程序如下:
function [x,y]=pd1(a,b) ii=length(a); x=[a(1)];y=[b(1)]; for i=1:ii-1
aa1=a(i);aa2=a(i+1);bb1=b(i);bb2=b(i+1); l2=(aa2-aa1)/4;l3=(bb2-bb1)/4; x2=aa2/4+3*aa1/4;y2=bb2/4+3*bb1/4; x7=3*aa2/4+1*aa1/4;y7=bb1/4+3*bb2/4;
x=[x x2 x2-l3 (aa1+aa2)/2-l3 (aa1+aa2)/2+l3 x7+l3 x7 aa2]; y=[y y2 y2+l2 (bb1+bb2)/2+l2 (bb1+bb2)/2-l2 y7-l2 y7 bb2]; end
多次分形程序fx2.m:
function fx2(n) %输入参数n代表分形次数
a=[0 8];b=[0 0]; for i=1:n
[x y]=pd1(a,b); a=x;b=y; end line(x,y)
在命令窗口输入: fx1(6) fx2(6)
可得到6次分形的Koch曲线和Minkowski“香肠”曲线。
37
2.10上机实验内容
1在同一画面绘制0?x?2*pi范围内的sin(2x)、sinx2、sin2x的图形。 2在同一平面中的两个窗口分别用polar绘制心形线??3(1?cos?)和马鞍面z=x*x-y*y的图形,并以不同的角度观察马鞍面。
3在区域-3 ?y?2(1?cost)6完成函数z=x2+y2sinx的动画表达。 7绘出函数x=sint,y=t2+et的彗星效果图。 38 2.11上机实验步骤 1 (1)在桌面单击MatLab图标,打开MatLab软件, (2)在命令窗口输入: x=0:0.01:2*pi;y1=sin(2*x);y2=sin(x.*x);y3=sin(x).^2; plot(x,y1,x,y2,x,y3) %见图21 图 21 2(1)在MatLab命令窗口输入 subplot(1,2,1) theta=linspace(0,2*pi,30); rho=3*(1-cos(theta)); polar(theta,rho,'b') %见图22 subplot(1,2,2) x=-3:0.1:3; y=x; [X,Y]=meshgrid(x,y); 39 Z=X.^2-Y.^2; surf(X,Y,Z) shading flat %见图23 图 22 图 23 (2)在MatLab图形窗口中,点击View->Figure Toolbar,选择视角工具,以不同的角度观察马鞍面。 3在MatLab命令窗口输入 clf x=-3:0.1:3; y=x; [X,Y]=meshgrid(x,y); Z=0.1*sin(X.^2+Y.^2);>surf(X,Y,Z) shading flat %见图24 图 40 图 24
相关推荐: