Re: [問題]迴圈繪圖已回收

看板MATLAB作者 (貓與鋼琴)時間14年前 (2010/05/16 20:59), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《inoran54787 (貓與鋼琴)》之銘言: 不好意思 在請問一下 我剛剛重跑一次,出現error ======================================================== ??? Attempted to access y(1002,1); index must be a positive integer or logical. Error in ==> volt at 10 vol(t/0.001+1,1)=-h31.*(Q5k.*z1)*[y(t/0.001+1,1);y(t/0.001+1,2) ;y(t/0.001+1,3);y(t/0.001+1,4);y(t/0.001+1,5) ;y(t/0.001+1,6)] -R1*y(t/0.001+1,17) -L1*y(t/0.001+1,21)-cp*y(t/0.001+1,13) =========================================================== vol後面那串是我原始的計算式子,h31,R1,L1...等等 都是常數,Q5k為1*6常數矩陣 y(70001,24)為原始DATA 跑到1002列就不能跑了,我後面表示的式子應該是沒有錯阿@@ positive integer or logical. 這句有點看不太懂 我原始的資料都是實數沒有虛數, 謝謝!! : 各位前輩好: : 小弟寫了一個迴圈並繪成圖形 : 我原始有個data y=(7001,24) 這是由t=0:0.001:70算出來的ode解 : 我現在想知道他每個時間點在電路上某一點的電壓值, : 我先隨便假設計算某點電壓值的式子如下,並建立矩陣,時間先取個2秒 : fot t=0:0.001:2 : v(t/0.001+1,1)=a*y(l/0.001+1,1)+b*y(1/0.001,18)+c*y(1/0.001,24) : end : a=b=c=const : 然後我在寫個時間的矩陣 : for m=0:0.001:2 : t(m,1)=m : end : plot(t,v) %繪圖 : =======================以上執行順利================ : 我看板上很多高手寫的比很精簡, : 因為我卡在迴圈的值會覆蓋的問題,t出來會變成1*1 : 因此我就寫得很笨拙,爬了很多文還是不知道如何有效的用迴圈建立矩陣繪製圖形 : (汗) 請問該如何寫的更精簡一點呢? 謝謝各位!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.66.117 ※ 編輯: inoran54787 來自: 140.115.66.117 (05/16 21:00) ※ 編輯: inoran54787 來自: 140.115.66.117 (05/16 21:26)

05/16 21:36, , 1F
我試過了 ceil(t/0.001)+1正常了 應該是數值型態的問題
05/16 21:36, 1F

05/16 21:42, , 2F
解決了!!! 照J大的方法
05/16 21:42, 2F

05/16 21:42, , 3F
的確如您所說 是我讀的檔是科學記號
05/16 21:42, 3F

05/16 21:42, , 4F
超級感謝.....!!!!!!!!!!!!
05/16 21:42, 4F

05/16 21:44, , 5F
在這邊真的學了不少知識
05/16 21:44, 5F
文章代碼(AID): #1Bx-mcCZ (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1Bx-mcCZ (MATLAB)