Re: [问题]想请问有关eval单引号的打法

楼主: celestialgod (天)   2015-07-28 12:05:37
※ 引述《pipited07 (天啊完全不知道取什么)》之铭言:
: 如题,小弟是matlab新手版上已经找到很多类似问题但解法还是看不懂@@
: 小弟想把下方的excel档1-1的第二个工作表,写进eval函数当中,让他丢进循环可以读到
: 1-1,1-2,1-3,1-4,1-5的每个excel的第二个工作表,并且命名为f1,f2,f3,f4,f5
: f1=xlsread('C:\Users\Adam\Desktop\A\1\1-1',2)
: 上面此行为单纯一个的范例
: 写进循环中
: for i=1:5
: eval(['f',num2str(i),'=xlsread('C:\Users\Adam\Desktop\A\1\1-,num2str(i),',2)'])
eval(['f', num2str(i), '=xlsread('C:\\Users\\Adam\\Desktop\\A\\1\\1-', ...
num2str(i), '.xls'])
: end
: 我知道上面单引号错误连篇
: 想请教版上大大单引号方面到底是如何判断
: 还有使用范围
: 如单引号到底是头尾相连一组,还是连续单引号之内是一组
不太懂这个问题是什么?
'string' 这样是一组, ' '内是你要eval的指令
: 也顺便请教大大上面那个循环到底要怎么改呢?
我还觉得没事别玩eval玩到后来玩死自己而已
建议还是考虑用ls()跟regexp去做,并且用cell储存矩阵
以下只是一个范例:
dir_files = 'C:\\Users\\Adam\\Desktop\\A\\1'
cd(dir_files)
files = ls(dir_files)
files = files(~cellfun('isempty', regexp('1-\d.xls', cellstr(files))), :)
xls_forms = cellfun(@(x) xlsread(x), cellstr(files))
% cellfun都可以用for取代
作者: jatj   2015-07-28 12:26:00
同意 eval是非常不好的写法 速度暨慢 程式易读性也差在很多篇下面也呼吁过不要用eval了 根本是deval可读性 编译 最佳化 处理资源量 安全性 eval都不及格刚刚一直在想evil可是拼不出来 哈哈
作者: pipited07 (阿直直)   2015-07-28 17:42:00
谢谢c大~

Links booklink

Contact Us: admin [ a t ] ucptt.com