【发布时间】:2015-09-05 19:14:46
【问题描述】:
我在具有 100 行和 300 列的 excel 文件中有大型数据集。第一行是来自 (y1:y300) 的变量的名称,其余数据是数字。我有兴趣计算 x 轴的 2 个固定点之间存在的部分 AUC。 我可以使用@ShellFish 解决方案How do I calculate the partial area under a curve with MATLAB? 来做到这一点。现在我想实现一个循环,它可以计算从 y1 到 y300 的每个 y 值的部分面积。我怎样才能使用for循环来实现这一点?我使用了这段代码。我使用 MATLAB 导入函数导入了 .xls 文件。
data = importfile('test.xls','Sheet1','A2:AZ100');
y1 = data(:,1);
y2 = data(:,2);
y3 = data(:,3);
y4 = data(:,4);
y5 = data(:,5);
...
x = [-1000:10:1000];
startingIndex = find(x==-350);
endingIndex = find(x==-100);
desiredX = x(startingIndex:endingIndex);
desiredY = y1(startingIndex:endingIndex);
area = trapz(desiredX,desiredY);
area
我每次尝试for循环计算desiredY是
for i=y1:y100
desiredY = i(startingIndex:endingIndex);
area = trapz(desiredX,desiredY);
area
end
但是我的代码有些地方非常错误..无法正常工作。
如果有人可以帮助我更正此代码,那就太好了。
【问题讨论】: