Matlab 如何从原点到达用户指定的边界点,随机行走模拟
我试图在MATLAB中创建一个函数: 它模拟了一个随机行走,我想计算从原点0,0到达用户指定的边界点所需的步数 它们将指定:b,z b:是它到达的边界上的x点吗 z:作为边界上的y点 目前,它在达到b或z值后停止,但我希望达到这两个值。例如:我希望它达到3,3,但它将在达到3,1后停止运行,因此只满足我的一个约束 任何帮助都将不胜感激 这是我的密码:Matlab 如何从原点到达用户指定的边界点,随机行走模拟,matlab,simulation,Matlab,Simulation,我试图在MATLAB中创建一个函数: 它模拟了一个随机行走,我想计算从原点0,0到达用户指定的边界点所需的步数 它们将指定:b,z b:是它到达的边界上的x点吗 z:作为边界上的y点 目前,它在达到b或z值后停止,但我希望达到这两个值。例如:我希望它达到3,3,但它将在达到3,1后停止运行,因此只满足我的一个约束 任何帮助都将不胜感激 这是我的密码: function s= rw_selectpoint(b,z) %%exit time for square %%set up square 2
function s= rw_selectpoint(b,z)
%%exit time for square
%%set up square 2bx2z
%%center of square =(0,0)
x=0;
y=0;
walk_num=0;
%%set up probabilities and loop
while (abs(x)< b && abs(y)<z)
r= rand();
if (r<=.25)
walk_num=walk_num+1;
x=x+1
elseif ((.25<r) && (r<=.5))
walk_num=walk_num+1;
x=x-1
elseif ((.5<r) && (r<=.75))
walk_num=walk_num+1;
y=y+1
else %(.75<r)
walk_num=walk_num+1;
y=y-1
end
end
s=walk_num;
display (x)
display (y)
%display (s)
end
while循环的条件是两条语句的结合
while (abs(x)< b && abs(y)<z)
因此,如果其中一个为false,则不满足条件,循环终止
将&&更改为| |,您的代码应该可以正常工作 你太棒了!非常感谢。