作者icrtstyle (嘿嘿)
看板MATLAB
標題[問題] 要怎麼讀出變數
時間Tue Nov 20 18:05:25 2012
一個應該是很簡單的問題,只是我不知道怎麼處理~~= ="
以下是我程式的簡化版
clear
n=4;
A=zeros(n);
k=zeros(n,1);
A(1,2)=1;
A(1,3)=1;
A(2,1)=1;
A(2,3)=1;
A(3,1)=1;
A(3,2)=1;
A(1,4)=1;
A(4,1)=1;
k(1,1)=3;
k(2,1)=2;
k(3,1)=2;
k(4,1)=1;
r=5/16;
for j=1:4;
p(j,1)=(k(j,1))/(sum(k(:,1)));
end
for j=1:4;
if r > p(j,1)
c=min(j) %<--------問題在這邊!!
end
end
==============
當我 r > p(j,1)的迴圈裏面
我想找出最小的j,意思是p(j,1)=[0.375,0.25,0.25,0.125]
r=5/16=0.31... 所以r會大於p(2,1),p(3,1),p(4,1)
我希望要得 j 值是 r 遇到第一個小於 r 的 p(j,1)的 j !!
在這個例子就是,我希望他能讀出 j=2
請問有什麼方法可以解決???
===========
或是
for j=1:4;
if r > p(j,1)
c=min(j) %<------如何一成功執行到這步驟就停止????
end
end
===========
這是我想到的狀況~~
--
◎ ◢) ○
伴隨著五彩光圈,蝴蝶所到之處,惡鬼全成了碎塊, ◥◣◤
○ ⊙◢◥█))
蝴蝶優雅飛去,碎塊才來得及落下。 ○ ◥) ◥) ◎
◢█
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.66.158
※ 編輯: icrtstyle 來自: 140.119.66.158 (11/20 18:13)
推 olliekr:break? 11/20 20:05
推 CBET:find(r > p, 1) 11/20 20:23
→ icrtstyle:break可以 11/20 20:26
→ icrtstyle:請問CBET大,我不太明白你方法的意思,我試過p(:,1)跟 11/20 20:31
→ icrtstyle:p(j,1)這兩個,結果都不是我要的結果~~ 11/20 20:32
推 CBET:那一整塊 for 迴圈用 find(r > p, 1) 就可以了 11/20 21:00
→ icrtstyle:了解,感謝~~ 11/20 21:14