Chuyển đổi giữa tỉ số lượng giác trong pascal
Đăng ngày: 13:51 26-01-2012
Thư mục: Pascal
-Nếu trong Pascal đã có sẵn hàm arctanx thì có thể tính arcsinx từ các hệ thức sau:
2arctan[(1+sqrt(1-x^2))/x] + arcsinx = pi nếu 0<=1
và
2arctan[(1+sqrt(1-x^2))/x] + arcsinx = -pi nếu -1<=x<0
Do đó, ta có:
arcsinx = pi - 2arctan[(1+sqrt(1-x^2))/x] nếu 0<=1
và
arcsinx = -pi - 2arctan[(1+sqrt(1-x^2))/x] nếu -1<=x<0
Chú ý rằng arcsin0 = 0.
-Ta có:
arcsinx + arccosx = pi/2 với mọi x thuộc khoảng [-1, 1]
nên suy ra:
arccosx = pi/2 – arcsinx với mọi x thuộc khoảng [-1, 1]
arcsinx = arctan[x/sqrt(1 – x^2)] nếu –1<1
Công thức tính arccosx vẫn như trước:
arccosx = pi/2 – arcsinx với mọi x thuộc khoảng [–1, 1]
Suy ra:
arccosx = pi/2 – arctan[x/sqrt(1 – x^2)] nếu –1<1
Chú ý là:
arcsin1 = pi/2
arcsin(–1) = –pi/2
arccos1 = 0
arccos(–1) = pi
Cho biết cos3x = m, tính cosx và sinx.
GIẢI
Có các trường hợp sau:
1) cos3x = m (0 < m < 1)
Đặt k = sqrt(1-m^2)/m và t = arctan(k).
Khi đó, các giá trị của cosx là:
cos(t/3), cos(t/3 + 2*pi/3), cos(t/3 + 4*pi/3)
và các giá trị của sinx là:
sin(t/3), sin(t/3 +2*pi/3), sin(t/3 + 4*pi/3), –sin(t/3), –sin(t/3 +
2*pi/3), –sin(t/3 + 4*pi/3).
Vậy trong trường hợp này, có 3 giá trị của cosx và 6 giá trị của sinx.
2) cos3x = m (–1 < m < 0)
Đặt k = sqrt(1–m^2)/(–m) (nghĩa là k = sqrt(1-m^2)/|m|), và t = pi –
arctan(k)
Khi đó, các giá trị của cosx là:
cos(t/3), cos(t/3 + 2*pi/3), cos(t/3 + 4*pi/3)
và các giá trị của sinx là:
sin(t/3), sin(t/3 +2*pi/3), sin(t/3 + 4*pi/3), –sin(t/3), –sin(t/3 +
2*pi/3), –sin(t/3 + 4*pi/3).
3) cos3x = 0
Các giá trị của cosx là:
cosx = 0, cosx = sqrt(3)/2, cosx = –sqrt(3)/2
và các giá trị của sinx là:
sinx = 1, sinx = –1, sinx = 1/2, sinx = –1/2.
4)cos3x = 1
Các giá trị của cosx là:
cosx = 1, cosx = –1/2
và các giá trị của sinx là:
sinx = 0, sinx = sqrt(3)/2, sinx = –sqrt(3)/2.
5) cos3x = –1
Các giá trị của cosx là:
cosx = –1, cosx = 1/2
và các giá trị của sinx là:
sinx = 0, sinx = sqrt(3)/2, sinx = –sqrt(3)/2
Chú ý: Trong phần trình bày trên, không có điều kiện ràng buộc đối với
x, nghĩa là cho cos3x = m, ta tìm tất cả các giá trị có thể có của cosx
và sinx.
@ Than Dieu: Em kiểm tra lại các giá trị tui nêu ra ở phần trên bằng
cách cho m là các giá trị cụ thể như: m = 1/2, m = sqrt(3)/2, m = –1/2, m
= – sqrt(2)/2, m = 1, v.v… Em viết chương trình và chạy thử xem kết quả
ra sao, có gì trục trặc em báo ngay nhé.
Có gì sai sót mong các bạn chỉ giúp, cám ơn các bạn.
EM thấy ứng với mỗi giá trị của cos(3x )sẽ nhận được 2 giá trị thực
Cos(x) và 4 giá trị của sin(x). Vậy ta tìm ra được những 3 giá trị của
Cos(x) và 6 giá trị của Sin(x) vậy có bị thừa ko anh nhỉ
* Khi 0 < m < 1 hoặc khi -1 < m < 0 thì có 3 giá trị phân
biệt của cosx và 6 giá trị phân biệt của sinx.
Ví dụ: m = 1/2. Khi đó k = sqrt(3), t = arctan(k) = pi/3.
Ba giá trị của cosx là:
cos(t/3) = cos(pi/9) = 0,9397
cos(t/3 + 2*pi/3) = cos(7*pi/9) = -0,7660,
cos(t/3 + 4*pi/3) = cos(13*pi/9) = -0,1736
và sáu giá trị của sinx là:
sin(t/3) = sin(pi/9) = 0,3420
sin(t/3 +2*pi/3) = sin(7*pi/9) = 0,6428
sin(t/3 + 4*pi/9) = sin(13*pi/9) = -0,9848
-sin(t/3) = -sin(pi/9)= - 0,3420
-sin(t/3 +2*pi/3) = -sin(7*pi/9) = -0,6428
-sin(t/3 + 4*pi/9) = -sin(13*pi/9) = 0,9848
Chú ý là sáu giá trị phân biệt của sinx lập thành ba cặp đối dấu nhau.
* Khi m = 0, m = 1 hoặc m = -1 thì có những giá trị của sinx trùng nhau
nên ta xét riêng cho được rõ ràng.
* Cách kiểm tra kết quả:
Ta có công thức lượng giác sau:
cos(3u) = 4(cosu)^3 – 3cosu
Do đó, để biết ba giá trị cosx nhận được trong các trường hợp -1 < m
< 0 hoặc 0 < m < 1 có đúng hay không, em làm như sau: lần lượt
gán ba giá trị của cosx vào các biến thực a, b, c rồi em cho xuất ra màn
hình giá trị của biểu thức: 4a^3 – 3a
Nếu chương trình em viết là đúng thì giá trị đó sẽ bằng số m mà em đã
nhập vào lúc đầu (vì 4a^3 – 3a = 4[cos(t/3)]^3 – 3cos(t/3) = cost = m do
t = arccosm).
Tương tự, 4b^3 – 3b và 4c^3 – 3c đều bằng m cả.
Tuy nhiên, có thể xảy ra trường hợp là chúng chỉ gần bằng m mà không
đúng bằng m: điều này tùy thuộc vào dạng thức của các biến m, a, b, c
khi xuất ra màn hình (điều này thì tui không chắc lắm vì tui không rành
về Pascal :)).
--------------------------------
* Xét phương trình bậc ba (ẩn số là t):
4t^3 – 3t – 0,4592 = 0 (1)
Để giải phương trình (1), có thể dùng công thức Cardano, nhưng công thức
đó không có trong chương trình Trung học. Nếu cho giải phương trình (1)
bằng cách lập trình thì ta giải như sau: Đặt t = cosx (–1 <= t <=
1), phương trình (1) thành:
4(cosx)^3 – 3cosx – 0,4592 = 0.
<=> cos(3x) – 0,4592 = 0
<=> cos(3x) = 0,4592 ( = m)
Bây giờ, chạy chương trình Pascal mà em đã viết, em sẽ nhận được:
t1 = cosx1 = ***
t2 = cosx2 = ***
t3 = cosx3 = ***
Các nghiệm t1, t2, t3 đều nhận được vì thỏa điều kiện –1 <= t <=
1. Mà phương trình bậc ba thì chỉ có tối đa là ba nghiệm phân biệt. Vậy,
phương trình (1) có đúng ba nghiệm phân biệt là t1, t2, t3 ở trên. Nói
cách khác, ta đã giải phương trình bậc ba (1) bằng cách chuyển qua giải
bằng Lượng giác (với sự trợ giúp của ngôn ngữ lập trình Pascal), rồi từ
đó tìm được các nghiệm t của phương trình (1), vốn là một phương trình
đại số (vế trái là một đa thức). Ý nghĩa của bài tập em đã làm có thể
hiểu là như vậy đó.
Dĩ nhiên nếu thay số 0,4592 trong (1) bởi một số bất kỳ m thỏa –1 <= m
<= 1 thì chương trình em đã viết vẫn có thể dùng được. Nhưng nếu xét
phương trình:
4t^3 – 3t – 3,4592 = 0 (2)
thì không dùng chương trình đó được nữa vì phương trình cos(3x) = 3,4592
(= m) vô nghiệm. Trong trường hợp này, người ta giải phương trình (2)
bằng những phương pháp khác.
Chương trình em viết còn một hạn chế khác nữa, đó là nó chỉ giải được
duy nhứt một dạng hàm số là:
4t^3 – 3t – m = 0 (3)
với –1 <= m <= 1 mà thôi ( nghĩa là hàm số đó bắt buộc phải là
4t^3 – 3t ). Gặp phương trình bậc ba bất kỳ như:
9t^3 +15t^2 – 2t + 0,2418 = 0
mà không thể biến đổi để đưa về dạng (3) thì chương trình của em ...
bótay.com! :).
Nói ra nghe có vẻ nản quá phải không, vì bỏ công sức ra thì nhiều mà thu
lại thì hình như hơi ít, nhưng không sao, việc giải những bài tập như
vậy rất có lợi cho việc rèn luyện sự suy luận và luyện tập lập trình.
* Tương tự, em có thể giải phương trình dạng
16t^5 – 20t^3 + 5t = m (4)
(với –1 <= m <= 1) bằng cách đặt t = cosx (–1 <= t <= 1) để
đưa nó về phương trình lượng giác:
cos5x = m.
Làm tương tự như tui đã trình bày trong bài post trước, em tìm được 5
giá trị phân biệt của cosx (nếu –1 < m < 0 hoặc 0 < m < 1),
đó chính là 5 nghiệm phân biệt t1, ..., t5 của phương trình (4).
* Các hàm số f(t) = 4t^3 – 3t, g(t) = 16t^5 – 20t^3 + 5t là 2 đa thức
trong các đa thức Tchebyshev . Sau này lên Đại học, có thể em sẽ được
học về các đa thức đó.
Khánh Vũ
Không có nhận xét nào:
Đăng nhận xét