数学建模社区-数学中国
标题:
matlab求解
[打印本页]
作者:
tongweijuan
时间:
2015-10-1 11:41
标题:
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)
想把每次产生的数都保留在一个绘图窗口里,怎么弄?请大神指教
作者:
GO雨林木风
时间:
2015-10-1 18:50
楼主的意思是生成一个表格形式的?matlab可以讲矩阵转化为excel,利用函数xlsread。或者你看matlab主窗口旁边有一个当前目录窗口,,双击你想知道的变量。就能出来一个表格。
如果找不到,就加一个0矩阵,每次运行的结果,赋值到这个矩阵对应位置的元素。
作者:
建模人生
时间:
2015-10-1 18:56
在开始建立0矩阵,把每次循环得到的值赋予零矩阵
作者:
士心之约
时间:
2015-10-1 19:01
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
复制代码
应该可以实现你的意思,你试试。
作者:
森之张卫东
时间:
2015-10-1 19:07
%想把每次产生的数都保留在一个绘图窗口里,怎么弄?请大神指教
%时间: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)
复制代码
作者:
tongweijuan
时间:
2015-10-22 20:11
士心之约 发表于 2015-10-1 19:01
应该可以实现你的意思,你试试。
谢谢了,就是这样的
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5