[問題]如何解非線性方程?!已回收

看板MATLAB作者 (109km)時間16年前 (2008/10/16 15:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
請教各位高手,第一次要寫程式就遇到這種問題... 情況如下.. 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
文章代碼(AID): #18zkfSRX (MATLAB)
文章代碼(AID): #18zkfSRX (MATLAB)