1. 程式人生 > >Matlab之distmatrix函式

Matlab之distmatrix函式

目錄

1. 自己寫一個distmatrix函式放進去。

2. 將函式放到 C:\Program Files\MATLAB\R2017a\toolbox\images\images 路徑下

3.更新cache


我覺得找過來的八成是看了《使用MATLAB影象和視訊處理》一書,報錯來的2333

沒錯,我也是報錯了在網上找不到解決教程於是才寫了這篇文章,幫大家解決下問題吧。

 

MATLAB中並沒有內建distmatrix函式,所以你也用不了,解決方式是:

1. 自己寫一個distmatrix函式放進去。

原始碼如下

function y = distmatrix(M,N)

u = 0:(M - 1);
v = 0:(N - 1);

ind_u = find(u > M/2);
u(ind_u) = u(ind_u) - M;
ind_v = find(v > N/2);
v(ind_v) = v(ind_v) - N;

[V, U] = meshgrid(v, u);

%calculate distance matrix
y = sqrt((U .^ 2) + (V .^ 2));

上面這個程式碼,你當然可以自己去加函式描述了,我就不放上了。

 

2. 將函式放到 C:\Program Files\MATLAB\R2017a\toolbox\images\images 路徑下

我看到關於影象處理的很多函式都在這個路徑下,於是我們就也放在這個路徑下吧

 

3.更新cache

檔案放在matlabroot/toolbox路徑下了吧,此時如果執行which distmatrix是找不到檔案的,這和Matlab為了提高啟動和執行速度所採取的一個優化措施有關。Matlab把toolbox下的函式都cache了一下,所以只需要更新一下toolboxcache就可以了。

更新方式有兩種,一種通過設定,一種跑程式碼就行。

更新快取的步驟

要更新快取和快取檔案,請執行以下操作:

  1. 主頁選項卡上的環境部分中,點選  預設。選擇 MATLAB > 常規

    此時將顯示常規預設項窗格。

  2. 點選更新工具箱路徑快取並點選確定

②備用函式

要更新快取,請使用 rehash toolbox。要同時更新快取和快取檔案,請使用 rehash toolboxcache。有關詳細資訊,請參閱 rehash