2017-07-04 30 views
1

這是我的代碼看起來像點數現在使用interp2使小

b=load('filenamehere'); 
b=b(46:285,51:170); 

x=1:size(b,1); 
y=1:size(b,2); 

xq=1:size(b,1)/4; 
yq=1:size(b,2)/4; 

B=interp2(x,y,b,xq,yq); 

b爲製作240x120矩陣,我想擁有它是一個60x30矩陣,使我的電腦能夠處理後來我必須做的計算。不知道我必須做什麼才能使其工作,我也嘗試使用[X,Y]=meshgrid(x,y)和xq,yq相同。任何幫助表示讚賞。

回答

0

我在代碼中看到了幾個問題。

b=load('filenamehere'); 

將返回一個結構,而不是矩陣。現在讓我們忽略這個,假設你有矩陣b和240x120大小。

XQYQ採取的第一個1/4的b。我想你想每四分鐘拿一分。如果是這樣,你可以做

B = b(1:4:end, 1:4:end); 

或使用下采樣如果信號處理工具箱:

B = downsample(b, 4); 

如果你真的需要插值,XQ和YQ,如果他們是載體,應該有不同的方向:

B = interp2(b, 1:4:120, (1:4:240).'); 
+0

我明白你在說什麼,我用'filenamehere'作爲佔位符,它實際上是一個.mfm文件; B = interp2(b,1:4:120,(1:4:240)。');工作。謝謝,你能解釋一下它的作用,是什麼意思? – TRecht

+0

每4分只需一分。讓你這對你有好處。 Interp2雖然會做一些平滑處理。選擇最適合您需要的東西。 –