高分急求一元函数模拟退火算法

来源:百度知道 编辑:UC知道 时间:2024/05/16 13:58:46
用个MATLAB或C++写个一元函数模拟退火算法

f(x)=x*sin(10*pi*x)+2.0 ; -1<=x<=2
的最大值

答案满意,高分答谢!!!!!!!!

%matlab程序
function hh
clc;clear;
x=-1:0.01:2;
fx=x.*sin(10*pi*x)+2.0;
plot(x,fx)
xx=fzero(@myfun,1.9)
fmax=xx.*sin(10*pi*xx)+2.0
function fx1=myfun(x)
fx1=sin(10*pi*x)+10*x*cos(10*pi*x)*pi;%f(x)的导数

结果:
xx =

1.8505

fmax =

3.8503

匿名还要扣20分,不划算啊!

好像用到循环和嵌套,但是我c语言学了几年了,早忘记了,帮不上你

我函数学的可不好了,不好意思啊