matlab中怎么写levy函数
答案:2 悬赏:80
解决时间 2021-02-27 09:26
- 提问者网友:恋你成殇
- 2021-02-26 18:53
matlab中怎么写levy函数
最佳答案
- 二级知识专家网友:转身后的回眸
- 2021-02-26 19:52
function levy(n)
% levy(16),n为levy曲线迭代次数
%x1,y1,x2,y2为初始线段两端点坐标,nn为迭代次数
n=16;
x1=0;y1=0;
x2=1;y2=0;
%第i-1次迭代时由各条线段产生的新两条线段的三端点横、纵坐标存储在数组X、Y中
[X,Y]=levy1(x1,y1,x2,y2);
for i=1:n
for j=1:length(X)/3
w=levy2(X(1+3*(j-1):3*j),Y(1+3*(j-1):3*j));
[XX(3*2*(j-1)+1:3*2*(j-1)+3),YY(3*2*(j-1)+1:3*2*(j-1)+3)]=levy1(w(1,1),w(1,2),w(1,3),w(1,4));
[XX(3*2*(j-1)+3+1:3*2*(j-1)+3+3),YY(3*2*(j-1)+3+1:3*2*(j-1)+3+3)]=levy1(w(2,1),w(2,2),w(2,3),w(2,4));
end
X=XX;
Y=YY;
end
plot(X,Y)
hold on
axis equal
%由以(x1,y1),(x2,y2)为端点的线段生成新的中间点坐标并把(x1,y1),(x2,y2)连同新点横、纵坐%标依次分别存储在数组X,Y中
function [X,Y]=levy1(x1,y1,x2,y2)
x3=1/2*(x1+x2+y1-y2);
y3=1/2*(-x1+x2+y1+y2);
X=[x1,x3,x2];
Y=[y1,y3,y2];
%把由函数levy1生成的三点横、纵坐标X,Y顺次划分为两组,分别对应两条折线段中每条线%段两端点的坐标,并依次分别存储在2*4阶矩阵w中,w中第i(i=1,2)行数字代表第i条线段%两端点的坐标
function w=levy2(X,Y)
a11=X(1);b11=Y(1);
a12=X(2);b12=Y(2);
a21=X(2);b21=Y(2);
a22=X(3);b22=Y(3);
w=[a11,b11,a12,b12;a21,b21,a22,b22];
% levy(16),n为levy曲线迭代次数
%x1,y1,x2,y2为初始线段两端点坐标,nn为迭代次数
n=16;
x1=0;y1=0;
x2=1;y2=0;
%第i-1次迭代时由各条线段产生的新两条线段的三端点横、纵坐标存储在数组X、Y中
[X,Y]=levy1(x1,y1,x2,y2);
for i=1:n
for j=1:length(X)/3
w=levy2(X(1+3*(j-1):3*j),Y(1+3*(j-1):3*j));
[XX(3*2*(j-1)+1:3*2*(j-1)+3),YY(3*2*(j-1)+1:3*2*(j-1)+3)]=levy1(w(1,1),w(1,2),w(1,3),w(1,4));
[XX(3*2*(j-1)+3+1:3*2*(j-1)+3+3),YY(3*2*(j-1)+3+1:3*2*(j-1)+3+3)]=levy1(w(2,1),w(2,2),w(2,3),w(2,4));
end
X=XX;
Y=YY;
end
plot(X,Y)
hold on
axis equal
%由以(x1,y1),(x2,y2)为端点的线段生成新的中间点坐标并把(x1,y1),(x2,y2)连同新点横、纵坐%标依次分别存储在数组X,Y中
function [X,Y]=levy1(x1,y1,x2,y2)
x3=1/2*(x1+x2+y1-y2);
y3=1/2*(-x1+x2+y1+y2);
X=[x1,x3,x2];
Y=[y1,y3,y2];
%把由函数levy1生成的三点横、纵坐标X,Y顺次划分为两组,分别对应两条折线段中每条线%段两端点的坐标,并依次分别存储在2*4阶矩阵w中,w中第i(i=1,2)行数字代表第i条线段%两端点的坐标
function w=levy2(X,Y)
a11=X(1);b11=Y(1);
a12=X(2);b12=Y(2);
a21=X(2);b21=Y(2);
a22=X(3);b22=Y(3);
w=[a11,b11,a12,b12;a21,b21,a22,b22];
全部回答
- 1楼网友:厭世為王
- 2021-02-26 20:00
我是来看评论的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯