求Matlab大神 一个 二叉树程序 帮我看看 哪儿能 改参数 从而改变 角度 大小

问题描述:

求Matlab大神 一个 二叉树程序 帮我看看 哪儿能 改参数 从而改变 角度 大小
function tree(n,a,b)
n=8;a=pi/8;b=pi/8;
x1=0;y1=0;
x2=0;y2=1;
plot([x1,x2],[y1,y2])
hold on
[X,Y]=tree1(x1,y1,x2,y2,a,b);
hold on
W=tree2(X,Y);
w1=W(:,1:4);
w2=W(:,5:8);
w=[w1;w2];
for k=1:n
         for i=1:2^k
         [X,Y]=tree1(w(i,1),w(i,2),w(i,3),w(i,4),a,b);
         W(i,:)=tree2(X,Y); 
         end   
   w1=W(:,1:4);
   w2=W(:,5:8);
   w=[w1;w2];
end
function [X,Y]=tree1(x1,y1,x2,y2,a,b)
L=sqrt((x2-x1)^2+(y2-y1)^2);
if (x2-x1)==0
    a=pi/2;
   else if (x2-x1)<0
   a=pi+atan((y2-y1)/(x2-x1));
   else
   a=atan((y2-y1)/(x2-x1));  
  end
end
x3=x2+L*2/3*cos(a+b);
y3=y2+L*2/3*sin(a+b);
x4=x2+L*2/3*cos(a-b);
y4=y2+L*2/3*sin(a-b);
a=[x3,x2,x4];
b=[y3,y2,y4];
plot(a,b)
axis equal
hold on
X=[x2,x3,x4];
Y=[y2,y3,y4];
function w=tree2(X,Y)
a1=X(1);b1=Y(1);
a2=X(2);b2=Y(2);
a3=X(1);b3=Y(1);
a4=X(3);b4=Y(3);
   
   
w=[a1,b1,a2,b2,a3,b3,a4,b4];
1个回答 分类:综合 2014-09-23

问题解答:

我来补答
function tree(n)
a=pi/n;b=pi/n;
x1=0;y1=0;
x2=0;y2=1;
plot([x1,x2],[y1,y2])
hold on
[X,Y]=tree1(x1,y1,x2,y2,a,b);
hold on
W=tree2(X,Y);
w1=W(:,1:4);
w2=W(:,5:8);
w=[w1;w2];
for k=1:n
for i=1:2^k
[X,Y]=tree1(w(i,1),w(i,2),w(i,3),w(i,4),a,b);
W(i,:)=tree2(X,Y);
end
w1=W(:,1:4);
w2=W(:,5:8);
w=[w1;w2];
end
function [X,Y]=tree1(x1,y1,x2,y2,a,b)
L=sqrt((x2-x1)^2+(y2-y1)^2);
if (x2-x1)==0
a=pi/2;
else if (x2-x1)
 
 
展开全文阅读
剩余:2000
下一页:请说清为什么