[問題]如何解非線性方程?!已回收
請教各位高手,第一次要寫程式就遇到這種問題...
情況如下..
tan(2β)=tan(2ψ)*cos(δ)
sin(2χ)=-sin(2ψ)*sin(δ)
目前是tan(2β),sin(2χ)已知,令他們為常數A,B
如何套用matlab的程式碼去解ψ,δ這類的非線性方程??
因為小弟沒寫過程式,就用了一般代數處理的方式處理。
希望能寫個直接的函數δ讓電腦直接代值計算。
或許有高手可以看出一些端倪,勞請各位觀看一下簡陋的過程。
A=tan(2ψ)*cos(δ)
B=-sin(2ψ)*sin(δ)
>>
sin(2ψ)=-B/sin(δ)
>>
tan(2ψ)=-B/(sin(δ)^2-B^2)^0.5
A=(-B/(sin(δ)^2-B^2)^0.5)*cos(δ)
兩邊平方>>>這裡懷疑會不會有重根的問題。
A^2=(sin(δ)^2-B^2)=B^2*cos(δ)^2
利用sin(δ)^2=1-cos(δ)^2
可以整理出
sin(δ)^2=(B^2+A^2*B^2)/(A^2+B^2)
再來反三角函數
δ=asin(((B^2+A^2*B^2)/(A^2+B^2))^0.5)
整理到目前為止,都是一般的處理方式。
但不確定這樣解出來的答案正確與否,因為最後的結果不是所期待的。
所以勞請大家看看這樣解,是哪個環節出錯,
或是有更正式的非線性方程的解法。
肛溫!!XD
--
http://www.wretch.cc/album/crea0414
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.161.183
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章