1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > matlab筛选excel数据统计 MATLAB读取Excel筛选符合条件的数据进行求均值等处理 程序......

matlab筛选excel数据统计 MATLAB读取Excel筛选符合条件的数据进行求均值等处理 程序......

时间:2022-02-17 17:31:41

相关推荐

matlab筛选excel数据统计 MATLAB读取Excel筛选符合条件的数据进行求均值等处理 程序......

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)

-4-15 10:57 上传

-4-15 10:54 上传

点击文件名下载附件

467.58 KB, 下载次数: 25

原数据

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。