[請益] 請問我的迴圈指令是不是用錯了?

看板MATLAB作者 (好想吃慚愧棒棒糖.......)時間14年前 (2011/12/09 14:51), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
事情是這樣的 我有一些參數 gamma_1=0.5 gamma_2=0.6 gamma_3=0.4......... 我今天想繪製function的圖 w=exp((-1)*(log(1/p))^(gamma_i))) i=1,2,3,....... 然後把所有參數的線放在同一張圖上 所以我就寫了以下程式 for i=1:1:n p=0:0.01:1; eval(['w_',num2str(i),'=',exp((-1)*(log(1./p)).^(num2str(gamma_i))),';']) eval(['fig',num2str(i),'=',num2str(plot(p,w_i,'b'))]) hold on end 可是畫面一直跟我說不認得gamma_i 我也不知道怎麼回事 請問我是eval用錯了嗎? 還是說我根本不該這樣寫呢?? 先謝謝花時間看這po文的人............. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.182.210

12/09 15:10, , 1F
['w', int2str(i), '=exp((-1*log(1/p)))^(gamma', int2str(i
12/09 15:10, 1F

12/09 15:11, , 2F
i), ');']
12/09 15:11, 2F

12/09 15:12, , 3F
1. 單一數值不需要./ 2. eval用法錯誤
12/09 15:12, 3F

12/09 15:13, , 4F
3. 萬不得已才用eval, 盡量把gamma和w設為一個變數
12/09 15:13, 4F

12/09 15:14, , 5F
而不是g_1, g_2, w1, w2 程式執行會很沒有效率(因為eval)
12/09 15:14, 5F

12/10 23:33, , 6F
還不太理解 讓我在想想 謝謝你 jatj
12/10 23:33, 6F
文章代碼(AID): #1EuQ__oH (MATLAB)