初学matlab,大家看看这个程序错在哪了?function sierpinskihm(x,y,z,d,n)% SIERPINSKIHM 谢尔宾斯基海绵%调用格式:sierpinskihm(x,y,z,d,n)% x为初始正方体的第一个顶点的横坐标% Y为初始正方体的第一个顶点的
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 10:26:32
![初学matlab,大家看看这个程序错在哪了?function sierpinskihm(x,y,z,d,n)% SIERPINSKIHM 谢尔宾斯基海绵%调用格式:sierpinskihm(x,y,z,d,n)% x为初始正方体的第一个顶点的横坐标% Y为初始正方体的第一个顶点的](/uploads/image/z/1340318-38-8.jpg?t=%E5%88%9D%E5%AD%A6matlab%2C%E5%A4%A7%E5%AE%B6%E7%9C%8B%E7%9C%8B%E8%BF%99%E4%B8%AA%E7%A8%8B%E5%BA%8F%E9%94%99%E5%9C%A8%E5%93%AA%E4%BA%86%3Ffunction+sierpinskihm%28x%2Cy%2Cz%2Cd%2Cn%29%25+SIERPINSKIHM+%E8%B0%A2%E5%B0%94%E5%AE%BE%E6%96%AF%E5%9F%BA%E6%B5%B7%E7%BB%B5%25%E8%B0%83%E7%94%A8%E6%A0%BC%E5%BC%8F%EF%BC%9Asierpinskihm%28x%2Cy%2Cz%2Cd%2Cn%29%25+x%E4%B8%BA%E5%88%9D%E5%A7%8B%E6%AD%A3%E6%96%B9%E4%BD%93%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E9%A1%B6%E7%82%B9%E7%9A%84%E6%A8%AA%E5%9D%90%E6%A0%87%25+Y%E4%B8%BA%E5%88%9D%E5%A7%8B%E6%AD%A3%E6%96%B9%E4%BD%93%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E9%A1%B6%E7%82%B9%E7%9A%84)
初学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为初始正方体的第一个顶点的
你这个是死循环啊.运行不出来.