作者ejialan (eji)
看板MATLAB
標題Re: [討論] strvcat字串長度不同
時間Fri Nov 30 11:43:54 2012
※ 引述《chris70211 (克里斯)》之銘言:
: 標題: [討論] strvcat字串長度不同
: 時間: Fri Nov 30 11:18:31 2012
:
: 剛剛在簡化txt讀檔的問題試著用strvcat將字串帶入矩陣
:
: T1='''C:\Users\user\Desktop\公司\數據\原始數據\test\5g';
: T2='''C:\Users\user\Desktop\公司\數據\原始數據\test\200g';
: M=strvcat(T1,T2);
: files=0;
: for i=1:2
: %第j類資料
: files=files+1;
: ['train200g',num2str(i),'=textread(',M(i,:),'
: (',num2str(i),').txt'',''%d'');']
: eval(['train200g',num2str(i),'=textread(',M(i,:),'
: (',num2str(i),').txt'',''%d'');']);
:
: end
:
: 字串都能夠順利的代入 但是顯示出來會變成這樣
: 'C:\Users\user\Desktop\公司\數據\原始數據\test\5g (1).txt','%d');
: 'C:\Users\user\Desktop\公司\數據\原始數據\test\200g (2).txt','%d');
: 前面太長就不放了
:
: 主要是由於5g跟200g字串長度不同 結果導致我5g的檔案無法讀取
: 不知道有沒有什麼辦法可以讓5g那段根據他的字串長度顯示就好
: 正常應該是這樣
: 'C:\Users\user\Desktop\公司\數據\原始數據\test\5g (1).txt','%d');
字串不一樣可以考慮存成cell
T1='''C:\Users\user\Desktop\公司\數據\原始數據\test\5g';
T2='''C:\Users\user\Desktop\公司\數據\原始數據\test\200g';
M={T1,T2};
files=0;
for i=1:2
%第j類資料
files=files+1;
['train200g',num2str(i),'=textread(',M{i},...
'(',num2str(i),').txt'',''%d'');']
eval(['train200g',num2str(i),'=textread(',M{i},...
'(',num2str(i),').txt'',''%d'');']);
end
:
: --
:
※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 210.71.166.49
: 一直在自問自答XDDD
: 發現加入deblank就可以刪除最後的空白字串了^^
: 希望對一些有同樣問題的版友能有所幫助^^
:
: 想問問有沒有在M=strvcat(T1,T2)的地方
: 能不能改成 M(i)=strvcat(T(i)); 然後將字串丟入T陣列中
: 這樣假設有100個檔案要輸入 就不用一直排了
: ※ 編輯: chris70211 來自: 210.71.166.49 (11/30 11:28)
改成cell的話這就滿簡單了
基本上就是M{i}=Ti for迴圈配合num2str和eval就可以做到
這個你應該可以自己試試看
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.146.175