我怎么能使用“strcat”和“循环”阅读我的Excel数据吗?

10视图(30天)
你好,我的Excel数据叫“b1、b2…3”,我想写一个代码读取Excel的for循环。
例如:
b1 = xlsread (“b1.csv”);%读我的Excel数据(2048 * 2)
r1 = [b1(:, 2)。/卡尔(:,2)];%计算我的数据
b1 (:, 2) = r1;%覆盖我的原始数据
% % % % % % % % % % % % % % % % % % % % % % % % % %
我想使用“循环”运行我的所有数据(40),但它不工作。
这是我的代码:
因为我= 1时
strcat (b, num2str(我))= xlsread (strcat (b, num2str(我). csv));
strcat (‘r’, num2str(我))= (strcat (b, num2str(我),(:,2))。/卡尔(:,2)];
strcat (b, num2str(我),(:,2))= strcat (‘r’, num2str(我));
结束
Matlab通常说“下标赋值尺寸不匹配。”,但我不知道如何解决它。
请帮助我,或给我推荐,谢谢大家。
1评论
Stephen23
Stephen23 2018年8月28日
编辑:Stephen23 2018年8月28日
不要动态变量名称!动态命名变量是一种初学者迫使自己写慢,复杂,车很难调试的代码。知道为什么读这个:
更简单和更有效的使用 索引 ,MATLAB文件所示:
上传 通过单击一个示例数据文件 回形针 按钮。

登录置评。

接受的答案

吉隆坡
吉隆坡 2018年8月28日
编辑:吉隆坡 2018年8月28日
有更好的方法来处理多个文件在MATLAB。但你尝试的主要问题是,你不仅试图创建文件名里面使用 xlsread 但你也试图创建动态变量(lh xlsread线)。这是非常糟糕的。
这里有一些建议。使用 dir 得到文件在当前文件夹的列表,你可以使用这个for循环。例如,
%逐行执行,看看你的工作区
folderInfo = dir (‘* . csv‘);%的文件名和东西
文件名= {folderInfo.name};%提取文件名
fCount = 1:元素个数(文件名)
temp_b = xlsread(文件名{fCount});
%你的东西——> r1 = (b1(:, 2)。/卡尔(:,2)];这里temp_b b1
结束
你不需要动态变量。如果你想要将新数据写入文件,使用xlswrite或csvwrite。
古德勒克!
链接:

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!