求一个matlab软件计算程序 程序实现以下功能:1、从其他文件导入大量数据
2、将具有共同特性的数据归为一类(比如说连续几个数的和大于后5归为一类)
例如一组数;1 2 3 4 5 6 7 8 9 6 5 4 3 2,从第一个数开始,和大于5时归为A类,依次为大于10为B类,大于30为C。。。这样 1 2 3为A类,4 5 6为B类 ,7 8 9 6 为C类 。而这些数据都是从外部文件导入。 帮帮忙呀 各位好人!
追问:恩 非常感谢 但是 我好像不会操作这个:%da.txt必须保存在工作目录下?我只会用excel 导入数据、、、、这个不太懂
可不可以要一下你的qq?恩 谢谢 我还想问一下 如果不仅是分A B C 类 还有D E F。。我该怎么增加? 还有 如果参考条件是那些数据的方差 该怎么修改? judy=sum(B(:,a));
if judy>20
这个20是分类条件的值 是吗?恩 谢谢你恩 但是 我不会写程序 没学过 也没时间去看看 很急 你会不会啊? 帮帮忙啊我一点也不会 怎么定义变量 什么都不会 。。 谢谢你谢谢 但是 你说的好像和我要的答案无关
答案:因为自己也很感兴趣,花了半个小时编出来,自己也从中收获了一些东西。亲测无误,望采用!
为增强程序的灵活性,此程序判断个数m可变,同时会自动增加一些无效的零,特别说明:末尾的零无效。如
other =
3 2 0
0 0 0
0 0 0
0 0 0
0 0 0
第一行3 2 之后所有的零都是加上的无效数据。
%由m定判断时每组的个数,数据存在da.txt文本文件中
%da.txt必须保存在工作目录下
clc
clear
fp=fopen('da.txt');
A=fscanf(fp,'%f');
m=3;%每组个数
N=length(A);
L=fix(N/m);
B=[reshape(A(1:L*m),m,fix(N/m)),[A(L*m+1:N);zeros(m-rem(N,3),1)]];
a=(fix(N/m)>0)+L;
aa=1;
bb=1;
cc=1;
rr=1;
AA=zeros(a,m);
BB=zeros(a,m);
CC=zeros(a,m);
other=zeros(a,m);
for a=1:a
judy=sum(B(:,a));
if judy>20
CC(aa,:)=B(:,a);
aa=aa+1;
elseif judy>10
BB(bb,:)=B(:,a);
bb=bb+1;
elseif judy>5
AA(cc,:)=B(:,a);
cc=cc+1;
else
other(rr,:)=B(:,a);
rr=rr+1;
end
end
AA
BB
CC
other
其他:像这样的一些一些数据,你可以导入到EXCEL中,在EXCEL中完成,后直接导入MATLAB中,或是导入后,在MATLAB中完成。 (3)强大的科学计算机数据处理能力 MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能
上一个:用matlab可以输入由区间构成的矩阵?
下一个:matlab 符号计算出错 ,是书上的一个例题