[英]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.