作者kalpavastar (※煞氣的56傳說※)
看板MATLAB
標題[討論] 計算三元方程式求解有疑問
時間Mon Aug 5 13:20:53 2013
function F=func3(x)
F=zeros(3,1);
F(1)=1.95+log10(x(1))+1/6*log10(x(2)/423+x(3))-log10(16.316);
F(2)=1.95+log10(x(1))+1/6*log10(x(2)/433+x(3))-log10(16.197);
F(3)=1.95+log10(x(1))+1/6*log10(x(2)/443+x(3))-log10(16.102);
end
x =
0.2095 0.5140 0.4264
理論上 x2應該要是1XX
但是這種逼近的方法斯乎找不到正確的解答
大大可以幫忙解惑嗎
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.46.174
1F:→ shuntau:等等...x到底式輸入端還是輸出端? 08/05 15:45
2F:→ kalpavastar:X為輸出端 我就是要解出X(1) X(2) X(3) 08/05 22:48
3F:→ shuntau:因為這樣看我會覺得x是輸入端,而F才是輸出端 08/06 08:52
4F:→ shuntau:那可以順便附上F的結果嗎?搞不好F可以找到一些線索 08/06 08:59
其實是要解出這一個三元的方程式
1.95+log(x)+1/6*log(y/423+z)=log(16.316)
1.95+log(x)+1/6*log(y/433+z)=log(16.197)
1.95+log(x)+1/6*log(y/443+z)=log(16.102)
求出X Y Z
不過用程式跑出來的答案 不太準確
1.95+log(x)+1/6*log(y/B+z)=log(A)
X Y Z求出後 是要利用代入一B值
求出相對應的A
但是跑出來的答案
根本不能用
比如說 改變B值 423 433 A值都一樣
※ 編輯: kalpavastar : 140.114.46.174 (08/06 10:15)
※ 編輯: kalpavastar 來自: 140.114.46.174 (08/06 10:18)
5F:→ shuntau:嗯,剛剛用其他方式去試,好像還真的解不出來 08/06 13:42
6F:→ shuntau:有沒有考慮把log去掉再做? 08/06 13:43
7F:→ shuntau:剛剛試過了,就算把log去掉好像還是沒辦法解,所以正規 08/06 13:50
8F:→ shuntau:做法應該是沒辦法解 08/06 13:51
9F:→ shuntau:所以你用的方法是不是forward modeling? 08/06 13:55
10F:→ shuntau:因為剛剛仔細看MATLAB是回我"沒有明確解" 08/06 13:56
是阿
解方程式
用FSOLVE或其他方法都沒解答
手算的話又都解不算不出來
本身不是很了解MATLAB
不知道這題可不可以算得出來q_q
※ 編輯: kalpavastar 來自: 140.114.46.174 (08/06 16:27)
11F:→ shuntau:因為人家matlab都已經告訴你沒有明確解了,手算會算出來 08/06 18:05
12F:→ shuntau:反而有鬼XD 08/06 18:05
13F:→ shuntau:有可能需要用一些數值分析的方法吧 08/06 18:06
14F:→ shuntau:然後這部分小弟我可能幫不上忙m(_ _)m 08/06 18:06