如何应用随机漫步吗?

88(30天)
艾哈迈德elnashar
艾哈迈德elnashar 2012年5月11日
评论道: 图像分析 2022年10月6日
如果我'ave轴(x, y)我想应用随机游走。有一个函数在matlab代表。

答案(3)

约翰D 'Errico
约翰D 'Errico 2012年5月11日
xy = cumsum (1 + 2 * (rand (1000 2)), 1);
你为什么需要一个函数?

图像分析
图像分析 2012年5月11日
编辑:图像分析 2020年1月22日
试试这个漂亮的图形演示:
%的演示做二维随机漫步。
%用户要求的步骤。
%的形象分析
clc;%清除命令窗口。
clearvars;
关闭所有;%关闭所有数据(除了imtool。)
工作空间;%确定工作区面板显示。
字形大小= 20;
格式紧凑的;
%问用户采取的步骤。
defaultValue = 15;
titleBar =输入一个整数值的;
userPrompt =的输入数量的步骤:;
caUserInput = inputdlg (userPrompt userPrompt 1, {num2str (defaultValue)});
如果isempty (caUserInput),返回,结束;如果他们点击取消%纾困。
integerValue =圆(str2num (cell2mat (caUserInput)));
%检查一个有效的整数。
如果isnan (integerValue)
%他们没有输入一个数字。
%他们点击取消,或输入一个字符,符号,或别的东西不允许的。
integerValue = defaultValue;
消息= sprintf (”我说必须是一个整数。\倪将使用% d和继续下去。”,integerValue);
uiwait (warndlg(消息));
结束
numberOfSteps = integerValue;
△=兰德(numberOfSteps) - 0.5;
δy =兰德(numberOfSteps) - 0.5;
xy = 0 (numberOfSteps, 2);
= 2步:numberOfSteps
%在x方向上走。
xy(步骤1)= xy(步骤1)+△(步骤);
%在y方向上走。
xy(步骤2)= xy(步骤2)+δy(步骤);
%现在情节走到目前为止。
xCoords = xy(1:步骤1);
yCoords = xy(1:步骤2);
情节(xCoords yCoords,“bo - - - - - -”,“线宽”2);
持有;
textLabel = sprintf (' % d '、步骤);
文本(xCoords(结束),yCoords(结束),textLabel,“字形大小”、字形大小);
结束
%马克第一点红色。
持有;
情节(xy (1, 1), xy (1、2),“rs”,“线宽”2,“MarkerSize”25);
textLabel =' 1 ';
文本(xy (1, 1), xy (1、2), textLabel,“字形大小”、字形大小);
网格;
%马克最后一点红色。
情节(xCoords(结束),yCoords(结束),“rs”,“线宽”2,“MarkerSize”25);
标题(“随机漫步”,“字形大小”、字形大小);
包含(“X”,“字形大小”、字形大小);
ylabel (“Y”,“字形大小”、字形大小);
%全屏放大图。
集(gcf,“单位”,“归一化”,“outerposition”,(0 0 1 1));
%计算到原点的距离。
distanceFromOrigin =函数(xCoords(结束),yCoords(结束));
消息= sprintf (“完成了演示!端点从原产地\ nDistance = % .3f ',distanceFromOrigin);
对话框(消息);
0000年Screenshot.png
4评论
图像分析
图像分析 2019年7月29日
我的代码并不要求用户对任何“种子”。我的代码要求用户的步骤。从那时候是自动的,当然你可以改变任何你想要的变量。

登录置评。


理查德·开松机
理查德·开松机 2012年5月11日
MATLAB包括各种各样的功能,可用于模拟随机漫步。取决于正是你想做的你可以使用任何“兰德”功能的基础MATLAB bm(计量经济学工具箱的函数模型布朗运动)。
以下文件交换提交包括一些好例子,MathWorks应用工程师开发说明随机漫步。
6个评论
图像分析
图像分析 2022年10月6日
您可以使用 randn 而不是 兰德 如果你想要的。它仍然是随机的。然而这只是你想确定你的实验。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!