① 怎麼使用matlab進行數據分割和篩選
>> [x y]=meshgrid(0:100,0:60);
>> z=1635711.892-351.963775*x-2259.1306*y+42.74653*x.*y;
>> 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
② 如何用matlab篩選一個數組中大於某值的數
數組很大,運算速度很慢,可以提嘩租出所有大於0的值一起運算,得到的值再放回原位么?
對於這一問,可以採用邏輯下標,對大的數組可以有效地提高處理速度。
比如數組(或矩陣)為A,10行20列,其中有3個元素大於0,具體位置未知. index_positive = A>0;這樣得到的index_positive 是這些元散蘆納素的邏輯下標,index_positive是一個與A相同大小的10行20列的0,1值數組,只有那三個元素的位置上,值是1.
然後 B=A(index_positive)就得到了這三個元素的值。然後對B里的元素進行需要的運算。最好是相同的或有規律的,比如所有元素乘以2,那麼就是C=2×B;或者第1個元素×1, 第2個元素×2等,這時可以D=1:3; C=B .* D; 。 如果每一個要進行不同的運算,那這里只有對B進行循沖沒環。
最後要把C放回原位,用A(index_positive)=C;就可以了。
對於一個1000×1000的數組(矩陣),這個方法的速度提高是很可觀的。原因在於它使用C語言實現了循環,而for循環是用matlab語言實現的,判斷循環條件的時候大大消耗了時間。
③ 怎麼對已經用matlab導入的excel數據進行篩選
應該通過Excel
「數據」選項下的「高級篩選」來完成。
將數據區域作為列表區域,在數據區域外,做畢源將「CD4date(B列)為零且CD4Count(C列)數襲小於100」純態的條件列出,並作為條件區域,將篩選結果復制到其他區域,並指定首個單元格的位置,確定即可。
④ 我有一大堆EXCEL數據,怎麼用MATLAB簡單篩選一下
因為你沒有給具體的格式,所以只能哪培籠簡緩兆統地說了。。。
首先需要用 xlsread 函數把excel數據讀入matlab,具體請查看 help。
然攔租後,篩選數據,比如
a = [1 3 6 87 4 2 4 6 3 1 5 7 3 1 5 3 1 6 858 998 6 5 4 ];
b=a(a<5); % a中所有小於5的值
c=a(a>3); % a中所有大於3的值
⑤ 求matlab怎麼篩選數據中大於某個值的數據段
您好,只要運用數組提取命令即可,比如提取矩陣a的大於5的元素,只要寫上a>5即可,謝謝。
⑥ 如何用matlab篩選出海量數據(地形高程數據)各點間滿足一定坡度條件的數據,求程序。
由於寬盯沒有看到具體的穗巧罩數據和坡度條件方程,所以根據我的想法給你一些建議。
1、首先從數據文件(xls、txt、mat等格式)將數據調入A變數中
2、A變數中分離出x、y、z的數值
3、自定義坡度條件方程,func=@(x,y,z) 坡度條件函數表達式
4、用循環語句和判斷語句,分離出符合坡度條件的數值,並儲存在B變數中
5、將B變數中的數據,寫入指定的猜鬧數據文件中
⑦ 怎樣用Matlab或Excel對以下數據進行篩選(有圖)
(1)excel篩選後讀取
或者判逗嘩
(2)全部讀取再matlab篩選
x=xlsread('a.xls','sheet1','a1:a10')
excel文件名指扮是a.xls,sheet1是表名,a1:a10是a列的1到10行
只能手動選擇掘行了,要不怎麼辦,就不知了。
⑧ 急!!!在MATLAB中怎樣篩選海量數據!
真個好辦,使用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 快速篩選符合條件的數據
提取原始數據集dataset某屬性值在一定范圍內的樣本組成新的數據集data,其中col是第幾列,lower、upper分別是自定義閾值的上下限。避免使用find去尋找下標,再通過下標提取數據,提高效率。其原理是:通過A= dataset(:,col)>lower&dataset(:,col)<upper 生成邏輯數組,邏輯數組通過1,0的方式標明一個樣本是否被選中,再通過dataset(A,:)形式挑選A(選中)行所有列的數據組成新數據集。
示例:
⑩ 求助高手,如何用Matlab編程篩選數據
<p>如果已經將數據導入matlab環境下,可將矩陣的第一行和第一列作為查找條,查找滿足條件的索引</p>
<p>,之後利用索引篩選需要的數據。</p>
<p>例如設以導入數據矩陣為Data,</p>
<p>r
=
find(Data(:,1)>=2.49
&
Data(:,1)<=2.5);</p>
<p>c
=
find(Data(1,:)>=0.15
&
Data(1,:)<=0.25);</p>
<p>myData
=
Data(r,c);</p>
<p>則myData會得到途中紅框內數據</p>
<p></p>