[問題] 隨機模擬結果已回收
抱歉是新手Q___Q
我想知道該如何模擬(主要指令是甚麼?)
請問如果
t 1 2 3 4 5 6 ←時間點
──┬─┬─┬─┬─┬─┐
A 0.1 0.3 0.4 0.6 0.7 0.9 ←停止機率
想模擬出到底會在哪一點停止?(每次模擬的結果會不一定)
我該用甚麼指令起頭呢?
我只知道機率會是p(i)=A(i)
--
借了"MATLAB程式設計與應用 張智星著"
但是目錄找不到"模擬"兩個字,是我找錯方向麼Q___Q
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.117.201
※ 編輯: fff0722 來自: 140.134.117.201 (07/08 17:42)
→
07/08 17:47, , 1F
07/08 17:47, 1F
不是耶,我是簡化了想模擬一個人死亡年紀。
→
07/08 17:50, , 2F
07/08 17:50, 2F
請問rand後要怎麼處理他原本有的機率呢?
※ 編輯: fff0722 來自: 140.134.117.201 (07/08 18:06)
→
07/08 18:23, , 3F
07/08 18:23, 3F
我簡化的^^,最後會到1。
我目前寫出.....
clear all;
M= (載入2002年的死亡率)
x=30
w=110
y=w-x
C=rand(1,y)
for i=1:y
p(i)=M(i)
if C(i)<p(i)
life=1 %死亡
else life=0 %存活
end
end
其結果已經可以出現在 Command Window 上
假設是
life =
0
life =
0
life =
0
life =
1 ← 第四年死亡
要如何才把life變成Workspace裡的表格之一呢?
(或是能直接出現4??)
→
07/08 18:28, , 4F
07/08 18:28, 4F
→
07/08 18:28, , 5F
07/08 18:28, 5F
※ 編輯: fff0722 來自: 140.134.117.201 (07/08 19:28)
→
07/09 17:39, , 6F
07/09 17:39, 6F
→
07/09 18:16, , 7F
07/09 18:16, 7F
感謝各位,已經能跑出單數的亂數結果了。
但是無法用回圈算多次實驗(頭腦快爆了.....)
N=10 %實驗次數
q(1)=0
for i=1:N
for j=1:y
q(j)=M(j)
if C(j)<q(j)
life(i)=j ←我用N=1到此可跑出隨機數字
break;
end
end
end
可是當N變成10時,
數字就變成全部一樣
[49, 49, 49, 49, 49, 49, 49, 49, 49, 49]
要如何才能把這十個變成都是隨機數字?
終於弄出來了,感謝各位高手提點。
※ 編輯: fff0722 來自: 123.240.17.45 (07/12 01:04)