[請益] 請問這樣寫程式哪裡有錯?

看板MATLAB作者 (好想吃慚愧棒棒糖.......)時間14年前 (2011/11/25 01:30), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
事情是這樣的 小弟我想從矩陣A裡面 20個抓一組出來處理 所以就這樣寫 for j=1:1:12 clear; Filename='rate_ia_dot.xls'; A=xlsread(Filename); p11=zeros(20,1); p12=zeros(20,1); eval([p11,'=',num2str(A(1+(j-1)*20:20+(j-1)*20,1)),';']) eval([p12,'=',num2str(A(1+(j-1)*20:20+(j-1)*20,2)),';']) . . . end 可是結果一直出現 ??? Subscript indices must either be real positive integers or logicals. Error in ==> test at 7 eval([p11,'=',num2str(A(1+(j-1)*20:20+(j-1)*20,1)),';']); 請問是那裏出錯?? 又 該怎麼寫才對?? 先謝謝花時間看這篇的人了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.255.3.132

11/25 01:56, , 1F
為什麼不直接p11=A(1+(j-1)*20:20+(j-1)*20,1); ??
11/25 01:56, 1F

11/25 01:59, , 2F
clear放裡面???
11/25 01:59, 2F

11/25 02:20, , 3F
可以解釋一下~eval 那邊 要做甚麼嘛?
11/25 02:20, 3F

11/25 10:40, , 4F
clear ??? 那不就把迴圈的j清除,num2str內的j不就代表虛數?
11/25 10:40, 4F

11/25 12:11, , 5F
原來如此(恍然大悟) 謝謝你 c大
11/25 12:11, 5F

11/25 12:42, , 6F
重點是clear 只會放在開頭呀 = =
11/25 12:42, 6F
文章代碼(AID): #1Epdz3RO (MATLAB)
文章代碼(AID): #1Epdz3RO (MATLAB)