簡體   English   中英

如何從Matlab中的函數輸出制作圖形

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM