如何在Matlab脚本文件中最大化一个函数?

时间:2016-09-28 03:34:58

标签: matlab function optimization

我有一个优化的函数来找到它的最大值(使用Matlab)。模拟模型的功能部分,因此它存储在Matlab脚本文件中。

请注意,在函数使用的正常情况下,我可以使用 fminbnd 命令进行最大化,然后取消函数的负数。这样

  

g(x)= -f(x)

e.g。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="results">
  <div class="article">
    <div class="date">jan 8, 2013</div>
    <p>Some content here</p>
  </div>
  <div class="article">
    <div class="date">feb 8, 2013</div>
    <p>Some content here</p>
  </div>
</div>
Test: <button onclick="test()">Trigger JQuery Ajax Complete Event</button>

但我正在寻找一种方法来使用(或-ve of function to find maxima)为脚本函数找到最大值。

1 个答案:

答案 0 :(得分:2)

如果我理解你正在寻找什么,你有一组命令,它们接受一些输入变量并生成结果,但这些命令位于脚本文件而不是MATLAB函数中。您想在脚本上运行 fminbnd ,而不是将命令重写为函数吗?

显而易见的问题是,为什么不想采用简单的选项并将代码放入函数中。假设你不能,出于某种原因,如何构建一个运行你的脚本并返回结果的'容器'函数?类似的东西:

function result = containerFunction(myScriptName, inputData)

% Input Arguments:
% myScriptName : string, filename (not extension), e.g. 'myScript'
% inputData : any data compatible with the script defined in myScriptName

% Output Arguments:
% result : must be created by the script defined in myScriptName

eval(myScriptName);

然后,您可以从 fminbnd 调用 containerFunction