作者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