初学matlab,大家看看这个程序错在哪了?function sierpinskihm(x,y,z,d,n)% SIERPINSKIHM 谢尔宾斯基海绵%调用格式:sierpinskihm(x,y,z,d,n)% x为初始正方体的第一个顶点的横坐标% Y为初始正方体的第一个顶点的
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 16:46:09
初学matlab,大家看看这个程序错在哪了?function sierpinskihm(x,y,z,d,n)% SIERPINSKIHM 谢尔宾斯基海绵%调用格式:sierpinskihm(x,y,z,d,n)% x为初始正方体的第一个顶点的横坐标% Y为初始正方体的第一个顶点的
初学matlab,大家看看这个程序错在哪了?
function sierpinskihm(x,y,z,d,n)
% SIERPINSKIHM 谢尔宾斯基海绵
%调用格式:sierpinskihm(x,y,z,d,n)
% x为初始正方体的第一个顶点的横坐标
% Y为初始正方体的第一个顶点的纵坐标
% z为初始正方体的第一个顶点的竖坐标
% d为初始正方体的边长
% n为迭代次数
syms d
base=rand(1,3);
dian=base(1,:);
x=dian(1);
y=dian(2);
z=dian(3);
x4=x;y4=y;z4=z;d4=d;
x2=[];y2=[];z2=[];
a=[0,1,2];
[x1,y1]=meshgrid(a);
[x1,z1]=meshgrid(x1,a);
[y1,z1]=meshgrid(y1,a);
xl=[x1(1,1:4),x1(1,6:9),x1(2,[1,3,7,9]),x1(3,1:4),x1(1,6:9)];
y1=[y1(1,1:4),y1(1,6:9),y1(2,[1,3,7,9]),y1(3,1:4),y1(1,6:9)];
zl=[z1(1,1:4),z1(1,6:9),z1(2,[1,3,7,9]),z1(3,1:4),z1(3,6:9)];
n=5;
for j=1:n
for i=1:length(x)
x3=x(i)+d/3*xl;
y3=y(i)+d/3*y1;
z3=z(i)+d/3*zl;
x2=[x2,x3];y2=[y2,y3];z2=[z2,z3];
end
d=d/3;x=x2;y=y2;z=z2;
end
axis([x4,x4+d4,y4,y4+d4,z4,z4+d4])
for i=1:length(x)
patch(x(i)+[d,d,d,d,d],Y(i)+[0,d,d,0,0],z(i)+[0,0,d,d,0],z(i)+[0,0,d,d,0])
patch(X(i)+[0,d,d,0,0],Y(i)+[0,0,0,0,0],z(i)+[0,0,d,d,0],Y(i)+[0,0,0,0,0])
patch(x(i)+[0,d,d,0,0],y(i)+[d,d,d,d,d],z(i)+[0,0,d,d,0],x(i)+[0,d,d,0,0])
patch(X(i)+[0,d,d,0,0],Y(i)+[0,0,d,d,0],z(i)+[0,0,0,0,0],Y(i)+[0,0,d,d,0])
patch(x(i)+[0,d,d,0,0],y(i)+[0,0,d,d,0],Z(i)+[d,d,d,d,d],x(i)+[0,0,0,0,0])
patch(X(i)+[0,0,0,0,0],Y(i)+[0,d,d,0,0],Z(i)+[0,0,d,d,0],Z(i)+[0,0,d,d,0])
end
axis off
set(gef,'color',[1,1,1])
Strings passed to EVAL cannot contain function declarations.
初学matlab,大家看看这个程序错在哪了?function sierpinskihm(x,y,z,d,n)% SIERPINSKIHM 谢尔宾斯基海绵%调用格式:sierpinskihm(x,y,z,d,n)% x为初始正方体的第一个顶点的横坐标% Y为初始正方体的第一个顶点的
你这个是死循环啊.运行不出来.