for循环用于多个列

56次观看(过去30天)
aa
aa 2020年8月30日
编辑: VBBV 2020年9月5日
大家好!
希望有人能帮帮我。
这里提供的代码工作得很好。我需要修改n列数(a=s(:,1)是s的第一列)。s文件由1000列组成。
4评论
Peter O
Peter O 2020年8月30日
Rafael的建议使您走上了正确的轨道,他为您提供了k列的通用代码。如果我可以建议对数组访问进行轻微修正,以便所有列都被提取为操作:
清晰的所有
clc
N_cols = 1000;
S = importdata(“data.xlsx”);
= s (:, n_cols);
S_ev = sum(a(1:24,:));此处稍作更正,以提取所有列以传递给sum函数。
这将跨列应用0到0.25的替换
S_ev (S_ev == 0) = 0.25;
R = s_ev/24;
T = a(25:48,:);
在这里,假设您的意图是将接下来的24行除以前24行的每一列的平均值。
这利用了MATLAB的一些广播操作来消除for循环。
B = t - r /√(r);
为每一列提供最大值
C = max(b)

登录评论。

接受的答案

VBBV
VBBV 2020年9月5日
编辑:VBBV 2020年9月5日
试试这个方法
%如果为
%的代码
%结束
清晰的所有
clc
S = importdata(“data.xlsx”);
[R,C] =尺寸(s)
j = 1:C
= s (:, j);
结束
S_ev = sum(a(1:24,:));
此处稍作更正,以提取所有列以传递给sum函数。
这将跨列应用0到0.25的替换
S_ev (S_ev == 0) = 0.25;
R = s_ev/24;
T = a(25:48,:);
在这里,假设您的意图是将接下来的24行除以前24行的每一列的平均值。
这利用了MATLAB的一些广播操作来消除for循环。
B = t - r /√(r);
为每一列提供最大值
C = max(b)
确保importdata函数的.xls文件中只有数值数据

更多答案(0)

标签

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的