我是 Matlab 的新手,只是不知道如何做一个可以在 excel 中轻松执行的简单任务。我只是想获得矩阵中单元格之间的百分比变化。我想为此任务创建一个 for 循环。数据设置为以下格式:
DAY1 DAY2 DAY3...DAY 100
主题结果
我只能执行获取两个数据点之间的百分比变化。如果跨越多天和多个主题,我将如何进行?并请提供解释
谢谢一堆
例如,对于第 1 天的主题 1(结果 = 1)、主题 2(结果 = 4)、主题 3(结果 = 5)、第 2 天的主题 1(结果 = 2)、主题 2(结果 = 8)、主题 3(结果 = 10),第 3 天 主题 1(结果 = 1)、主题 2(结果 = 4)、主题 3(结果 = 5)。我想要百分比变化,所以输出将是第 2 天的 SUBJECT1(RESULT=100%)、SUBJECT2(RESULT=100%)、SUBJECT3(RESULT=100%)。DAY3 主题1(结果=50%),主题2(结果=50%),主题3(结果=50%)
更新:
嗨,感谢您的回复。对困惑感到抱歉。zebediah49 非常接近我正在寻找的东西。例如,我的数据是 10 x 10 双倍。我只是想获得从列到列的百分比变化。例如,如果我想要所有列(从第 2:10 列)从第 1 行到第 10 行的百分比变化。我希望代码适用于任何矩阵维度(例如,1000 x 1000 双)zebediah49 你能解释一下你发布的代码吗?谢谢
更新2:zebediah49,
(数据(1:end,100)-数据(1:end,99))./data(1:end,99)
输出=[数据(:,2:end)-数据(:,1:end-1)]./data(:,1:end-1)*100;
观察上面的代码,我将如何修改它,以便将第 100 列用作所有其他列(1-99)的索引?如果我将代码更改为以下内容:
(数据(1:end,100)-数据(1:end,:))./data(1:end,:)
matlab 由于超出矩阵尺寸而无法使用。我将如何实施呢?
更新 3
zebediah49,
完美运行!!!最初我为索引创建了一个新变量,并重新计算索引以匹配矩阵,这不是一个好主意。在处理大量数据时,复制需要很长时间。再次感谢您的贡献。
也感谢克里斯的贡献!!!我正在寻找更多关于如何处理和操作矩阵中的数组。