求助高手,如何用Matlab编程筛选数据回答满意追加高分!

求助高手,如何用Matlab编程筛选数据回答满意追加高分!,第1张

clear;

clc;

A=[

1 023;

1 057;

2 065;

2 098;

2 043;

2 065;

3 022;

3 033

]

[M N]=size(A);

pre=0;% 设置比对的初始值,它应该是第一列中都不存在的值

index=0;

for i=1:M

if A(i,1)~=pre

index=index+1

B(index)=i;

pre=A(i,1);

end

end

% 得到的B=[1 3 7];

C=B-1;

C=[C(2:end) M];

% 得到的C=[2 6 8];

for j=1:length(B)

row2=A(B(j):C(j),2);

av(j)=sum(row2)/length(row2);

[A(B(j),1) av(j)] %用于输出看结果

end

>> [x y]=meshgrid(0:100,0:60);

>> z=1635711892-351963775x-22591306y+4274653xy;

>> vpa(z,10);

zz=vpa(z,10);

>> fix(zz/100000);

>> (fix(zz/100)100- fix(zz/100000)100000)/100;

>> vpa(zz-fix(zz/100)100,5);

>> zz1=fix(zz/100000);

>> zz2=(fix(zz/100)100- fix(zz/100000)100000)/100;

>> zz3=vpa(zz-fix(zz/100)100,5);

plot3(zz)

hold on

plot3(zz)

hold on

plot3(zz1)

hold on

plot3(zz2)

hold on

plot3(zz3)

zzz(61,100)

a=1

b=1

>> for i=1:1:61

for j=1:1:101

if zz2(i,j)>150&10<zz3(i,j)&zz3(i,j)>40

zzz(a,b)=z(i,j)

a=a+1;

b=b+1;

end

end

end

真个好办,使用find函数就可以了。

a =

1 3

2 5

3 9

4 14

5 8

6 7

7 6

8 5

9 4

10 3

11 2

12 1

13 0

14 -1

15 -2

>> [x,y]=find(a(:,:)==2)

x =

2

11

y =

1

2

>> c=[1,2,3,4];find(c==2)

ans =

2

上面的例子中,如果你的数据是个矩阵的话,返回的分别是对应行数和列数。

如果你的数据是一维向量的话,返回的就是顺序号了。

以上就是关于求助高手,如何用Matlab编程筛选数据回答满意追加高分!全部的内容,包括:求助高手,如何用Matlab编程筛选数据回答满意追加高分!、怎么使用matlab进行数据分割和筛选、急!!!在MATLAB中怎样筛选海量数据!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10185638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存