在進行方程待定係數求解時,matlab提供了多種解決方案。常用 的有:矩陣左除(超定方程求解)、轉換為線性回歸、曲線擬合、非線性回歸等方法。
這裡以求解如下方程係數為例:
a p(
vs,v
w,fn
)=cv
sαvw
β(fn
rc)γ
/2a_p(v_s,v_w,f_n) =c\frac^\alpha}^\beta}(})^
ap(vs
,vw
,fn
)=c
vwβ
vsα
(rc
fn
)γ/
2即通過matlab擬合工具箱cftool進行擬合。
雖然matlab曲線擬合工具箱表面是只能是擬合二元曲線,實際上通過方程的變化可以擬合更多元的曲線,但始終還是存在無法擬合高元曲線的問題。因此針對模型1中的情況,無法使用曲線擬合工具箱。
對模型兩邊取對數可得將其轉變為線性關係:
ln a
p=ln
c+αln
vs−
βlnv
w+γ2
lnfn
rc\ln a_p = \ln c+\alpha \ln v_s -\beta \ln v_w +\frac \ln \frac
lnap=ln
c+αln
vs−
βlnvw
+2γ
lnrc
fn
由式可見,lnap與lnvs,lnvw,lnfn/rc成線性關係。可以採用超定方程組最小二乘進行求解其係數,同樣也可以採用線性回歸的方法求解其係數。通過matlab求解超定方程組如下:
%%
%矩陣左除法(最小二乘)
a = [ones(
size
(vs_fit)
)log
(vs_fit)
-log
(vw_fit)
log(fn_fit/rc)
/2];
b =log
(ap_fit)
;coefs_matrix = a\b %左除,相當於求inv(a)
同樣,可以基於線性回歸函式regress()
對上式進行回歸,具體方法如下:
%
%%曲線擬合方法/線性回歸方法
x_curve_fit =
[ones
(size
(vs_fit)
)log
(vs_fit)
-log
(vw_fit)
log(fn_fit/rc)/2
];y_curve_fit =
log(ap_fit)
;[coefs_curve_fit, confidence_intervals, residual_error,
rint
,stats].
..=regress
(y_curve_fit, x_curve_fit)
;
上述兩種方法求得的係數一致。
matlab自帶有非線性回歸函式,基於迭代的方法求解待定係數。具體實現如下:
%
%%多元非線性回歸方法
x_regress_fit =
[vs_fit vw_fit fn_fit/rc]
;y_regress_fit = ap_fit;
my_model =
inline
('beta(1)*x_regress_fit(:,1).^beta(2)./x_regress_fit(:,1).^beta(3).*x_regress_fit(:,3).^(beta(4)/2)',.
..'beta'
,'x_regress_fit');
% 建立內聯函式,變數為beta和x_regress_fit
beta0 =
[10000
-0.1
0.91];
% 設定迭代係數初始值
[beta, r]
=nlinfit
(x_regress_fit, y_regress_fit, my_model, beta0)
;% 執行後警告雅可比矩陣為病態矩陣,且所得結果錯誤。
採用該方法時,雖然能得到相應結果,但是發現報出警告:雅可比矩陣病態,且得到的結果與實際相差很大。可見,這種方法有一定的侷限性。
最終效果如下:
matlab超定方程求解
matlab非線性回歸
RBAC模型,實現物件許可權管理(待定)
1.rbac模型包含三個部分,分別對應使用者 角色 物件 模組 1個物件可以有多種角色,如乙個人既可以是老師,也可能是作為管理員 1個角色可以有多個使用者,如1個老師角色,可以有多個使用者 這樣使用者和角色就形成了乙個多對多的關係 n m 同理角色和物件也是乙個多對多的關係 如圖所示 2.對於乙個管...
線性常係數差分方程的Matlab遞推求解
matlab訊號處理工具箱提供了filter函式,可以實現線性常係數差分方程的遞推求解,呼叫格式如下 yn filter b,a,xn,xi xi filtic b,a,ys,xs 呼叫引數xn是輸入訊號向量,b和a是差分方程 2.5.1b 的係數向量,即 k 0到n ak y n k i 0到m ...
數學建模中初等模型問題的matlab求解
問題描述 三名商人攜帶隨從乘船,一次最多過兩人,在任一岸隨從人數大於商人,則隨從殺人越貨,問商人如何安全渡河?不妨設最初在西岸 思路 可以看出這是乙個迷宮問題,但是不同於資料結構中的普通的二維的迷宮問題,此問題中需要考慮的引數還有 船在東岸還是在西岸。所以我們考慮將狀態設定為乙個三維的陣列。採用迷宮...