日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MATLAB 无约束一维极值问题

發布時間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB 无约束一维极值问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

無約束一維極值問題

?

極值問題表達式:min?f(x)??x,x[?x1?x2];

?

一維極值的搜索方式包括線性搜索和非線性搜索,線性搜索包含黃金分割法、斐波那契法和牛頓法,非線性方法包含拋物線法和三次樣條插值。

?

1、進退法

??

算法原理:

?進退法就是用來確定搜索區間的算法,理論依據:f(x)為函數有一極值,且【a?b】為極值的區間,對于任一x1?x2屬于【a?b】,如果f(x1)<f(x2),則【a?x2】為極小值的搜索區間,如果f(x1)>f(x2),則搜索區間為【x1?b】為極小值的搜索區間,

因此,給定初始值x0,初始搜索步長h的情況下,首先以初始步長進行搜索,計算f(x0+h)

(1)如果f(x0)<f(x0+h)

則搜索區間為【x?x+h】,為確定x,計算f(x0+?h),,

(2)如果f(x0)>f(x0+h)

則搜索區間為【x+h?x】,為確定x,計算f(x0+?h),,

?

算法步驟:

?

1、給定初值x(0),初始步長h0,領h=h0,x(1)=x(0),k=0

2、給定x(4)=x(1)+h,k=k+1

3、若f(x(4))<f(x(0)),則轉到4,否則轉到5

4、令x(2)=x(1),x(1)=x(4),f(x(2))=f(x(1)),f(x(1))=f(x(4)),h=2*h

5、若k=1,轉到6,否則轉到7

6、令h=-h,x(2)=x(4),f(x(2))=f(x(4)),轉到2

7、令x(3)=x(2),x(2)=x(1),x(1)=x(4),停止計算,極小點包含區間[x(0)?x(1)],或者【x(3)?x(1]

?


算法代碼:

<span style="font-size:18px;"><strong>%進退法 % 功能:用進退法法求解一維函數極值 %目標函數:f % 初始點:x0 % 初始步長h0 % 精度 eps % 目標函數取包含極值的區間左端點 minx % 目標函數取包含極值的區間右端點 maxx function [minx,maxx]=minJT(f,x0,h0,eps) format long; if nargin==3eps=1.0e-6; end x1=x0; k=0; h=h0; while 1x4=x1+h;k=k+1;f4=subs(f,findsym(f),x4);f1=subs(f,findsym(f),x1);if f4<f1x2=x1;x1=x4;f2=f1;f1=f4;h=2*h;elseif k==1h=-h;x2=x4;f2=f4;elsex3=x2;x2=x1;x1=x4;break;endend end minx=min(x1,x3); maxx=x1+x3-minx; format short;</strong></span>

?

總結

以上是生活随笔為你收集整理的MATLAB 无约束一维极值问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。