[英]How to make a graph from function output in matlab
使用MATLAB函数让我完全不知所措,所以是这种情况:假设我的SUM = 0,并且我有一个恒定的概率P,用户给了我,我必须将此常量P与其他M进行比较(用户也提供M)随机概率,如果P较大,我将SUM加1,如果P较小,我将-1加SUM ...,最后我要在屏幕上打印过程图。
到目前为止,我设法只用此代码完成了一个阶段:
function [result] = ex1(p)
if (rand>=p) result=1;
else result=-1;
end
(就像M = 1)
您如何建议我可以修改此代码,以使其按照我之前描述的方式工作(包括获取图形)?
还是我弄错了逻辑? 问题是我的概率P为1,概率为(1-P)为-1,并且SUM相同
非常感谢
您可以这样做:
p = 0.25; % example data
M = 20; % example data
random = rand(M,1); % generate values
y = cumsum(2*(random>=p)-1); % compute cumulative sum of +1/-1
plot(y) % do the plot
此处的重要函数是cumsum
,它对2*(random>=p)-1
生成的+ 1 / -1值的序列求和。
p=0.5
, M=2000
示例图:
我不确定您如何实现输入,但这应该可以帮助您:
p = 0.5; % Constant probability
m = 10;
randoms = rand(m,1) % Random probabilities
results = ones(m,1);
idx = find(randoms < p)
results(idx) = -1;
plot(cumsum(results))
对于m = 1000
:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.