当前位置:编程学习 > Matlab >>

求一个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 符号计算出错 ,是书上的一个例题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,