當前位置:首頁 » 凈水方式 » matlab數據過濾

matlab數據過濾

發布時間: 2021-03-09 12:19:28

❶ MATLAB數值濾波處理,去除實驗得到的數值中的毛刺。

MATLAB數值濾波處理方法有:

首先關於fspecial函數的定義,fspecial函數用於建立預定義的濾波運算元。

其語法格式為:

h = fspecial(type)

h = fspecial(type,para)

其中type指定運算元的類型,para指定相應的參數;

函數type的類型有:

1、'average'averaging filter為均值濾波,參數為hsize代表模板尺寸,默認值為[3,3]。

函數格式:H = fspecial('average',hsize)

2、 'disk'circular averaging filter為圓形區域均值濾波,參數為radius代表區域半徑,默認值為5。

函數格式:H = fspecial('disk',radius)

3、'gaussian'Gaussian lowpass filter為高斯低通濾波,有兩個參數,hsize表示模板尺寸,默認值為[3 3],sigma為濾波器的標准值,單位為像素,默認值為0.5。

函數格式:H = fspecial('gaussian',hsize,sigma)

4、'laplacian' filter approximating the 2-D Laplacian operatorlaplacian filter為拉普拉斯運算元,參數alpha用於控制運算元形狀,取值范圍為[0,1],默認值為0.2.

函數格式:H = fspecial('laplacian',alpha)

5、'log'Laplacian of Gaussian filter為拉普拉斯高斯運算元,有兩個參數,hsize表示模板尺寸,默認值為[3 3],sigma為濾波器的標准差,單位為像素,默認值為0.5。

函數格式:H = fspecial('log',hsize,sigma)

6、'motion'motion filter運動模糊運算元,有兩個參數,表示攝像物體逆時針方向以theta角度運動了len個像素,len的默認值為9,theta的默認值為0。

函數格式:H = fspecial('motion',len,theta)

7、'prewitt'Prewitt horizontal edge-emphasizing filter用於邊緣增強,大小為[3 3],無參數。

函數格式:H = fspecial('prewitt')

8、'sobel'Sobel horizontal edge-emphasizing filter用於邊緣提取,無參數

函數格式:H = fspecial('sobel')the filter H: H'.9、'unsharp'unsharp contrast enhancement filter為對比度增強濾波器。參數alpha用於控制濾波器的形狀,范圍為[0,1],默認值為0.2.函數格式:H = fspecial('unsharp',alpha)

❷ matlab中怎麼篩選和處理矩陣

1:很簡單
A=[...];
B=[....];
C=[A, B];(或[A;B])需保證拼接的行或列數相等

2:最笨的辦法:用循環,一個一個數地比較,對每個數作如下操作:
如果一個數為1,看它下一個是不是2;
如果是,就刪掉當前行,跳到下一行第一個元素……
如果不是,就啥也不做……

這樣結束就得到你要的矩陣了

順便說一下,刪掉第i行:A(i,:)=[ ];

❸ matlab如何篩選滿足條件的數

試試看:
clear all;clc;
N=100;
a=1:N;
a=(fix(sqrt(a))./sqrt(a)==1).*a;
a(a==0)=[];
a

❹ matlab 數據篩選問題

你好,代碼如下:
count = 0;
for i = 1:size(x)-2
if(0.9*x(i+1)<=x(i) & 0.9*x(i+1)<=x(i+2))

count = count +1;

position(1,count) = i+1;

end
end
target_x = x(position)
target_y = y(position)
上面找出來的是滿足你條件的中間的點的位置,如果要找第一個點就把position減1,同樣地,找後面的點把position加1.
如果有幫助,請採納,謝謝

❺ 急!!!在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高手:MATLAB 數據篩選

indata=load('data.txt'); %原始數據文件
index=find(indata>0);
outdata=indata(index);

save outdata outdata.txt

❼ matlab 篩選數據 篩選一個矩陣

我假設你輸入的那個文件時用逗號隔開三列的,那麼只需要下邊幾句話就能完成你的工作了。


data=dlmread('EMAG2.txt');

ind=data(:,1)>=-85&data(:,1)<=-30&data(:,2)>=-60&data(:,1)<=15;

dlmwrite('EMAG2.dat',data(ind,:),'')


為了測試我自己寫了一個txt,右側的dat是運行程序後的結果。

❽ 怎麼使用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,0,0,1,2,3,4,3,2,1,0,0,0,0,0,1,2,3,4,5,6,7,8,5,4,2,1.......],這樣的話,先把數據存到矩陣中A=[0,0,0,1,2,3,4,3,2,1,0,0,0,0,0,1,2,3,4,5,6,7,8,5,4,2,1.......],那麼提取第一段可以用
A1=A(1:10);A2=A(11:27);依次取出即可

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239