验证这个matlab代码

时间:2015-08-30 22:47:02

标签: matlab

我想绘制函数生成的分形:

    x(k+1)=y(k)(1+sin(0.7x(k))-1.2+sqrt(|x|))
    y(k+1)=0.21-x(k)

初始条件y(0)= x(0)= 0,然后我做了以下代码。

x=zeros(100);
y=zeros(100);
x(1)=0;
y(1)=0;

for k=1:100
 x(k+2)=y(k+1)(1+sin(0.7x(k+1))-1.2+sqrt(abs(x+1)))
 y(k+2)=0.21-x(k+1)
end
plot(x,y,'.')

所以,我是对的吗?或者如果我错了怎么能解决它呢?嗯,我想要分形,但我已经把它运行了,它只给了我一些孤立点,要求是不是要加入他们,因此我想知道这个代码有正确的sintaxis,我运行良好,所以问题是如果它正在做正确的事情;)

非常感谢你的帮助。

x=zeros(100);
y=zeros(100);
x(1)=0;
y(1)=0;

for k=0:100
 x(k+2)=y(k+1)*(1+sin(0.7*x(k+1))-1.2*sqrt(abs(x(k+1))));
 y(k+2)=0.21-x(k+1);
end
plot(x,y,'.')

1 个答案:

答案 0 :(得分:2)

使用您提供的代码,我添加了行print("MyPNG.png", "-dpng")并运行了Saturn Fiddle中的代码。

x=zeros(100);
y=zeros(100);
x(1)=0;
y(1)=0;

for k=0:100
 x(k+2)=y(k+1)*(1+sin(0.7*x(k+1))-1.2*sqrt(abs(x(k+1))));
 y(k+2)=0.21-x(k+1);
end
plot(x,y,'.')
print("MyPNG.png", "-dpng")

enter image description here