[問題] 解方程式已回收
手上有四個未知數、四條方程式,
但是方程式中包含了要輸入的資料與要求的變數的兩兩乘積,
而且每一個資料值要乘的變數都不同
e.g. summation[ data(i)*i^(theta-2*lamda)]
eq1: mu = ---------------------------------------
summation i^2(theta-lamda)
我的想法是把要乘的變數每一項都先出symbol再放到方程式裡和資料運算,
把 eq1 中的 i ^(theta-2*lamda) 和 i^2(theta-almda)依照資料筆數數先建出矩陣,
這樣 eq1 就可以寫成 sum(data.*A)
mu = --------------
sum(B)
但是這樣寫 eq1 會被判定為無效的表達式,是否這個寫法在 solve 是不可行的呢?
如果不可行的話,要用什麼樣的寫法或是其他合適的函式才能解這樣的方程式呢?
謝謝各位解惑!
以下是完整程式
data=[1:10]; %先暫時假設的資料10筆
syms mu sigma2 theta lamda
for i =1:10
A(i) = i.^(theta-2*lamda);
B(i) = i.^(2*theta-2*lamda);
C(i) = i.^(-2*lamda);
D(i) = log(i);
end
eq1= 'mu - ((sum(data.*A))/(sum(B)))';
eq2= 'sigma2 - (1/n)*(sum(data.*data.*C)-sum(2*data.*C)+mu*mu*sum(B))';
eq3= 'sum(data.*D.*A) - mu*sum(D.*B)';
eq4= 'sigma2*sum(D) -
( sum(D.*(data.*data).*C)-sum(D.*(2*data).*C+mu*mu*sum(D.*B) )';
[mu sigma2 theta lamda] = solve(eq1,eq2,eq3,eq4)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.235.135
推
10/28 19:52, , 1F
10/28 19:52, 1F
→
10/28 19:52, , 2F
10/28 19:52, 2F
討論串 (同標題文章)