| 查看: 328 | 回复: 1 | |||
| 当前主题已经存档。 | |||
[交流]
【原创】请问matlab里如何求一个局部极小值
|
|||
| 请问我想从一个初始点x出发,用局部搜索找到x点最近的局部极小点,有没有算法包可以直接调用。 |
» 猜你喜欢
酰胺脱乙酰基
已经有12人回复
售SCI一区文章,我:8 O5 51O 54,科目齐全
已经有3人回复
售SCI一区文章,我:8 O5 51O 54,科目齐全
已经有3人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有4人回复
有时候真觉得大城市人没有县城人甚至个体户幸福
已经有10人回复
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有5人回复
有院领导为了换新车,用横向课题经费买了俩车
已经有5人回复
CSC & MSCA 博洛尼亚大学能源材料课题组博士/博士后招生|MSCA经费充足、排名优
已经有6人回复
面上项目申报
已经有3人回复
博士延得我,科研能力直往上蹿
已经有7人回复
leolau0318
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 2945.8
- 散金: 130
- 红花: 1
- 帖子: 508
- 在线: 35.5小时
- 虫号: 550872
- 注册: 2008-04-25
- 专业: 数论
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
bslt(金币+2,VIP+0):感谢交流! 11-10 08:10
bigfish413(金币+10,VIP+0):谢谢 12-4 10:50
bslt(金币+2,VIP+0):感谢交流! 11-10 08:10
bigfish413(金币+10,VIP+0):谢谢 12-4 10:50
|
如果是无约束一维极值问题,推荐使用Newton法 迭代公式为: x(k+1)=x(k)-f'[x(k)]/f''[x(k)] 初始值为你要求的x点附近的任意值 基本算法步骤如下: 1.给定初始点x(0),及精度epsilon>0,另k=0; 2.若|f'[x(k)]|<=epsilon,停止,极小点为x(k); 3.令 x(k+1)=x(k)-f'[x(k)]/f''[x(k)] 4.另k=k+1, 跳到2 matlab函数为: function [x,minf] = minNewton(f,x0,eps) format long; if nargin == 2 eps = 1.0e-6; end df = diff(f); d2f = diff(df); k = 0; tol = 1; while tol>eps dfx = subs(df,findsym(df),x0); if diff(d2f) == 0 d2fx = double(d2f); else d2fx = subs(d2f,findsym(d2f),x0); end x1 = x0 - dfx/d2fx; k = k + 1; tol = abs(dfx); x0 = x1; end x = x1; minf = subs(f,findsym(f),x); format short; 一个例子 求f(t)=t^2-lnt-5的极值 解:在MATLAB命令窗口输入 >> syms t; >>f=t^2-log(t)-5 >>x=minNewton(f,2) 所得结果为 x=0.7071 |
2楼2009-11-07 09:49:20













回复此楼