九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

Matlab優(yōu)化工具箱簡介

上傳人:san****019 文檔編號:21532660 上傳時間:2021-05-03 格式:PPT 頁數(shù):61 大小:206.50KB
收藏 版權申訴 舉報 下載
Matlab優(yōu)化工具箱簡介_第1頁
第1頁 / 共61頁
Matlab優(yōu)化工具箱簡介_第2頁
第2頁 / 共61頁
Matlab優(yōu)化工具箱簡介_第3頁
第3頁 / 共61頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《Matlab優(yōu)化工具箱簡介》由會員分享,可在線閱讀,更多相關《Matlab優(yōu)化工具箱簡介(61頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第 五 講 Matlab優(yōu) 化 工 具 箱 簡 介 -optimization toobox1. 線 性 優(yōu) 化2. 非 線 性 優(yōu) 化3. 極 小 化 極 大 ( Minmax) 問 題4. 曲 線 擬 合 與 插 值 線 性 規(guī) 劃 問 題 是 目 標 函 數(shù) 和 約 束 條 件 均 為 線 性 函 數(shù) 的 問 題 ,MATLAB7.0解 決 的 線 性 規(guī) 劃 問 題 的 標 準 形 式 為 min sub. to: 其 中 f、 x、 b、 beq、 lb、 ub為 向 量 , A、 Aeq為 矩 陣 .其 它 形 式 的 線 性 規(guī) 劃 問 題 都 可 經 過 適 當 變 換 化 為

2、 此 標 準 形 式 . 在 MATLAB5.x以 上 版 中 , 線 性 規(guī) 劃 問 題 Linear Programming已 用 函 數(shù) linprog取 代 了 MATLAB5.x版 中 的 lp函 數(shù) .當 然 , 由 于 版本 的 向 下 兼 容 性 , 一 般 說 來 , 低 版 本 中 的 函 數(shù) 在 7.0版 中 仍 可 使用 . nRxxf bxA beqxAeq ubxlb 5.1 線 性 優(yōu) 化 函 數(shù) linprog格 式 x = linprog(f,A,b) %求 min f *x sub.to 線 性 規(guī) 劃 的 最 優(yōu) 解 .x = linprog(f,A,b,

3、Aeq,beq) %等 式 約 束 , 若 沒 有 不 等 式 約 束 , 則 A= , b= .x = linprog(f,A,b,Aeq,beq,lb,ub) . %指 定 x的 范 圍 , 若 沒 有 等 式 約 束 , 則 Aeq= , beq= .x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %設 置 初 值 x0.x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) % options為 指 定 的 優(yōu) 化 參 數(shù) .bxA x,fval = linprog() % 返 回 目 標 函 數(shù) 最 優(yōu) 值 , 即 fval=

4、f *x.x,lambda,exitflag = linprog() % lambda為 解 x的 Lagrange乘 子 .x, lambda,fval,exitflag = linprog() % exitflag為 終 止 迭 代 的 錯 誤 條 件 .x,fval, lambda,exitflag,output = linprog() % output為 關 于 優(yōu) 化 的 一 些 信 息 .說 明 : 若 exitflag0表 示 函 數(shù) 收 斂 于 解 x, exitflag=0表 示 超 過函 數(shù) 估 值 或 迭 代 的 最 大 次 數(shù) , exitflagf = -5; -4;

5、 -6; % 寫 成 行 向 量 亦 可 !A = 1 -1 1;3 2 4;3 2 0;b = 20; 42; 30;lb = zeros(3,1);x,fval,exitflag,output,lambda = linprog(f,A,b,lb)結 果 為 :x = %最 優(yōu) 解 0.0000 15.0000 3.0000fval = %最 優(yōu) 值 -78.0000exitflag = %收 斂 1 output = iterations: 6 %迭 代 次 數(shù) cgiterations: 0 algorithm: lipsol %所 使 用 規(guī) 則lambda = ineqlin: 3x

6、1 double eqlin: 0 x1 double upper: 3x1 double lower: 3x1 double lambda.ineqlinans = 0.0000 1.5000 0.5000 lambda.lower ans = 1.0000 0.0000 0.0000表 明 : 不 等 約 束 條 件 2和 3以 及 第 1個 下 界 是 有 效 的 . 請 寫 出 下 面 線 性 規(guī) 劃 的 Matlab程 序 . c=-0.4 -0.28 -0.32 -0.72 -0.64 -0.6; A=0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0

7、.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08; b=850;700;100;900; Aeq=; beq=; vlb=0;0;0;0;0;0; vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub) MATLAB求 解 優(yōu) 化 問 題 的 主 要 函 數(shù) 優(yōu) 化 函 數(shù) 的 輸 入 變 量 優(yōu) 化 函 數(shù) 的 輸 出 變 量 5.2非 線 性 優(yōu) 化5.2.1 有 約 束 的 一 元 函 數(shù) 的 最 小 值單 變 量 函 數(shù) 求 最 小 值 的 標 準 形 式 為 sub.to 函 數(shù) fminbnd格 式 x = fmi

8、nbnd(fun,x1,x2) %返 回 自 變 量 x在 區(qū) 間 上 函 數(shù) fun取 最 小 值 時 x值 , fun為 目 標 函 數(shù) 的 表 達 式 字 符 串 或 MATLAB自定 義 函 數(shù) 的 函 數(shù) 柄 .x = fminbnd(fun,x1,x2,options) x,fval = fminbnd() x,fval,exitflag = fminbnd()x,fval,exitflag,output = fminbnd()x(fminx 21 xxx 例 5-2 計 算 下 面 函 數(shù) 在 區(qū) 間 (0, 1)內 的 最 小 值 . x3 e xlogxxcosx)x(f 解

9、 : x,fval,exitflag,output=fminbnd(x3+cos(x)+x*log(x)/exp(x),0,1)x = 0.5223fval = 0.3974exitflag = 1 output = iterations: 9 funcCount: 9 algorithm: golden section search, parabolic interpolation 1)3x()x(f 3 例 5-3 在 0, 5上 求 下 面 函 數(shù) 的 最 小 值 解 :先 自 定 義 函 數(shù) : 在 MATLAB編 輯 器 中 建 立 M文 件 為 :function f = myfu

10、n(x)f = (x-3).2 - 1;保 存 為 myfun.m, 然 后 在 命 令 窗 口 鍵 入 命 令 : x=fminbnd(myfun,0,5)則 結 果 顯 示 為 :x = 3 5.2.2 無 約 束 多 元 函 數(shù) 最 小 值多 元 函 數(shù) 最 小 值 的 標 準 形 式 為其 中 : x為 向 量 .命 令 利 用 函 數(shù) fminsearch求 無 約 束 多 元 函 數(shù) 最 小 值 .函 數(shù) fminsearch格 式 x = fminsearch(fun,x0) %x0為 初 始 點 , fun為 目 標 函 數(shù) 的表 達 式 字 符 串 或 MATLAB自 定 義

11、 函 數(shù) 的 函 數(shù) 柄 .x = fminsearch(fun,x0,options) % options查 optimset.x,fval = fminsearch() %最 優(yōu) 點 的 函 數(shù) 值 .x,fval,exitflag = fminsearch() % exitflag與 單 變 量 情 形 一 致 .x,fval,exitflag,output = fminsearch() %output與 單 變 量 情 形一 致 . )x(fminx x,x,xx n21 222132131 xxx10 xx4x2y 例 5-4 求 的 最 小 值 點 .解 : X=fminsearc

12、h(2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2, 0,0)結 果 為 X = 1.0016 0.8335或 在 MATLAB編 輯 器 中 建 立 函 數(shù) 文 件 .function f=myfun(x)f=2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2;保 存 為 myfun.m, 在 命 令 窗 口 鍵 入 X=fminsearch (myfun, 0,0) 或 X=fminsearch(myfun, 0,0)結 果 為 : X = 1.0016 0.8335 5.2.3 有 約 束 的 多 元 函 數(shù) 最 小 值非 線

13、性 有 約 束 的 多 元 函 數(shù) 的 標 準 形 式 為 :sub.to 其 中 : x、 b、 beq、 lb、 ub是 向 量 , A、 Aeq為 矩 陣 , C(x)、Ceq(x)是 返 回 向 量 的 函 數(shù) , f(x)為 目 標 函 數(shù) , f(x)、 C(x)、Ceq(x)可 以 是 非 線 性 函 數(shù) .在 MATLAB5.x中 , 它 的 求 解 由 函 數(shù) constr實 現(xiàn) .)x(fminx 0)x(C 0)x(Ceq bxA beqxAeq ubxlb 函 數(shù) fmincon格 式 x = fmincon(fun,x0,A,b)x = fmincon(fun,x0,

14、A,b,Aeq,beq)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval = fmincon()x,fval,exitflag = fmincon()x,fval,exitflag,output = fmincon()x,fval,exitflag,output,lambda = fmincon()x,fval,exitflag,output,lambda,gra

15、d = fmincon()x,fval,exitflag,output,lambda,grad,hessian = fmincon() 參 數(shù) 說 明 :fun為 目 標 函 數(shù) , 它 可 用 前 面 的 方 法 定 義 ;nonlcon的 作 用 是 通 過 接 受 的 向 量 x來 計 算 非 線 性 不 等 約 束 和 等式 約 束 分 別 在 x處 的 估 計 C和 Ceq, 通 過 指 定 函 數(shù) 柄 來 使 用 , 如 :x = fmincon(myfun,x0,A,b,Aeq,beq,lb,ub,mycon), 先建 立 非 線 性 約 束 函 數(shù) , 并 保 存 為 myco

16、n.m: function C,Ceq = mycon(x)C = % 計 算 x處 的 非 線 性 不 等 約 束 的 函 數(shù) 值 .Ceq = % 計 算 x處 的 非 線 性 等 式 約 束 的 函 數(shù) 值 .lambda是 Lagrange乘 子 , 它 體 現(xiàn) 哪 一 個 約 束 有 效 .output輸 出 優(yōu) 化 信 息 ;grad表 示 目 標 函 數(shù) 在 x處 的 梯 度 ;hessian表 示 目 標 函 數(shù) 在 x處 的 Hessian值 . 例 5-5 求 下 面 問 題 在 初 始 點 ( 0, 1) 處 的 最 優(yōu) 解21212221 x5x2xxxx 0 x)1x

17、( 221 06x3x2 21 min sub.to 解 : 約 束 條 件 的 標 準 形 式 為 :sub.to 先 在 MATLAB編 輯 器 中 建 立 非 線 性 約 束 函 數(shù) 文 件 : function c, ceq=mycon (x) c=(x(1)-1)2-x(2); ceq= ; %無 等 式 約 束 .0 x)1x( 221 6x3x2 21 然 后 , 在 命 令 窗 口 鍵 入 如 下 命 令 或 建 立 M文 件 :fun=x(1)2+x(2)2-x(1)*x(2)-2*x(1)-5*x(2); %目 標 函 數(shù) .x0=0 1;A=-2 3; % 線 性 不 等

18、 式 約 束 .b=6;Aeq= ; % 無 線 性 等 式 約 束 .beq= ;lb= ; % x沒 有 下 、 上 界 .ub= ;x,fval,exitflag,output,lambda,grad,hessian=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,mycon) 則 結 果 為 x = 3 4fval = -13exitflag = 1 % 解 收 斂 . output = iterations: 2 funcCount: 9 stepsize: 1 algorithm: medium-scale: SQP, Quasi-Newton, line-sea

19、rch firstorderopt: cgiterations: lambda = lower: 2x1 double % x下 界 有 效 情 況 , 通 過 lambda.lower可 查 看 . upper: 2x1 double % x上 界 有 效 情 況 , 為 0表 示 約 束 無 效 . eqlin: 0 x1 double %線 性 等 式 約 束 有 效 情 況 , 不 為 0表 示 約 束 有 效 . eqnonlin: 0 x1 double %非 線 性 等 式 約 束 有 效 情 況 . ineqlin: 2.5081e-008 %線 性 不 等 式 約 束 有 效

20、 情 況 . neqnonlin: 6.1938e-008 %非 線 性 不 等 式 約 束 有 效 情 況 . grad = %目 標 函 數(shù) 在 最 小 值 點 的 梯 度 . 1.0e-006 * -0.1776 hessian = %目 標 函 數(shù) 在 最 小 值 點 的 Hessian值 . 1.0000 -0.0000 -0.0000 1.0000 5.2.4 二 次 規(guī) 劃 問 題二 次 規(guī) 劃 問 題 ( quadratic programming) 的 標 準 形 式 為 : sub.to 其 中 , H、 A、 Aeq為 矩 陣 , f、 b、 beq、 lb、 ub、 x

21、為 向 量其 它 形 式 的 二 次 規(guī) 劃 問 題 都 可 轉 化 為 標 準 形 式 . MATLAB5.x版 中 的 qp函 數(shù) 已 被 6.0版 中 的 函 數(shù) quadprog取 代 。xfxHx21min bxA beqxAeq buxbl 函 數(shù) quadprog格 式 x = quadprog(H,f,A,b) %其 中 H,f,A,b為 標 準 形 中 的 參數(shù) , x為 目 標 函 數(shù) 的 最 小 值 .x = quadprog(H,f,A,b,Aeq,beq) %Aeq,beq滿 足 等 約 束 條 件 .x = quadprog(H,f,A,b,Aeq,beq,lb,u

22、b) % lb,ub分 別 為 解 x的下 界 與 上 界 .x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0) %x0為 設 置 的 初 值x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options) % options為 指 定 的 優(yōu) 化 參 數(shù) .x,fval = quadprog() %fval為 目 標 函 數(shù) 最 優(yōu) 值 .x,fval,exitflag = quadprog() % exitflag與 線 性 規(guī) 劃 中 參數(shù) 意 義 相 同 .x,fval,exitflag,output = quadprog() %

23、output與 線 性 規(guī) 劃中 參 數(shù) 意 義 相 同 .x,fval,exitflag,output,lambda = quadprog() % lambda與線 性 規(guī) 劃 中 參 數(shù) 意 義 相 同 . 3xx)0,0(xx01 10)xx(213xx)xx(fmin 2121212121 例 5-6 求 二 次 規(guī) 劃 的 最 優(yōu) 解 max f (x1, x2)=x1x2+3 sub. to x1+x2-2=0解 : 化 成 標 準 形 式 : sub.to x1+x2=2 在 Matlab中 實 現(xiàn) 如 下 :H=0,-1;-1,0;f=0;0;Aeq=1 1;b=2;x,fva

24、l,exitflag,output,lambda = quadprog(H,f, , ,Aeq,b)結 果 為 :x = 1.0000 1.0000 fval =-1.0000exitflag =4output = iterations: 1 algorithm: large-scale: projective preconditioned conjugate gradients f irstorderopt: 0 cgiterations: 1 message: Optimization terminated: local minimum found; the solution is sin

25、gular. lambda = eqlin: 1.0000 ineqlin: lower: upper: 5.3 極 小 化 極 大 ( Minmax) 問 題)x(Fmaxmin iFx i 0)x(C 0)x(Ceq bxA beqxAeq ubxlb sub.to 其 中 : x、 b、 beq、 lb、 ub是 向 量 , A、 Aeq為 矩 陣 ,C(x)、 Ceq(x)和 F(x)是 返 回 向 量 的 函 數(shù) , F(x)、 C(x)、 Ceq(x) 可 以 是 非 線 性 函 數(shù) . 函 數(shù) fminimax格 式 x = fminimax(fun,x0)x = fminima

26、x(fun,x0,A,b)x = fminimax(fun,x0,A,b,Aeq,beq)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval,maxfval = fminimax()x,fval,maxfval,exitflag = fminimax()x,fval,maxfval,exitflag,output = fminimax()x,fval,maxf

27、val,exitflag,output,lambda = fminimax() 例 5-7 求 下 列 函 數(shù) 最 大 值 的 最 小 化 問 題其 中 : )x(f ,)x(f ,)x(f ,)x(f ,)x(f 54321 304x40 x48xx2)x(f 2122211 22222 x3x)x(f 18x3x)x(f 213 214 xx)x(f 8xx)x(f 215 解 : 先 建 立 目 標 函 數(shù) 文 件 , 并 保 存 為 myfun.m: function f = myfun(x)f(1)= 2*x(1)2+x(2)2-48*x(1)-40*x(2)+304; f(2)=

28、-x(1)2 - 3*x(2)2;f(3)= x(1) + 3*x(2) -18;f(4)= -x(1)- x(2);f(5)= x(1) + x(2) - 8;然 后 , 在 命 令 窗 口 鍵 入 命 令 :x0 = 0.1; 0.1; % 初 始 值x,fval = fminimax(myfun,x0)結 果 為 :x = 4.0000 4.0000fval = 0.0000 -64.0000 -2.0000 -8.0000 -0.0000 5.4 曲 線 擬 合 與 插 值 在 大 量 的 應 用 領 域 中 , 人 們 經 常 面 臨 用 一 個 解析 函 數(shù) 描 述 數(shù) 據(jù) (通

29、常 是 測 量 值 )的 任 務 .對 這 個 問 題有 兩 種 方 法 . 插 值 : 在 插 值 法 里 , 數(shù) 據(jù) 假 定 是 正 確 的 , 要 求以 某 種 方 法 描 述 數(shù) 據(jù) 點 之 間 所 發(fā) 生 的 情 況 . 曲 線 擬 合 : 曲 線 擬 合 或 回 歸 是 人 們 設 法 找 出 某 條光 滑 曲 線 , 它 最 佳 地 擬 合 數(shù) 據(jù) , 但 不 必 要 經 過 任 何數(shù) 據(jù) 點 . 標 有 o 的 是 數(shù) 據(jù) 點 ; 連 接 數(shù) 據(jù) 點 的 實 線 描 繪 了 線 性 內 插 ,虛 線 是 數(shù) 據(jù) 的 最 佳 擬 合 .0 0.1 0.2 0.3 0.4 0.5

30、0.6 0.7 0.8 0.9 1-2024681012 x y=f(x) Second Order Curve Fitting 曲 線 擬 合 的 兩 個 基 本 問 題 : 1.最 佳 擬 合 意 味 著 什 么 ? 2.應 該 用 什 么 樣 的 曲 線 ? 可 用 許 多 不 同 的 方 法 定 義 最 佳 擬 合 , 并 存 在無 窮 數(shù) 目 的 曲 線 . 當 最 佳 擬 合 被 解 釋 為 在 數(shù) 據(jù) 點 的 最 小 誤 差 平方 和 , 且 所 用 的 曲 線 限 定 為 多 項 式 時 , 那 么 曲 線擬 合 是 相 當 簡 捷 的 .數(shù) 學 上 , 稱 為 多 項 式 的

31、 最 小 二乘 曲 線 擬 合 .1 Matlab 曲 線 擬 合 虛 線 和 標 志 的 數(shù) 據(jù) 點 之 間 的 垂 直 距 離 是 在 該 點 的 誤 差 .對各 數(shù) 據(jù) 點 距 離 求 平 方 , 并 把 平 方 距 離 全 加 起 來 , 就 是 誤 差 平 方和 .這 條 虛 線 是 使 誤 差 平 方 和 盡 可 能 小 的 曲 線 , 即 是 最 佳 擬 合 .最 小 二 乘 這 個 術 語 僅 僅 是 使 誤 差 平 方 和 最 小 的 省 略 說 法 . 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-2024681012 x y=f(x) S

32、econd Order Curve Fitting Matlab 曲 線 擬 合 和 插 值 命 令曲 線 擬 合 和 插 值 函 數(shù)polyfit(x, y, n) 對 描 述 n階 多 項 式 y=f(x)的 數(shù) 據(jù) 進 行 最 小 二 乘 曲 線 擬 合interp1(x, y, xo) 1維 線 性 插 值interp1(x, y, xo, spline ) 1維 3次 樣 條 插 值interp1(x, y, xo, cubic ) 1維 3次 插 值interp2(x, y, Z, xi, yi) 2維 線 性 插 值interp2(x, y, Z, xi, yi, cubic )

33、 2維 3次 插 值interp2(x, y, Z, xi, yi, nearest ) 2維 最 近 鄰 插 值 x=0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1;y=-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2; n=2; p=polyfit(x, y, n)ezplot( -9.8108*x*x+20.1293*x-0.0317 ) %二 次 多 項 式 系 數(shù) %既 是 p的 輸 出 , 該 命 令 為 畫 出 擬 合 曲 線 .xi=linspace(0, 1, 100); % x-axis data

34、 for plotting z=polyval(p, xi) %求 出 多 項 式 在 xi點 處 的 取 值 . plot(x, y, o , x, y, xi, z, : ) xlabel( x ), ylabel( y=f(x) ), title( Second Order Curve Fitting ) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -2 0 2 4 6 8 10 12 x y =f (x ) Second Order Curve Fitting 多 項 式 階 次 的 選 擇 是 任 意 的 .兩 點 決 定 一 直 線或 一 階 多

35、 項 式 .三 點 決 定 一 個 平 方 或 2階 多 項 式 .按此 進 行 , n+1數(shù) 據(jù) 點 唯 一 地 確 定 n階 多 項 式 .于 是 ,在 上 面 的 情 況 下 , 有 11個 數(shù) 據(jù) 點 , 我 們 可 選 一 個 高達 10階 的 多 項 式 .然 而 , 高 階 多 項 式 給 出 很 差 的 數(shù)值 特 性 , 人 們 不 應 選 擇 比 所 需 的 階 次 高 的 多 項 式 .此 外 , 隨 著 多 項 式 階 次 的 提 高 , 近 似 變 得 不 夠 光 滑 ,因 為 較 高 階 次 多 項 式 在 變 零 前 , 可 多 次 求 導 . 0 0.2 0.4

36、0.6 0.8 1 -2 0 2 4 6 8 10 12 14 16 x y= f(x ) 2nd and 10th Order curve Fitting 原 始 數(shù) 據(jù) 標 以 o, 2階 曲 線 擬 合 是 虛 線 , 10階 擬 合 是 實 線 .注 意 , 在 10階 擬 合 中 , 在 左 邊 和 右 邊 的 極 值 處 , 數(shù) 據(jù) 點 之 間 出現(xiàn) 大 的 紋 波 .當 企 圖 進 行 高 階 曲 線 擬 合 時 , 這 種 紋 波 現(xiàn) 象 經 常 發(fā) 生 .顯 然 , 越 多 就 越 好 的 觀 念 在 這 里 不 適 用 . 2 插 值 命 令 插 值 定 義 為 對 數(shù) 據(jù)

37、 點 之 間 函 數(shù) 的 估 值 方 法 , 這些 數(shù) 據(jù) 點 是 由 某 些 集 合 給 定 .當 人 們 不 能 很 快 地 求 出所 需 中 間 點 的 函 數(shù) 值 時 , 插 值 是 一 個 有 價 值 的 工 具 .例 如 , 當 數(shù) 據(jù) 點 是 某 些 實 驗 測 量 的 結 果 或 是 過 長 的計 算 過 程 時 , 就 有 這 種 情 況 . 最 簡 單 插 值 的 例 子 是 MATLAB的 作 圖 .按 缺 省 ,MATLAB用 直 線 連 接 所 用 的 數(shù) 據(jù) 點 以 作 圖 .這 個 線 性 插值 猜 測 中 間 值 落 在 數(shù) 據(jù) 點 之 間 的 直 線 上 .當

38、 然 , 當 數(shù)據(jù) 點 個 數(shù) 的 增 加 和 它 們 之 間 距 離 的 減 小 時 , 線 性 插值 就 更 精 確 .例 如 : x1=linspace(0, 2*pi, 60); x2=linspace(0, 2*pi, 6); plot(x1, sin(x1), x2, sin(x2), - )xlabel( x ), ylabel( sin(x) ), title( Linear Interpolation ) 0 1 2 3 4 5 6 7-1 -0.5 0 0.5 1 x si n( x) Linear Interpolation一 個 在 數(shù) 據(jù) 點 之 間 用 60個 點

39、, 它 比 另 一 個 只 用 6個 點 更 光 滑 和 更 精 確 . 如 曲 線 擬 合 一 樣 , 插 值 要 作 決 策 .根 據(jù) 所 作 的 假 設 ,有 多 種 插 值 .而 且 , 可 以 在 一 維 以 上 空 間 中 進 行 插 值 .即 如 果 有 反 映 兩 個 變 量 函 數(shù) 的 插 值 , z=f(x, y), 那 么就 可 在 x之 間 和 在 y之 間 , 找 出 z的 中 間 值 進 行 插值 .MATLAB在 一 維 函 數(shù) interp1和 在 二 維 函 數(shù) interp2中 ,提 供 了 許 多 的 插 值 選 擇 . 為 了 說 明 一 維 插 值 ,

40、 考 慮 下 列 問 題 , 12小 時 內 ,一 小 時 測 量 一 次 室 外 溫 度 .數(shù) 據(jù) 存 儲 在 兩 個 MATLAB變 量中 . hours=1:12; % index for hour data was recorded temps=5 8 9 15 25 29 31 30 22 25 27 24; % recorded temperatures plot(hours, temps, hours, temps, + ) % view temperatures title( Temperature )xlabel( Hour ), ylabel( Degrees Celsiu

41、s ) 0 2 4 6 8 10 125 10 15 20 25 30 35 Hour Deg ree s C els ius Temperature 正 如 上 圖 看 到 的 , MATLAB畫 出 了 數(shù) 據(jù) 點 線 性 插 值 的 直線 .為 了 計 算 在 任 意 給 定 時 間 的 溫 度 , 人 們 可 試 著 對 可 視 的圖 作 解 釋 .另 外 一 種 方 法 , 可 用 函 數(shù) interp1. t=interp1(hours, temps, 9.3) % estimate temperature at hour=9.3t =22.9000 t=interp1(hours

42、, temps, 4.7) % estimate temperature at hour=4.7t =22 t=interp1(hours, temps, 3.2 6.5 7.1 11.7) % find temp at many points!t = 10.2000 30.0000 30.9000 24.9000 interp1的 缺 省 用 法 是 由 interp1(x, y, xo)來描 述 , 這 里 x是 獨 立 變 量 (橫 坐 標 ), y是 應 變 量 (縱 坐標 ), xo是 進 行 插 值 的 一 個 數(shù) 值 數(shù) 組 .另 外 , 該 缺 省 的使 用 假 定 為 線 性

43、 插 值 . 若 不 采 用 直 線 連 接 數(shù) 據(jù) 點 , 我 們 可 采 用 某 些 更 光滑 的 曲 線 來 擬 合 數(shù) 據(jù) 點 .最 常 用 的 方 法 是 用 一 個 3階 多項 式 , 即 3次 多 項 式 , 來 對 相 繼 數(shù) 據(jù) 點 之 間 的 各 段 建 模 ,每 個 3次 多 項 式 的 頭 兩 個 導 數(shù) 與 該 數(shù) 據(jù) 點 相 一 致 .這 種類 型 的 插 值 被 稱 為 3次 樣 條 或 簡 稱 為 樣 條 .函 數(shù) interp1也 能 執(zhí) 行 3次 樣 條 插 值 . t=interp1(hours, temps, 9.3, spline ) % estima

44、te temperature at hour=9.3t = 21.8577 t=interp1(hours, temps, 4.7, spline ) % estimate temperature at hour=4.7t = 22.3143 t=interp1(hours, temps, 3.2 6.5 7.1 11.7, spline ) t = 9.6734 30.0427 31.1755 25.3820 interp1二 個 強 約 束 :( 1) 人 們 不 能 要 求 有 獨 立 變 量 范 圍 以 外 的 結 果 ,例 如 , interp1(hours, temps, 13.5

45、)導 致 一 個錯 誤 , 因 為 hours在 1到 12之 間 變 化 .( 2) 獨 立 變 量 必 須 是 單 調 的 .即 獨 立 變 量 在 值上 必 須 總 是 增 加 的 或 總 是 減 小 的 . 二 維 插 值 是 基 于 與 一 維 插 值 同 樣 的 基 本 思想 .然 而 , 正 如 名 字 所 隱 含 的 , 二 維 插 值 是 對 兩變 量 的 函 數(shù) z=f(x, y) 進 行 插 值 . 3. 非 線 性 數(shù) 據(jù) ( 曲 線 ) 擬 合非 線 性 曲 線 擬 合 是 已 知 輸 入 向 量 xdata和 輸 出 向 量 ydata, 并且 知 道 輸 入 與

46、輸 出 的 函 數(shù) 關 系 為 ydata=F(x, xdata), 但 不 知道 系 數(shù) 向 量 x.今 進 行 曲 線 擬 合 , 求 x使 得 下 式 成 立 :函 數(shù) lsqcurvefit格 式 x = lsqcurvefit(fun,x0,xdata,ydata)x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)x,resnorm = lsqcurvefit()x,resnorm,residual,exitflag,output,lambda = lsqcurvefit()x,resnorm,residual,exitflag,out

47、put,lambda,jacobian =lsqcurvefit() i 2ii22x )ydata)xdata,x(F(21ydata)xdata,x(F21min resnorm=sum (fun(x,xdata)-ydata).2), 即 在 x處 殘 差的 平 方 和 ;residual=fun(x,xdata)-ydata, 即 在 x處 的 殘 差 ;exitflag為 終 止 迭 代 的 條 件 ;output為 輸 出 的 優(yōu) 化 信 息 ;lambda為 解 x處 的 Lagrange乘 子 ;jacobian為 解 x處 擬 合 函 數(shù) fun的 jacobian矩 陣 .

48、 例 5-8 求 解 如 下 最 小 二 乘 非 線 性 擬 合 問 題已 知 輸 入 向 量 xdata和 輸 出 向 量 ydata, 且 長 度 都 是 n, 擬 合函 數(shù) 為即 目 標 函 數(shù) 為其 中 :初 始 解 向 量 為 x0=0.3, 0.4, 0.1。 32 )i(xdata)3(x)i(xdatasin()2(x)i(xdata)1(x)i(ydata n1i 2iix )ydata)xdata,x(F(21min 32 xdata)3(x)xdatasin()2(xxdata)1(x)xdata,x(F 解 : 先 建 立 擬 合 函 數(shù) 文 件 , 并 保 存 為 m

49、yfun.mfunction F = myfun(x,xdata)F = x(1)*xdata.2 + x(2)*sin(xdata) + x(3)*xdata.3;然 后 給 出 數(shù) 據(jù) xdata和 ydataxdata = 3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4;ydata = 16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3;x0 = 10, 10, 10; %初 始 估 計 值x,resnorm = lsqcurvefit(myfun,x0,xdata,ydata)結 果 為 :Opti

50、mization terminated successfully:Relative function value changing by less than OPTIONS.TolFunx = 0.2269 0.3385 0.3021resnorm = 6.2950 4 非 線 性 最 小 二 乘非 線 性 最 小 二 乘 ( 非 線 性 數(shù) 據(jù) 擬 合 ) 的 標 準 形 式 為 :其 中 : L為 常 數(shù) 設則 目 標 函 數(shù) 可 表 達 為其 中 : x為 向 量 , F(x)為 函 數(shù) 向 量 . L)x(f)x(f)x(f)x(fmin 2m2221x )x(f )x(f )x(f)

51、x(F m21 i 2i22x )x(f21)x(F21min 函 數(shù) lsqnonlin格 式 x = lsqnonlin(fun,x0) %x0為 初 始 解 向 量 ; fun為 ,i=1,2,m, fun返 回 向 量 值 F, 而 不 是 平 方 和 值 , 平 方 和 隱 含在 算 法 中 , fun的 定 義 與 前 面 相 同 .x = lsqnonlin(fun,x0,lb,ub,options) %options為 指 定 優(yōu) 化 參 數(shù) ,若 x沒 有 界 , 則 lb= , ub= .x,resnorm = lsqnonlin() % resnorm=sum(fun(x

52、).2), 即解 x處 目 標 函 數(shù) 值 .x,resnorm,residual = lsqnonlin() % residual=fun(x), 即解 x處 fun的 值 . )x(fi 例 5-9 求 下 面 非 線 性 最 小 二 乘 問 題初 始 解 向 量 為 x0=0.3, 0.4。解 : 先 建 立 函 數(shù) 文 件 , 并 保 存 為 myfun.m, 由 于 lsqnonlin中的 fun為 向 量 形 式 而 不 是 平 方 和 形 式 , 因 此 , myfun函 數(shù) 應 由建 立 : k=1,2,10function F = myfun(x)k = 1:10;F = 2

53、 + 2*k-exp(k*x(1)-exp(k*x(2);然 后 調 用 優(yōu) 化 程 序 :x0 = 0.3 0.4;x,resnorm = lsqnonlin(myfun,x0) x = 0.2578 0.2578resnorm = %求 目 標 函 數(shù) 值 124.3622 101k 2xkxk )eek22( 21 實 際 問 題 求 解( 任 務 分 配 問 題 ) 某 車 間 有 甲 、 乙 兩 臺 機 床 , 可 用 于 加 工 三種 工 件 。 假 定 這 兩 臺 車 床 的 可 用 臺 時 數(shù) 分 別 為 800和 900, 三種 工 件 的 數(shù) 量 分 別 為 400、 60

54、0和 500, 且 已 知 用 三 種 不 同 車床 加 工 單 位 數(shù) 量 不 同 工 件 所 需 的 臺 時 數(shù) 和 加 工 費 用 如 下 表 。問 怎 樣 分 配 車 床 的 加 工 任 務 , 才 能 既 滿 足 加 工 工 件 的 要 求 ,又 使 加 工 費 用 最 低 ? 654321 8121110913min xxxxxxz 6,2,1,0 9003.12.15.0 8001.14.0 500600400 x . 654 321 63 52 41 ix xxx xxx xx xx xts i 解 設 在 甲 車 床 上 加 工 工 件 1、 2、 3的 數(shù) 量 分 別 為

55、x1、 x2、x3, 在 乙 車 床 上 加 工 工 件 1、 2、 3的 數(shù) 量 分 別 為 x4、 x5、 x6???建 立 以 下 線 性 規(guī) 劃 模 型 : f = 13 9 10 11 12 8;A = 0.4 1.1 1 0 0 0 0 0 0 0.5 1.2 1.3;b = 800; 900;Aeq=1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1;beq=400 600 500;vlb = zeros(6,1);vub=;x,fval = linprog(f,A,b,Aeq,beq,vlb,vub)程 序 詳 解 : 見 example5.m The end

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!