matlab求解
m=[0.5 0 0 0.5 0 0 0.33;0.5 0 0 0.5 0.5 0 0.33;
0.5 0 0 0.5 0.25 0.5 0.33;
zeros(4,7);];
k=100;
x=0;
y=0;
for n=1:k
r=rand();
if r<=m(1,7)
a=m(1,1);
b=m(1,2);
c=m(1,3);
d=m(1,4);
e=m(1,5);
f=m(1,6);
g=m(1,7);
elseif r<=m(1,7)+m(2,7)
a=m(2,1);
b=m(2,2);
c=m(2,3);
d=m(2,4);
e=m(2,5);
f=m(2,6);
g=m(2,7);
elseif r<=m(1,7)+m(2,7)+m(3,7)
a=m(3,1);
b=m(3,2);
c=m(3,3);
d=m(3,4);
e=m(3,5);
f=m(3,6);
g=m(3,7);
else
a=m(4,1);
b=m(4,2);
c=m(4,3);
d=m(4,4);
e=m(4,5);
f=m(4,6);
g=m(4,7);
end
newx=(a*x)+(b*y)+e;
newy=(c*x)+(d*y)+f;
x=newx;
y=newy;
end
plot(x,y,'b','LineWidth',2)
想把每次产生的数都保留在一个绘图窗口里,怎么弄?请大神指教
楼主的意思是生成一个表格形式的?matlab可以讲矩阵转化为excel,利用函数xlsread。或者你看matlab主窗口旁边有一个当前目录窗口,,双击你想知道的变量。就能出来一个表格。
如果找不到,就加一个0矩阵,每次运行的结果,赋值到这个矩阵对应位置的元素。
在开始建立0矩阵,把每次循环得到的值赋予零矩阵
m=[0.5 0 0 0.5 0 0 0.33;
0.5 0 0 0.5 0.5 0 0.33;
0.5 0 0 0.5 0.25 0.5 0.33;
zeros(4,7);];
k=100;
x=0;
y=0;
for n=1:k
r=rand();
if r<=m(1,7)
a=m(1,1);
b=m(1,2);
c=m(1,3);
d=m(1,4);
e=m(1,5);
f=m(1,6);
g=m(1,7);
elseif r<=m(1,7)+m(2,7)
a=m(2,1);
b=m(2,2);
c=m(2,3);
d=m(2,4);
e=m(2,5);
f=m(2,6);
g=m(2,7);
elseif r<=m(1,7)+m(2,7)+m(3,7)
a=m(3,1);
b=m(3,2);
c=m(3,3);
d=m(3,4);
e=m(3,5);
f=m(3,6);
g=m(3,7);
else
a=m(4,1);
b=m(4,2);
c=m(4,3);
d=m(4,4);
e=m(4,5);
f=m(4,6);
g=m(4,7);
end
newx=(a*x)+(b*y)+e;
newy=(c*x)+(d*y)+f;
x=newx;
y=newy;
plot(x,y,'ob','LineWidth',2)
hold on
end应该可以实现你的意思,你试试。{:3_41:}
%想把每次产生的数都保留在一个绘图窗口里,怎么弄?请大神指教
%时间:2015-10-1-国庆节
m=[0.5 0 0 0.5 0 0 0.33;
0.5 0 0 0.5 0.5 0 0.33;
0.5 0 0 0.5 0.25 0.5 0.33;
zeros(4,7);];
k=100;
x=0;
y=0;
for n=1:k
r=rand;
if r<=m(1,7)
a=m(1,1); b=m(1,2); c=m(1,3);
d=m(1,4); e=m(1,5);f=m(1,6);
g=m(1,7);
elseif r<=m(1,7)+m(2,7)
a=m(2,1); b=m(2,2); c=m(2,3);
d=m(2,4); e=m(2,5); f=m(2,6);
g=m(2,7);
elseif r<=m(1,7)+m(2,7)+m(3,7)
a=m(3,1); b=m(3,2);c=m(3,3);
d=m(3,4); e=m(3,5); f=m(3,6);
g=m(3,7);
else
a=m(4,1); b=m(4,2); c=m(4,3);
d=m(4,4);e=m(4,5); f=m(4,6);
g=m(4,7);
end
newx=(a*x_me(1,k))+(b*y_me(1,k))+e;
newy=(c*x_me(1,k))+(d*y_me(1,k))+f;
x_me(1,k+1)=newx;
y_me(1,k+1)=newy;
end
plot(x,y,'b','LineWidth',2)
士心之约 发表于 2015-10-1 19:01 static/image/common/back.gif
应该可以实现你的意思,你试试。
谢谢了,就是这样的
页:
[1]