作者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