clear;clc;close all
w=[0824074 0281482 -0212346 0864198 -1882290 -0110607
0088272 0520988 -0463889 -0377778 0785360 8095795];
N=10000;
x=zeros(1,N);
y=zeros(1,N);
x0=0;
y0=0;
for i=1:N
if rand<08
j=1;
else
j=2;
end
x01=w(j,[1 2 5])[x0,y0,1]';
y01=w(j,[3 4 6])[x0,y0,1]';
x(i)=x01;
y(i)=y01;
x0=x01;
y0=y01;
end
plot(x,y,'')
matlab代码, 不包括显示部分
r=200;
for k=-100:35
for l=-55:50
y=0;
k1=k/50;
l1=l/50;
z=0;
c=k1+l11i;
z=z^2+c;
n=1;
b=imag(z);
a=real(z);
while (-2<a)&&(a<2)&&(-2<b)&&(b<2)&&(n<r);
z=z^2+c;
n=n+1;
b=imag(z);
a=real(z);
end
M(k+101,l+56)=log10(n);
end
end
没见你的程序代码,不知用的啥命令,但是,若用corrcoef命令,句式[r,p]=corroef(a)时,r中的数值可能会出现负值。如: A = randn(50,3); A(:,4) = sum(A,2); [R,P] = corrcoef(A) 结果是: R = 10000 01135 00879 07314 01135 10000 -01451 05082 00879 -01451 10000 05199 07314 05082 05199 10000 P = 10000 04325 05438 00000 04325 10000 03146 00002 05438 03146 10000 00001 00000 00002 00001 10000
把下面的程序保存为plotkochm,然后在command windows中输入plotkoch(8)即可,其中8是迭代次数,你可以换成别的整数。
function plotkoch(n)
[x,y]=koch(n);
fill(x,y,'w');
text(0,0,{'\centerline{The area surrounded by Koch Snow Curve is $\displaystyle\frac{2\sqrt {3}{n}^{2}}{5}$}',
'\centerline{($n$ is the side length of the original triangle)}',
'\centerline{The dimension of the curve is $\log{_34}$}'},
'interpreter','latex','horizontalalignment','center')
axis equal off;
function [x,y]=koch(n)
if n==1
t=linspace(0,2pi,4);
x=cos(t);
y=sin(t);
else
p=1/3;h=psqrt(3)/2;
[x,y]=koch(n-1);
xx=x(1);yy=y(1);
dx=diff(x);dy=diff(y);
ax=(1-p)x(1:end-1)+px(2:end);
ay=(1-p)y(1:end-1)+py(2:end);
bx=px(1:end-1)+(1-p)x(2:end);
by=py(1:end-1)+(1-p)y(2:end);
ox=(x(1:end-1)+x(2:end))/2+hdy;
oy=(y(1:end-1)+y(2:end))/2-hdx;
x=[reshape([x(1:end-1);ax;ox;bx],1,[]),x(end)];
y=[reshape([y(1:end-1);ay;oy;by],1,[]),y(end)];
end
#include<graphicsh>
#include<stdlibh>
#include<mathh>
int main()
{
float m,dx,dy,x,y,x_n,y_n,Cx,Cy;
int n,i,j,L=4;
int gdriver=DETECT,gmode; //gdriver和gmode分别表示图形驱动器和模式,gdriver=DETECT是在测试显示器硬件
initgraph(&gdriver,&gmode,""); //初始化图形模式
setbkcolor(1); //设置背景色为蓝色
dx=30/639;
dy=22/479;
for(i=0;i<639;i++)
{
Cx=-19+idx;
for(j=0;j<479;j++)
{
Cy=-12+jdy;
x=y=0;
for(n=0;n<=1000;n++)
{
x_n=xx-yy+Cx;
y_n=2xy+Cy;
m=x_nx_n;
if(m>L) break;
x=x_n;
y=y_n;
}
putpixel(i,j,(int)(04m)%16); //在指定位置画一像素(坐标(i,j),第三个计算式为画点的颜色)
}
}
getch(); //任意键返回
closegraph(); //关闭图形模式并返回文本模式
}
关于颜色的设置如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━
符号常数 数值 含义 字符或背景
——————————————————————————
BLUE 1 兰 两者均可
GREEN 2 绿 两者均可
CYAN 3 青 两者均可
RED 4 红 两者均可
MAGENTA 5 洋红 两者均可
BROWN 6 棕 两者均可
LIGHTGRAY 7 淡灰 两者均可
DARKGRAY 8 深灰 只用于字符
LIGHTBLUE 9 淡兰 只用于字符
LIGHTGREEN 10 淡绿 只用于字符
LIGHTCYAN 11 淡青 只用于字符
LIGHTRED 12 淡红 只用于字符
LIGHTMAGENTA 13 淡洋红 只用于字符
YELLOW 14 黄 只用于字符
WHITE 15 白 只用于字符
BLINK 128 闪烁 只用于字符
以上就是关于用MATLAB分形画龙曲线全部的内容,包括:用MATLAB分形画龙曲线、有关 曼德勃罗集合(或者 分形维度) 在MATLAB 或者 C++ 中的实现、用matlab灰度处理图片然后fraclab盒维数计算分形后,如何导出r和n等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)