matlab筛选excel数据统计,MATLAB读取Excel筛选符合条件的数据进行求均值等处理 程序......
excel 中A列为ID号,共21组;B列为标记号,分0~9 10档。程序打算对每个ID的每档的几行数求平均,并将曲线纵坐标的最大值调整为100。处理后的数据分别存储写入到不同的新excel表格。代码如下:clearclcA = xlsread('1.xlsx','sheet1',[int2str(1),':',int2str(1142)])for i=1:21%idfor j=0:9 ...
excel 中A列为ID号,共21组;B列为标记号,分0~9 10档。程序打算对每个ID的每档的几行数求平均,并将曲线纵坐标的最大值调整为100。处理后的数据分别存储写入到不同的新excel表格。
代码如下:
clear
clc
A = xlsread('1.xlsx','sheet1',[int2str(1),':',int2str(1142)])
for i=1:21 %id
for j=0:9 %power
B = find(A(:,1)==i & A(:,2)==j)
C = mean(A(B,3:length(A)))
D = (C - (min(C,[],2)))./((max(C,[],2))-(min(C,[],2))).*100
name = [num2str(i+1),'.xlsx'];
xlswrite(name,D,'Sheet1',[int2str(j+1),':',int2str(j+1)])
end
end
运行后出错:Index exceeds matrix dimensions. 不太清楚是怎么回事了。
但是只读取id为 1和2 (excel中1-114行数据)时就不会出错,之后就不行了。如下代码可以运行:
clear
clc
A = xlsread('1.xlsx','sheet1',[int2str(1),':',int2str(114)])
for i=1:2 %id
for j=0:9 %power
B = find(A(:,1)==i & A(:,2)==j)
C = mean(A(B,3:length(A)))
D = (C - (min(C,[],2)))./((max(C,[],2))-(min(C,[],2))).*100
name = [num2str(i+1),'.xlsx'];
xlswrite(name,D,'Sheet1',[int2str(j+1),':',int2str(j+1)])
end
end
但全部读取就不行。想向大神求助一下,本人刚开始接触MATLAB,比较菜鸟,求指点:'(
错误.PNG
(2.14 KB, 下载次数: 1)
2015-4-15 10:57 上传




2015-4-15 10:54 上传
点击文件名下载附件
467.58 KB, 下载次数: 25
原数据
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)