原创 MATLAB無約束多維極值——最速下降法

一、算法原理 1、首先了解一個概念,什麼式無約束最優化。 無約束優化問題就是在x∈R^n的範圍內,找到一點x*,使得f(x*)<f(x)對於任意x∈R^n都成立。點x*就是全局最優解。 其一般形式爲        ,x∈R^n。 2、假

原创 MATLAB無約束多維極值之共軛梯度法

一、算法原理 1、引入 先來回顧一下之前我們介紹的最速下降法; 假設函數爲f(x),最速下降法通過給定一個初始點xk,選擇xk處的負梯度方向爲最速下降方向,然後進行線搜索來確定步長。 其迭代公式爲:x(k+1)=xk+a*gradient

原创 MATLAB之斐波那契法

MATLAB之斐波那契 之前在網上看到過很多關於斐波那契算法的文章,我從中吸收了一些知識,覺得對初學者來說很容易理解,再此分享給大家。 一、算法原理 1、引入 我的上一篇博客講解了黃金分割法,我們以此爲突破點,來了解它。 假設函數

原创 MATLAB之牛頓迭代法

MATLAB之牛頓迭代法 一、算法原理 1、迭代公式 將 f (x)在點xk做Taylor展開f(x)=f(xk)+f’(xk)(x-xk)+…,則有 由上式可得牛頓迭代公式爲: X(k+1)=X(k)- f (X(k))/f’(

原创 MATLAB無約束一維極值之二次插值法

一、算法原理 設曲線F(x),尋找到其極值區間[x1,x2],使其滿足f(x1)>f((x1+x2)/2) , f((x1+x2)/2)<f(x2),利用這三個點的值擬合一條拋物線方程 f(x)=ax^2+bx+c,a b c 爲係數。

原创 MATLAB之埃米特插值

一、算法原理 1、問題引入 在實際問題中,對所構造的插值多項式,不僅要求函數值重合,而且要求若干階導數也重合,即要求插值函數 P(x) 滿足: 此類問題被稱爲埃米特插值,相應的插值多項式成爲埃米特插值多項式。 2、考慮函數值與導數值個數

原创 MATLAB之牛頓插值法

一、算法原理 1、問題引入 上一篇博客我們介紹了拉格朗日插值法,我們現在來回顧其定義: 對於插值區間【a,b】上一系列插值節點x0,x1,x2,......xn及其函數值y0、y1、y2......yn;構造一個簡單的簡單易算的近似函數g

原创 MATLAB自帶插值函數

一、interp1 1、函數簡介    MATLAB中的插值函數爲interp1,其調用格式爲:yi= interp1(x,y,xi,'method'),    其中x,y爲初始插值點,xi爲給定的插值點,yi爲在被插值點xi處的插值結果

原创 MATLAB之最小二乘法

一、算法原理 給定一些列點x1,x2,.....xn,對應的函數值爲y1,y2,......yn。若擬合曲線爲y=ax+b,根據條件可寫出線形方程組爲: [x1 1;x2 1;...;x3;1]*[a;b]=[y1;...;yn]即A*[

原创 MATLAB線形規劃函數linprog、intlinprog與二次規劃函數quadprog

一、目標函數簡介 線形規劃問題的數學模型:   s.t                      線形規劃,顧名思義就是目標函數與約束條件均爲線形函數(一次函數)。 二、線形規劃函數linprog linprog函數的用法大致分爲以

原创 粒子羣優化算法及matlab程序

%% 粒子羣 PSO clear clc %% 繪製原圖 x1 = -15:1:15; x2 = -15:1:15; [x1,x2] = meshgrid(x1,x2); %生成網格點 y = x1.^2 + x2.^2 - x1

原创 位置PID與增量PID控制原理(附帶matlab源碼)

一、位置式PID   按照模擬PID控制算法,以一系列採樣時刻點KT代替連續時間t,用矩形法數值積分代替積分,以一階向後差分代替微分。 1、一系列採樣時刻點KT代替連續時間t   2、用矩形法數值積分代替積分    3、以一階向後差分代

原创 MATLAB奇異值分解及其應用(GUID實例)

一、奇異值的計算 定義:設A是秩爲r的m×n復矩陣,的特徵值爲,   , 則稱 爲矩陣A的奇異值。其中稱爲A的正奇異值,通常稱之爲奇異值。 二、奇異值分解 定義:設A是秩爲r的m×n復矩陣,則存在m階酉矩陣U和n階酉矩陣V ,使得  ,

原创 STM32入門基礎知識點

一、什麼是32單片機 在學習STM32之前,首先應該學習一下51單片機。51單片機作爲一款入門級的經典單片機,是目前應用最廣泛的8位單片機之一。但隨着市場產品競爭的加劇,51單片機現有的資源就顯得力不從心了。 ARM公司首先推出了基於AR

原创 MATLAB之Nyquist圖和Bode圖

一、拉氏變換 matlab自帶工具:拉氏變換(laplace) 例laplace(f)返回f的拉普拉斯變換。 默認情況下,自變量是t,變換變量是s。 例laplace(f,transVar)使用轉換變量transVar而不是s(自定義變換