Re: [問題] for迴圈問題已回收

看板MATLAB作者 (壞人)時間16年前 (2009/06/17 01:05), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串2/2 (看更多)
再請教抓值的問題 fid=fopen('C:\StockData\base_analysis.txt','a'); for i = 1:22 eval(['edit(',num2str(i),')=get(handles.edit',num2str(i),'),''string''']); end 如果是用慢慢抓值的方式, edit1=get(handles.edit1,string); fprintf(fid,'%s',edit1) 能把edit1(gui裡輸入)的值,存在base_analysis.txt裡頭 我換成eval的寫法,在command裡頭出現的是 edit = BackgroundColor: [1 1 1] 下略 ans = string edit = 1x2 struct array with fields: BackgroundColor 下略 1x3 想請問為何抓到的不是edit內的值 謝謝 fprintf(fid,'%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s',edit1,edit2,edit3,edit4,edit5,edit6,edit7,edit8,edit9,edit10,edit11,edit12,edit13,edit14,edit15.edit16.edit17.edit18,edit19,edit20,edit21,edit22); 如果已經抓到edit1~edit22的值,那用最笨的方式%s慢慢對印edit1~22 是否可行 fclose(fid); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.212.205

06/17 01:20, , 1F
你應該去workspace裡面看資料..會印那些是因為你的
06/17 01:20, 1F

06/17 01:20, , 2F
eval裡面的指令沒有加分號
06/17 01:20, 2F

06/17 01:21, , 3F
如果你edit1-22的值都正確 用你原來的方法也是寫的進的
06/17 01:21, 3F
我後來有在eval裡加分號 eval(['edit(',num2str(i),')=get(handles.edit',num2str(i),'),''string''';]); ^ 但是印出來的還是一樣 而在base_analysis.txt裡頭只印出edit1的值 我再試試好了,謝謝 ※ 編輯: rogue 來自: 220.136.212.205 (06/17 01:39)

06/17 01:42, , 4F
應該是';'
06/17 01:42, 4F
請問 fid=fopen('C:\StockData\base_analysis.txt','w'); for i=(1:22) eval(['edit(',num2str(i),')=get(handles.edit',num2str(i),'),''string'';']); 等同 edit(1) =get(handles.edit1 ,'string'); 然後會跑22次,-> edit1.get(handles.edit1,'string'); edit2.get(handles.edit2,'string'); 到edit22.get(handles.edit22,'string'); 之後 我用fprint(fid,'%s'(x22個),edit1,edit2,~edit22); fclose(fid) 但完全沒印出東西 如果有人知道哪邊錯,麻煩指點一下,謝謝 ※ 編輯: rogue 來自: 220.136.212.205 (06/17 02:49) for i=1:22 跑第一圈時 eval(['edit(',num2str(i),')=get(handles.edit',num2str(i),'),''string'';']); 應該不等同 edit(1) =get(handles.edit1 ,'string'); 應該是這邊出了問題 參考3932的討論串,改成完全一樣也不能跑,再trytry ※ 編輯: rogue 來自: 220.136.209.122 (06/17 20:01)

06/17 20:06, , 5F
可以參考#193c-j0A#19r1Svn- 先確定你eval裡面的東西是
06/17 20:06, 5F

06/17 20:06, , 6F
正確的
06/17 20:06, 6F

06/17 21:56, , 7F
謝謝你,原來是我多加了(),忙了兩天一點就破阿XD
06/17 21:56, 7F
文章代碼(AID): #1ADz3NNl (MATLAB)
文章代碼(AID): #1ADz3NNl (MATLAB)