2012-04-19 195 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)语法。