PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   數學逹人請進 (https://www.pcdvd.com.tw/showthread.php?t=862798)

努力吧 2009-07-31 08:31 PM

數學逹人請進
 
我有一題
sinq+0.1212sin2q=1

求q不會解

我知道要用高斯疊代法解
但是還是沒有頭緒


是否能指導一下

arthur055302. 2009-07-31 10:13 PM

印象中高斯疊代法只能做"一組"線性方程
這個應該用牛頓疊代法(我也只想到這個)

Let f(x)=sinq+0.1212sin2q-1=0
f'(x)=cosq+0.2424cos2q

x1=1 (Initial guess)

Iteration f(Xn) f'(Xn) Xn+1=Xn-f(Xn)/f'(Xn)
1 -0.0483222 0.4394283 1.1099660
2 -0.0077677 0.2981616 1.1360180
3 -0.0004345 0.2648212 1.1376589
4 -0.0000017 0.2627255 1.1376655
5 0.0000000 0.2627171 1.1376655

努力吧 2009-07-31 11:31 PM

如果是這樣
sinq+0.1212sin2q=1
1.364sinp+0.26sin2p=1
能用高斯疊代法作嗎

arthur055302. 2009-08-01 02:30 AM

http://en.wikipedia.org/wiki/Gauss%...93Seidel_method

高斯疊代法所需要的是類似以下的線性方程:
X1+3X2-5X3=3
-X1-4X2+7X3=8
X2-X3=1

也就是說 如果有n個未知數 就必須要有n個方程式才可以聯立求唯一解
而你所列出的方程式之間並無關連性 所以只能個別求解 無法使用高斯疊代法

努力吧 2009-08-01 08:52 AM

那有其他方法解嗎...........

arthur055302. 2009-08-01 11:00 AM

可以使用兩個三角函數的公式
sin2x=2sinxcosx
(sinx)^2+(cosx)^2=1 ==>cosx=sqrt(1-(sinx)^2)

將原式改為一個一元四次方程式
sinq+0.1212sin2q=1
sinq+0.1212*2*sinq*sqrt(1-(sinq)^2)=1
0.1212*2*sinq*sqrt(1-(sinq)^2)=1-sinq
Let x=sinq
0.1212*2*x*sqrt(1-x^2)=1-x ---->(a)
-0.05875776x^4-0.94124224x^2+2x-1=0 ----->(b)
從(a)可以看出x=1是一個解
所以可以將化簡的多項式(b)除以x-1得一個三次方程
-0.05875776x^3-0.05875776x^2-x+1=0
接下來可以用三次方程的公式解
解出另一個x=0.907656...

最後把兩個x拿去做反三角就解出q了
(還是直接用牛頓疊代比較快)

順便問一下 這個題目的來源是?

uelmen 2009-08-01 02:06 PM

Type

sin(q)+0.1212*sin(2q)=1

in wolframalpha!
http://www.wolframalpha.com/

You will see there are infinitesimal many solutions.

I suggest you use bisection method to find roots if you want to obtain them numerically.

努力吧 2009-08-01 06:46 PM

一個電力潮的題目

看來還是要去找書來看看

努力吧 2009-08-01 07:02 PM

題目解法是
寫高斯法
然後答案就出來
所以搞不懂寫什麼


所有的時間均為GMT +8。 現在的時間是07:16 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。