利用matlab,求下列函数在指定区间的最大值 1) :x∈(0.2) 2)f(x)= sin x+cosx²,x ∈(0.π)
时间: 2024-05-03 08:16:26 浏览: 212
matlab,用遗传算法求f(x)=x·sin(10π·x)+1.0的最大值,其中x∈[-1,2]
5星 · 资源好评率100%
1) 求解 x ∈ (0,2) 中函数 f(x)=sin(x)/x 的最大值:
可以使用 fminbnd 函数进行求解,代码如下:
```
f = @(x) -sin(x)/x;
[xmax, fmax] = fminbnd(f, 0, 2);
fmax = -fmax;
```
最大值为 fmax,对应的 x 值为 xmax。
2) 求解 x ∈ (0,π) 中函数 f(x)=sin(x)cos(x^2) 的最大值:
由于该函数不是单峰函数,因此不能使用 fminbnd 函数进行求解。可以使用 fminsearch 函数进行全局最优化。代码如下:
```
f = @(x) -sin(x)*cos(x^2);
[xmax, fmax] = fminsearch(f, 0);
fmax = -fmax;
```
最大值为 fmax,对应的 x 值为 xmax。
阅读全文