2012-04-19 98 views
1

我已經下載其涉及極大極小()功能的代碼,該代碼的骨架如下所示:MATLAB - 極大極小()函數

A = [13 5; 
    13, 13; 
    23, 26]; 

B = [13, 6; 
    13. 6; 
    5, 26]; 

C = [A;B]; 
Datad = minmax(C'); 

G = 178*Datad(1,1)/174*Datad(1,2) 

,當我運行該代碼,錯誤信息出現了:

對於輸入參數 'double'的未定義函數或方法'minmax'。

讓我去到谷歌,這個簡單的代碼應該工作:

x=1:10; 
    m=minmax(x) 

m = 

1 10 

,但它沒有工作,相同的錯誤消息出現。

因爲我不認爲MINMAX是去工作呢,我的問題在這裏:

是否有任何其他的方式來替代MINMAX?我知道有一個可以完成這項工作的功能。但我不知道怎麼會爲矩陣原極小極大功能的工作,因爲我需要得到它的權利是能夠得到G.

極小極大函數定義爲:Here

回答

3

嘗試which minmax找出它所在的位置。如果你得到錯誤'minmax' not found.,那麼你沒有在你的搜索路徑。

which minmax給我/usr/local/MATLAB/R2011b/toolbox/nnet/nnet/nndatafun/minmax.m(Linux版本),所以在我看來,功能minmax是在神經網絡工具箱。所以也許你還沒有安裝神經網絡工具箱。

+0

是的,你是對的!我記得我在安裝時認爲我不需要它!我剛剛下載了它的m文件。現在它的工作!謝謝 :) – jacksonY 2012-04-19 09:49:13

0

錯誤信息告訴你,matlab找不到該功能。這裏有兩個可能的罪魁禍首。

1)該文件未命名爲minmax.m:matlab按文件名查找函數。在這種情況下,重命名文件。
2)minmax.m所在的目錄不在matlab path上。在這種情況下,可以將該目錄添加到路徑中,或將該文件移動到路徑上(或當前目錄中)的目錄中。

3

在你的代碼中使用它,然後你不需要單獨的文件。

minmax = @(x) [min(x(:)) max(x(:))]; 

請注意,它不支持您提供的鏈接中提到的[Y,I] = minmax(X)語法。