用fminsearch求x(1)+1/x(1)+x(2)+1/x(2)的极小值,而不是极大值
时间: 2023-11-09 10:04:43 浏览: 63
以fun为文件名保存此函数文件。-matlab最优化讲义
可以通过将目标函数取相反数来转化为求极小值。具体实现可以按照以下步骤:
1. 定义目标函数
```matlab
function f = myfun(x)
f = x(1) + 1/x(1) + x(2) + 1/x(2);
end
```
2. 调用`fminsearch`函数求解
```matlab
x0 = [1, 1]; % 初始点
x = fminsearch(@(x) -myfun(x), x0); % 注意取相反数
```
这里的`@(x) -myfun(x)`表示将`myfun`函数取相反数后再传入`fminsearch`函数中求解。最终得到的`x`即为目标函数的极小值点。
阅读全文