Grafik Fungsi Trigonometri: Keenam Fungsi dan Cara Membuatnya
Geometri Aljabar Komputasi Python JavaScript
Jawaban singkat
Keenam fungsi trigonometri memiliki grafik yang dibaca dari lingkaran satuan: sinus dan kosinus adalah gelombang di antara -1 dan 1 yang berulang setiap 360^\circ, tangen dan kotangen berulang setiap 180^\circ dengan asimtot tegak, dan sekan serta kosekan adalah cabang berbentuk U yang tak pernah berada di antara -1 dan 1. Persamaan y=a f(b(x-c))+d meregangkan grafik dengan a, membagi periode dengan b, menggesernya ke kanan sejauh c dan ke atas sejauh d, dan sketsa hanya memerlukan periode, pergeseran, dan lima titik yang berjarak seperempat periode.
Poin penting
- Keenam grafik berasal dari satu gambar, lingkaran satuan: titik pada sudut θ memberi \sinθ dan \cosθ, dan sinar melaluinya memotong garis x=1 dan y=1 pada panjang \tanθ, \secθ, \cotθ, dan \cscθ. Asimtot muncul di tempat sinar sejajar dengan salah satu garis itu.
- Tangen memiliki asimtot tegak di x=90^\circ+180^\circ n, tempat \cos x=0, dan berulang setiap 180^\circ, bukan 360^\circ, karena setengah putaran mengubah tanda sinus dan kosinus bersamaan. Ia tak punya amplitudo: daerah hasilnya semua bilangan real.
- Sekan, kosekan, dan kotangen digambar dari kosinus, sinus, dan tangen dengan mengambil kebalikan: asimtot di mana pun dasarnya 0, ujung di mana pun dasarnya 1 atau -1, dan nilai yang tak pernah jatuh di antara -1 dan 1 untuk sekan dan kosekan.
- Pada y=a f(b(x-c))+d periodenya adalah periode induk dibagi |b|, pergeserannya c, dan d mengangkat grafik. Bila persamaan ditulis y=a f(bx-B)+d, pergeserannya B/b, bukan B: kesalahan paling umum pada grafik ini.
- Gelombang dibaca dari gambarnya dalam tiga bilangan: d=(maks+min)/(2), a=(maks-min)/(2), dan periode P dari dua puncak berurutan, dengan b=(360^\circ)/(P); kosinus lalu digeser sebesar x sebuah puncak, dan sinus seperempat periode lebih sedikit.
- Dua gelombang berfrekuensi sama menjumlah menjadi satu gelombang; gelombang berfrekuensi berbeda menjumlah menjadi gelombang yang bukan sinus, berulang setiap (360^\circ)/(fpb) bila frekuensinya bilangan bulat dan tak pernah bila perbandingannya irasional. Gelombang sinus berperiode diketahui dicocokkan dengan pengukuran lewat kuadrat terkecil, yang merupakan masalah linear dalam \sin, \cos, dan sebuah konstanta.
Bagaimana lingkaran satuan memberi grafik keenam fungsi trigonometri?
Pada lingkaran satuan keenam fungsi sebuah sudut θ adalah panjang yang dapat dilihat: sinus dan kosinus adalah tinggi dan lebar titik, tangen adalah tinggi tempat sinar melalui titik itu memotong garis x=1, dan kotangen adalah jarak tempat ia memotong garis y=1. Letakkan titik P pada sudut θ di lingkaran berjari-jari 1 (lihat lingkaran satuan). Perpanjang sinar dari pusat melalui P sampai memotong garis tegak x=1. Dengan segitiga sebangun tinggi titik potongnya (\sinθ)/(\cosθ)=\tanθ, dan panjang sinar sampai ke sana (1)/(\cosθ)=\secθ. Lakukan hal yang sama dengan garis mendatar y=1: titik potongnya di x=\cotθ dan sinar itu panjangnya \cscθ.
Grafik adalah apa yang diperoleh dengan memutar θ dan menggambar salah satu panjang itu terhadap sudutnya. Karena keenamnya berasal dari satu gambar, ciri-cirinya dapat dibaca darinya. Sinar sejajar dengan garis x=1 ketika θ=90^\circ, sehingga tak pernah memotongnya, dan \tanθ serta \secθ tidak ada di sana. Sinar sejajar dengan garis y=1 ketika θ=0^\circ dan 180^\circ, dan \cotθ serta \cscθ tidak ada. Celah-celah itu adalah asimtot tegak. Sinus dan kosinus adalah bayangan ruas sepanjang 1, sehingga tak pernah melebihi 1, tetapi garis x=1 dan y=1 panjangnya tak berhingga, sehingga tangen dan kotangen dapat bernilai berapa pun.
Mengapa grafik tangen memiliki asimtot tegak dan berulang setiap 180°?
Grafik y=\tan x memiliki asimtot tegak di setiap x=90^\circ+180^\circ n, karena \tan x=(\sin x)/(\cos x) dan kosinus bernilai nol di sana; di antara dua asimtot ia naik dari jauh di bawah ke jauh di atas, dan seluruh gambarnya berulang setiap 180^\circ. Ikuti satu cabang, dari -90^\circ sampai 90^\circ. Pada 0^\circ sinusnya 0, sehingga \tan0^\circ=0. Ketika x membesar menuju 90^\circ sinus mendekati 1 dan kosinus mendekati 0 dari sisi positif, sehingga hasil bagi membesar tanpa batas: grafik melesat naik sepanjang asimtot. Tepat setelah 90^\circ kosinus adalah bilangan negatif kecil sementara sinus masih dekat 1, sehingga tangen datang dari jauh di bawah, melewati 0 pada 180^\circ, dan cabang berikutnya dimulai.
Periodenya 180^\circ dan bukan 360^\circ karena setengah putaran mengirim titik (\cos x,\sin x) ke (-\cos x,-\sin x): kedua tanda berubah dan hasil bagi tidak terpengaruh, \tan(x+180^\circ)=\tan x. Fakta lain mengikuti dari hasil bagi itu. \tan45^\circ=1, karena sinus dan kosinusnya sama. \tan(-x)=-\tan x, sehingga grafik tidak berubah oleh setengah putaran terhadap titik asal. Tangen tak pernah memiliki titik tertinggi atau terendah dan naik pada setiap cabang, sehingga daerah hasilnya semua bilangan real dan ia tak punya amplitudo. Gradiennya di 0 adalah 1 bila x dalam radian, itulah sebabnya \tan x≈ x untuk sudut kecil (turunannya \sec^2x, lihat turunan keempat fungsi lainnya). Dalam radian asimtotnya di (π)/(2)+π n dan periodenya π.
Bagaimana menggambar sekan, kosekan, dan kotangen dari kosinus, sinus, dan tangen?
Untuk menggambar sekan, kosekan, atau kotangen, gambar dulu kosinus, sinus, atau tangen secara samar lalu ambil kebalikannya: asimtot di mana pun fungsi dasarnya 0, ujung di mana pun ia 1 atau -1, dan di antaranya kurva yang jauh dari sumbu, karena 1/y besar bila y kecil. Untuk sekan, dengan \sec x=(1)/(\cos x):
- Sketsa y=\cos x dengan samar.
- Gambar asimtot tegak putus-putus di setiap nol kosinus: 90^\circ, 270^\circ, dan seterusnya.
- Tandai titik tempat kosinus bernilai 1 atau -1 (puncak dan lembahnya). Sekan bernilai sama di sana: (0^\circ,1), (180^\circ,-1), (360^\circ,1).
- Dari tiap titik itu gambar cabang berbentuk U yang menjauh dari sumbu menuju dua asimtot terdekat: membuka ke atas di tempat kosinus positif dan ke bawah di tempat kosinus negatif.
- Periksa: sekan bertanda sama dengan kosinus, dan tak pernah bernilai di antara -1 dan 1.
Kosekan sama dengan memakai sinus: asimtot di 0^\circ, 180^\circ, 360^\circ, ujung di (90^\circ,1) dan (270^\circ,-1). Kotangen adalah (1)/(\tan x)=(\cos x)/(\sin x): asimtot di tempat tangen 0 (di 180^\circ n), nol di tempat tangen tak terdefinisi (90^\circ+180^\circ n), dan ia turun dari jauh di atas ke jauh di bawah pada setiap cabang. Ia adalah tangen yang dicerminkan dan digeser: \cot x=-\tan(x-90^\circ).
Apa periode, daerah asal, daerah hasil, dan simetri tiap keenam grafik?
Keenam grafik berbeda dalam empat hal yang dapat dibaca dari tabel: periode (360^\circ untuk sinus, kosinus, sekan, dan kosekan dan 180^\circ untuk tangen dan kotangen), tempat fungsi tidak ada, daerah hasil, dan tempat fungsi bernilai nol. Dalam tabel n adalah bilangan bulat apa saja; nilai radian periode ada di dalam tanda kurung. Dicetak dari data yang sama yang dibandingkan pengecek dengan pemindaian grafik.
| Fungsi | Periode | Daerah asal | Daerah hasil | Nol | Asimtot |
|---|---|---|---|---|---|
| y=\sin x | 360^\circ (2π) | semua bilangan real | -1\le y\le1 | x=180^\circ n | tidak ada |
| y=\cos x | 360^\circ (2π) | semua bilangan real | -1\le y\le1 | x=90^\circ+180^\circ n | tidak ada |
| y=\tan x | 180^\circ (π) | x\ne 90^\circ+180^\circ n | semua bilangan real | x=180^\circ n | x=90^\circ+180^\circ n |
| y=\csc x | 360^\circ (2π) | x\ne 180^\circ n | y\le-1 atau y\ge1 | tidak ada | x=180^\circ n |
| y=\sec x | 360^\circ (2π) | x\ne 90^\circ+180^\circ n | y\le-1 atau y\ge1 | tidak ada | x=90^\circ+180^\circ n |
| y=\cot x | 180^\circ (π) | x\ne 180^\circ n | semua bilangan real | x=90^\circ+180^\circ n | x=180^\circ n |
Simetri. Kosinus dan sekan genap: \cos(-x)=\cos x, sehingga grafik adalah bayangan cerminnya sendiri terhadap sumbu-y. Sinus, tangen, kosekan, dan kotangen ganjil: f(-x)=-f(x), sehingga setengah putaran terhadap titik asal tidak mengubah grafik. Pilih sebuah fungsi di bawah, geser titik di sepanjang grafiknya, dan baca semuanya dalam derajat atau radian.
Interaktif: grafik keenam fungsi trigonometri
Pilih sinus, kosinus, tangen, kosekan, sekan, atau kotangen, geser sebuah titik di sepanjang grafiknya, dan baca periode, daerah asal, daerah hasil, simetri, nol, dan asimtotnya dalam derajat atau radian.
Bagaimana a, b, c, dan d mengubah grafik fungsi trigonometri apa pun?
Setiap keenam grafik dapat diregangkan dan digeser dengan y=a f(b(x-c))+d: a meregangkannya secara vertikal (dan membaliknya bila a negatif), b merapatkannya secara horizontal sehingga periodenya adalah periode induk dibagi |b|, c menggesernya ke kanan sejauh c, dan d mengangkatnya sejauh d. Keempat bilangan itu bekerja pada hal yang berbeda, sehingga dapat dibaca satu per satu:
- a, regangan vertikal. Untuk sinus atau kosinus, |a| adalah amplitudo, jarak dari garis tengah ke puncak. Tangen, kotangen, sekan, dan kosekan tak punya amplitudo (tak terbatas atau tak punya puncak); a meregangkannya, dan untuk sekan dan kosekan ujung bentuk U ada di d±|a|.
- b, perapatan horizontal. Periodenya (360^\circ)/(|b|) untuk sinus, kosinus, sekan, dan kosekan dan (180^\circ)/(|b|) untuk tangen dan kotangen (dalam radian (2π)/(|b|) dan (π)/(|b|)). Asimtot tangen berjarak (180^\circ)/(|b|). b negatif mencerminkan grafik terhadap sumbu-y; pakai \sin(-u)=-\sin u dan \cos(-u)=\cos u untuk membuat b positif lebih dulu.
- c, pergeseran. Grafik bergeser ke kanan sejauh c (ke kiri bila c negatif): setiap titik istimewa induk, di u=b(x-c), pindah ke x=c+u/b. Asimtot tangen ada di x=c+(90^\circ+180^\circ n)/(b).
- d, pengangkatan. Seluruh grafik naik sejauh d; garis tengah gelombang adalah y=d. Asimtot tegak tidak bergerak.
Bentuk bx dikurangi B. Persamaan sering ditulis y=a f(bx-B)+d. Keluarkan b: bx-B=b\left(x-B/b\right), jadi pergeserannya B/b, bukan B. Untuk y=\sin(2x-60^\circ) grafik bergeser 30^\circ ke kanan, bukan 60^\circ. Misalnya y=\tan2x berperiode 90^\circ dan berasimtot di ±45^\circ, ±135^\circ, dan y=2\cosx/2-1 beramplitudo 2, bergaris tengah y=-1, dan berperiode 720^\circ. Coba keempat bilangan pada salah satu dari keenam fungsi di bawah.
Interaktif: a, b, c, dan d untuk grafik trigonometri apa pun
Regangkan, rapatkan, geser, dan angkat grafik salah satu dari enam fungsi dengan y = a f(b(x − c)) + d, dengan fungsi induk digambar samar, asimtot, titik yang digambar, dan persamaan dalam kedua bentuk.
Bagaimana membuat sketsa y = a sin(bx − B) + d dengan tangan, dan tangen juga?
Untuk membuat sketsa grafik sinus atau kosinus, cari periode dan awal satu siklus, tandai lima titik yang berjarak seperempat periode, beri tinggi garis tengah, puncak, garis tengah, lembah, garis tengah, lalu hubungkan dengan gelombang mulus. Untuk y=a\sin(bx-B)+d:
- Periode. P=(360^\circ)/(b).
- Awal. Siklus dimulai di tempat bx-B=0, yaitu di x=B/b.
- Lima titik. x=B/b, B/b+P/4, B/b+P/2, B/b+(3P)/(4), B/b+P.
- Tinggi. Untuk a positif dan sinus: d, d+a, d, d-a, d. (Kosinus dimulai dari puncak: d+a, d, d-a, d, d+a. a negatif menukar puncak dan lembah.)
- Hubungkan titik-titik itu dengan kurva mulus, mendatar di puncak dan lembah dan paling curam di garis tengah, lalu ulangi siklusnya ke dua arah.
Contoh. y=3\sin(2x-60^\circ)+1. Periodenya (360^\circ)/(2)=180^\circ, siklus dimulai di x=(60^\circ)/(2)=30^\circ, titik seperempatnya 30^\circ, 75^\circ, 120^\circ, 165^\circ, 210^\circ dan tingginya 1, 4, 1, -2, 1.
Tangen dibuat sketsanya dari asimtot dan tiga titik. Untuk y=a\tan(b(x-c))+d periodenya (180^\circ)/(|b|); letakkan dua asimtot bersebelahan di x=c±(90^\circ)/(b), grafik memotong garis y=d di tengah-tengah keduanya pada x=c, dan pada seperempat jalan dari tiap asimtot, di x=c±(45^\circ)/(b), ia berada di y=d± a (karena \tan45^\circ=1). Lalu gambar cabang melalui ketiga titik itu yang naik menuju kedua asimtot, dan ulangi. Untuk y=2\tanx/2: periodenya 360^\circ, asimtotnya di ±180^\circ, perpotongannya di titik asal dan titik (±90^\circ,±2) memandu kurvanya.
Bagaimana mencari persamaan sebuah grafik trigonometri dari gambarnya?
Untuk menulis persamaan grafik sinus atau kosinus, baca garis tengah dan amplitudo dari nilai tertinggi dan terendahnya, periode dari dua puncak berurutan, dan pergeseran dari letak sebuah puncak.
- Garis tengah dan amplitudo. d=(maks+min)/(2) dan a=(maks-min)/(2).
- Periode. P adalah jarak antara dua puncak berurutan (atau dua kali jarak dari puncak ke lembah berikutnya). Lalu b=(360^\circ)/(P), atau (2π)/(P) bila x adalah waktu dan argumennya dalam radian.
- Pergeseran. Pilih kosinus dan misalkan c adalah x sebuah puncak, karena \cos0=1. Atau pilih sinus dan misalkan c adalah x sebuah puncak dikurangi P/4.
- Periksa persamaan itu pada satu titik lain.
Pasang surut. Pada gambar air tertinggi, 2,9 m, pada jam 3 dan jam 15,4, dan terendah 0,7 m. Maka d=1,8, a=1,1, P=15,4-3=12,4 jam dan y=1,1\cos\left(\frac2π12,4(t-3)\right)+1,8; sebagai sinus y=1,1\sin\left(\frac2π12,4(t+0,1)\right)+1,8. Listrik PLN. Pasokan PLN disebut 220 V, tetapi itu nilai efektifnya; gelombangnya mencapai 220√2≈311 V. Puncak 311,1 V pada 5 ms dan lembah pada 15 ms memberi P=20 ms (yaitu 50 Hz) dan v=311,1\sin\left((2π)/(20)t\right) dengan t dalam milidetik. Tak pernah hanya ada satu jawaban benar: kosinus dapat menjadi sinus dengan pergeseran lain, menambah satu periode penuh pada c tidak mengubah apa-apa, dan a negatif dengan pergeseran setengah periode memberi grafik yang sama.
Interaktif: temukan persamaan gelombang dari grafiknya
Masukkan nilai tertinggi dan terendah dan x dua puncak berurutan, dan dapatkan a, d, periode, serta persamaan sinus dan kosinus, untuk pasang surut, tegangan listrik, atau gelombang buatan sendiri.
Apa yang terjadi bila dua gelombang sinus dijumlahkan, dan apakah jumlahnya masih gelombang sinus?
Dua gelombang sinus berfrekuensi sama menjumlah menjadi satu gelombang sinus, tetapi gelombang berfrekuensi berbeda menjumlah menjadi grafik yang bukan gelombang sinus; ia berulang hanya bila perbandingan frekuensinya adalah perbandingan bilangan bulat. Tulis b untuk banyaknya siklus dalam 360^\circ, sehingga \sin bx berperiode (360^\circ)/(b).
- Frekuensi sama. A\sin bx+B\cos bx=R\sin(bx+φ) dengan R=√(A^2+B^2), satu gelombang berperiode sama (lihat bentuk satu gelombang). Dua gelombang beramplitudo A_1, A_2 dengan beda fase φ memberi gelombang beramplitudo R=√(A_1^2+A_2^2+2A_1A_2\cosφ): di antara |A_1-A_2| (berlawanan) dan A_1+A_2 (searah).
- Frekuensi bilangan bulat. \sin2x+\sin3x berulang ketika keduanya telah menyelesaikan siklus utuh bersamaan: periodenya (360^\circ)/(\gcd(2,3))=360^\circ. Untuk \sin4x+\sin6x periodenya (360^\circ)/(2)=180^\circ. Bentuknya bukan gelombang sinus.
- Perbandingan irasional. \sin x+\sin√2 x tak pernah berulang tepat, karena tak ada bentangan x yang memuat bilangan bulat siklus keduanya. Ia berulang-ulang hampir berulang, tetapi tak punya periode.
- Frekuensi berdekatan: layangan. \sin b_1x+\sin b_2x=2\cos(b_1-b_2)/(2)x \sin(b_1+b_2)/(2)x (rumus hasil kali menjadi jumlah): gelombang cepat pada frekuensi rata-rata yang tingginya membesar dan mengecil |b_1-b_2| kali dalam 360^\circ. Dua senar gitar 440 Hz dan 442 Hz terdengar membesar 2 kali per detik, dan menyetem dengan telinga berarti memperlambat layangan sampai hilang.
Pilih dua frekuensi di bawah dan lihat periode jumlahnya, atau tiadanya periode.
Interaktif: menjumlahkan dua gelombang sinus
Pilih dua frekuensi, amplitudo, dan fase dan lihat kapan jumlahnya berulang, kapan tidak pernah (perbandingannya irasional), dan bagaimana frekuensi yang berdekatan menghasilkan layangan.
Bagaimana mencocokkan gelombang sinus dengan pengukuran?
Untuk mencocokkan gelombang sinus dengan pengukuran, pilih periode dari apa yang diketahui tentang penyebabnya, lalu bilangan lainnya berasal dari masalah kuadrat terkecil linear: y≈ A\sin bx+B\cos bx+D dengan b=(360^\circ)/(P). Pergeseran yang tak diketahui akan membuat masalahnya sulit, tetapi rumus jumlah menyembunyikannya dalam hasil kali: a\sin(b(x-c))=(a\cos bc)\sin bx-(a\sin bc)\cos bx, sehingga dengan A=a\cos bc dan B=-a\sin bc persamaannya linear dalam A, B, dan D. Kuadrat terkecil memilihnya sehingga jumlah kuadrat galat, jarak tegak dari tiap titik ke gelombang, sekecil mungkin; itu sistem linear 3×3. Lalu a=√(A^2+B^2), d=D, c=-\frac\operatornameatan2(B,A)b, dan c dapat dipindahkan ke satu periode dengan menambahkan periode.
Contoh. Dua belas suhu rata-rata bulanan (ilustrasi) dan periode 12 bulan memberi a≈9,77 ^\circC, d≈13,45 ^\circC, c≈4,09 bulan, sehingga titik terhangat di x=c+P/4≈7,09, awal bulan ketujuh. Ukuran kecocokannya R^2=1-(kuadrat galat)/(kuadrat sebaran data): di sini 0,996, sehingga gelombang menjelaskan 99,6\% variasi. Bila periode tidak diketahui, coba banyak periode dan simpan R^2 terbaik: gelombang berperiode 0,6 kali periode yang benar hanya menjelaskan sekitar 30\% data ini. R^2 tinggi mengatakan gelombang menggambarkan pengukuran ini, bukan bahwa penyebabnya periodik.
Interaktif: cocokkan gelombang sinus dengan pengukuran
Cocokkan gelombang terbaik berperiode tertentu dengan suhu bulanan, jam siang, atau pasang surut dengan kuadrat terkecil, lihat galatnya sebagai ruas merah, dan cari periode yang menjelaskan paling banyak.
Bagaimana menggambar dan mencocokkan grafik trigonometri dalam program?
Program menggambar tangen atau sekan dengan memperlakukan asimtot sebagai celah: ia menghitung fungsi pada kisi, tidak menulis apa-apa di tempat fungsi tidak ada atau sangat besar, dan memulai garis baru setelah tiap celah. Tiga hal penting. Kosinus 90^\circ tidak tepat 0 pada komputer (6×10^-17), jadi ujilah abs(cos) < 1e-12 alih-alih == 0 dan nilai 1,6×10^16 tidak muncul sebagai titik pada grafik. Ubah derajat ke radian. Dan jangan pernah menghubungkan dua titik di kedua sisi asimtot, sedekat apa pun, karena garis di antaranya bukan bagian grafik.
Program mencetak tangen di dekat 90^\circ (naik ke 572,96 pada 89,9^\circ, lalu tak terdefinisi, lalu turun dari -572,96) dan kemudian mencocokkan gelombang berperiode 12 dengan dua belas suhu dengan menyelesaikan tiga persamaan normal memakai eliminasi Gauss, mencetak amplitudo, pergeseran, tingkat rata-rata, dan R^2.
import math
def tan_deg(x):
"""tan of x degrees, or None where it does not exist (cos x = 0)."""
c = math.cos(math.radians(x))
return None if abs(c) < 1e-12 else round(math.sin(math.radians(x)) / c, 2)
print([tan_deg(x) for x in (89, 89.9, 90, 90.1, 91)]) # [57.29, 572.96, None, -572.96, -57.29]
def sinusoid_fit(xs, ys, period):
"""Least squares y ~ A sin(wx) + B cos(wx) + D, w = 2 pi / period; returns a, c, d, r2 for a sin(w (x - c)) + d."""
w = 2 * math.pi / period
M = [[0.0] * 3 for _ in range(3)] # the normal equations M [A, B, D] = v
v = [0.0] * 3
for x, y in zip(xs, ys):
row = [math.sin(w * x), math.cos(w * x), 1.0]
for i in range(3):
v[i] += row[i] * y
for j in range(3):
M[i][j] += row[i] * row[j]
for col in range(3): # Gaussian elimination with a pivot
piv = max(range(col, 3), key=lambda r: abs(M[r][col]))
M[col], M[piv] = M[piv], M[col]
v[col], v[piv] = v[piv], v[col]
for r in range(col + 1, 3):
f = M[r][col] / M[col][col]
for j in range(col, 3):
M[r][j] -= f * M[col][j]
v[r] -= f * v[col]
sol = [0.0] * 3
for i in (2, 1, 0):
sol[i] = (v[i] - sum(M[i][j] * sol[j] for j in range(i + 1, 3))) / M[i][i]
A, B, D = sol
a = math.hypot(A, B)
c = (-math.atan2(B, A) / w) % period # A sin + B cos = a sin(w (x - c))
mean = sum(ys) / len(ys)
res = sum((y - (A * math.sin(w * x) + B * math.cos(w * x) + D)) ** 2 for x, y in zip(xs, ys))
tot = sum((y - mean) ** 2 for y in ys)
return a, c, D, 1 - res / tot
months = list(range(1, 13))
temp = [4.1, 5.0, 8.6, 12.9, 17.5, 21.0, 23.4, 22.8, 19.1, 13.9, 8.2, 4.9]
a, c, d, r2 = sinusoid_fit(months, temp, 12)
print(round(a, 2), round(c, 2), round(d, 2), round(r2, 4)) # 9.77 4.09 13.45 0.9959const rad = (d) => (d * Math.PI) / 180
function tanDeg(x) {
// tan of x degrees, or null where it does not exist (cos x = 0)
const c = Math.cos(rad(x))
return Math.abs(c) < 1e-12 ? null : +(Math.sin(rad(x)) / c).toFixed(2)
}
;[89, 89.9, 90, 90.1, 91].map(tanDeg) // [57.29, 572.96, null, -572.96, -57.29]
function sinusoidFit(xs, ys, period) {
// least squares y ~ A sin(wx) + B cos(wx) + D, w = 2 pi / period; returns [a, c, d, r2] for a sin(w (x - c)) + d
const w = (2 * Math.PI) / period
const M = [[0, 0, 0], [0, 0, 0], [0, 0, 0]] // the normal equations M [A, B, D] = v
const v = [0, 0, 0]
xs.forEach((x, k) => {
const row = [Math.sin(w * x), Math.cos(w * x), 1]
for (let i = 0; i < 3; i++) {
v[i] += row[i] * ys[k]
for (let j = 0; j < 3; j++) M[i][j] += row[i] * row[j]
}
})
for (let col = 0; col < 3; col++) { // Gaussian elimination with a pivot
let piv = col
for (let r = col + 1; r < 3; r++) if (Math.abs(M[r][col]) > Math.abs(M[piv][col])) piv = r
;[M[col], M[piv]] = [M[piv], M[col]]
;[v[col], v[piv]] = [v[piv], v[col]]
for (let r = col + 1; r < 3; r++) {
const f = M[r][col] / M[col][col]
for (let j = col; j < 3; j++) M[r][j] -= f * M[col][j]
v[r] -= f * v[col]
}
}
const sol = [0, 0, 0]
for (let i = 2; i >= 0; i--) {
let s = v[i]
for (let j = i + 1; j < 3; j++) s -= M[i][j] * sol[j]
sol[i] = s / M[i][i]
}
const [A, B, D] = sol
const a = Math.hypot(A, B)
const c = (((-Math.atan2(B, A) / w) % period) + period) % period // A sin + B cos = a sin(w (x - c))
const mean = ys.reduce((s, y) => s + y, 0) / ys.length
let res = 0, tot = 0
xs.forEach((x, k) => {
res += (ys[k] - (A * Math.sin(w * x) + B * Math.cos(w * x) + D)) ** 2
tot += (ys[k] - mean) ** 2
})
return [a, c, D, 1 - res / tot]
}
const months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
const temp = [4.1, 5.0, 8.6, 12.9, 17.5, 21.0, 23.4, 22.8, 19.1, 13.9, 8.2, 4.9]
const [a, c, d, r2] = sinusoidFit(months, temp, 12)
;[+a.toFixed(2), +c.toFixed(2), +d.toFixed(2), +r2.toFixed(4)] // [9.77, 4.09, 13.45, 0.9959]#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
const double PI = 3.14159265358979323846;
double xs[12], ys[12];
double M[9], v[3], sol[3]; // the normal equations M [A, B, D] = v
double tanDeg(double x) { return sin(x * PI / 180) / cos(x * PI / 180); }
// the angle of the point (x, y), from -PI to PI, in any quadrant (what atan2 does)
double angleOf(double y, double x) {
if (x > 0) return atan(y / x);
if (x < 0) return atan(y / x) + (y >= 0 ? PI : -PI);
return y >= 0 ? PI / 2 : -PI / 2;
}
int main() {
double test[5] = {89, 89.9, 90.1, 91, 45};
for (int i = 0; i < 4; i++) printf("%.2f ", tanDeg(test[i]));
printf("\n");
double temp[12] = {4.1, 5.0, 8.6, 12.9, 17.5, 21.0, 23.4, 22.8, 19.1, 13.9, 8.2, 4.9};
double period = 12;
double w = 2 * PI / period;
for (int i = 0; i < 12; i++) { xs[i] = i + 1; ys[i] = temp[i]; }
for (int i = 0; i < 9; i++) M[i] = 0;
for (int i = 0; i < 3; i++) v[i] = 0;
for (int k = 0; k < 12; k++) {
double row[3];
row[0] = sin(w * xs[k]); row[1] = cos(w * xs[k]); row[2] = 1;
for (int i = 0; i < 3; i++) {
v[i] += row[i] * ys[k];
for (int j = 0; j < 3; j++) M[i * 3 + j] += row[i] * row[j];
}
}
for (int col = 0; col < 3; col++) { // Gaussian elimination with a pivot
int piv = col;
for (int r = col + 1; r < 3; r++) if (fabs(M[r * 3 + col]) > fabs(M[piv * 3 + col])) piv = r;
for (int j = 0; j < 3; j++) { double t = M[col * 3 + j]; M[col * 3 + j] = M[piv * 3 + j]; M[piv * 3 + j] = t; }
double t2 = v[col]; v[col] = v[piv]; v[piv] = t2;
for (int r = col + 1; r < 3; r++) {
double f = M[r * 3 + col] / M[col * 3 + col];
for (int j = col; j < 3; j++) M[r * 3 + j] -= f * M[col * 3 + j];
v[r] -= f * v[col];
}
}
for (int i = 2; i >= 0; i--) {
double s = v[i];
for (int j = i + 1; j < 3; j++) s -= M[i * 3 + j] * sol[j];
sol[i] = s / M[i * 3 + i];
}
double A = sol[0], B = sol[1], D = sol[2];
double a = sqrt(A * A + B * B);
double c = -angleOf(B, A) / w;
c = c - period * floor(c / period); // into one period
double mean = 0;
for (int k = 0; k < 12; k++) mean += ys[k] / 12;
double res = 0, tot = 0;
for (int k = 0; k < 12; k++) {
double fit = A * sin(w * xs[k]) + B * cos(w * xs[k]) + D;
res += (ys[k] - fit) * (ys[k] - fit);
tot += (ys[k] - mean) * (ys[k] - mean);
}
printf("%.2f %.2f %.2f %.4f\n", a, c, D, 1 - res / tot);
return 0;
}
/* output:
57.29 572.96 -572.96 -57.29
9.77 4.09 13.45 0.9959
*/Dari mana grafik fungsi trigonometri berasal?
Grafik fungsi trigonometri muncul terlambat: fungsinya bermula sebagai panjang dalam lingkaran, dan hanya ketika sebuah besaran digambar terhadap besaran lain gelombangnya muncul.
- Sekitar 1350. Nicole Oresme menggambar besaran yang berubah, seperti kecepatan terhadap waktu, sebagai garis yang tingginya menunjukkan besarnya pada tiap saat, pendahulu awal grafik.
- 1630-an. Roberval menggambar kurva sinus sebagai pendamping sikloid dan menemukan luas di bawah satu lengkungannya. Ini termasuk gelombang sinus pertama yang digambar sebagai kurva.
- 1748. Introductio karya Euler memperlakukan sinus dan kosinus sebagai fungsi bilangan, dengan sudut dalam radian, sehingga \sin x dapat digambar terhadap x dan diturunkan.
- 1822. Théorie analytique de la chaleur karya Fourier menunjukkan bahwa fungsi periodik dapat ditulis sebagai jumlah gelombang sinus dan kosinus, itulah sebabnya menjumlahkan gelombang, seperti dalam artikel ini, menggambarkan bunyi, pasang surut, dan sinyal.
- 1863. Die Lehre von den Tonempfindungen karya Helmholtz menggambarkan nada murni sebagai gelombang sinus dan nada musik sebagai jumlahnya.
- Akhir 1800-an. Sistem tenaga arus bolak-balik menjadikan gelombang sinus tegangan sebagai benda sehari-hari, dengan frekuensi listrik tetap 50 atau 60 Hz.
Apa kesalahan umum pada grafik trigonometri?
Kesalahan paling umum pada grafik trigonometri adalah sembilan hal berikut, masing-masing dengan pernyataan yang benar.
| Kesalahan | Yang benar |
|---|---|
| ❌ Grafik tangen adalah gelombang di antara -1 dan 1 | Ia tak punya titik tertinggi atau terendah: ia naik dari jauh di bawah ke jauh di atas di antara asimtot. |
| ❌ Menyambung cabang \tan x melewati asimtot | Fungsinya tidak ada di 90^\circ: angkat pena, dan gambar asimtot putus-putus. |
| ❌ Periode \tan x adalah 360^\circ | Periodenya 180^\circ, karena setengah putaran mengubah tanda sinus dan kosinus bersamaan. |
| ❌ Periode \sin bx adalah 360^\circ b | Periodenya (360^\circ)/(b): b yang lebih besar merapatkan gelombang. |
| ❌ y=\sin(2x-60^\circ) bergeser 60^\circ ke kanan | Keluarkan 2: \sin\left(2(x-30^\circ)\right), jadi pergeserannya 30^\circ. |
| ❌ Amplitudo 3\tan x adalah 3 | Tangen tak punya amplitudo: 3 hanya meregangkannya. |
| ❌ Menggambar \sec x menukik di antara -1 dan 1 | \sec x=(1)/(\cos x) selalu memiliki |\sec x|\ge1: bentuk U-nya menyentuh 1 dan -1 dan tidak lebih rendah. |
| ❌ \sin2x+\sin3x berperiode 2×3 atau 360^\circ·6 | Ia berulang setiap (360^\circ)/(\gcd(2,3))=360^\circ; jumlah gelombang berfrekuensi berbeda bahkan bukan gelombang sinus. |
| ❌ Menggambar \sin x untuk x sampai 360 dengan kalkulator mode radian | 360 radian sekitar 57 putaran. Samakan satuan sumbu dan mode program. |
Latihan: uji pemahamanmu
Soal-soal ini mencampur semua yang dibahas di atas. Jika jawabanmu belum tepat, perhatikan petunjuk yang tersedia, lalu coba kembali.
Benar atau salah?
Tentukan tiap pernyataan Benar atau Salah.
- Grafik \tan x memiliki asimtot tegak di 90^\circ+180^\circ n.
- Periode \tan x adalah 360^\circ.
- \sec x dapat bernilai 0,5.
- y=\sin2x berperiode 180^\circ.
- Grafik y=\sin(2x-60^\circ) adalah grafik \sin2x yang digeser 60^\circ ke kanan.
- Jumlah dua gelombang sinus berfrekuensi berbeda adalah lagi gelombang sinus.
Sebuah periode
Berapa periode, dalam derajat, y=3\sin4x-1?
Titik tertinggi
Berapa nilai terbesar y=5-2\cos3x?
Di antara asimtot
Berapa jarak, dalam derajat, dua asimtot bersebelahan y=\tan3x?
Pergeseran
Berapa derajat ke kanan y=\sin(2x-60^\circ) bergeser dari y=\sin2x?
Garis tengah
Sebuah gelombang bernilai tertinggi 7 dan terendah -3. Pada tinggi y=d berapa garis tengahnya?
Sebuah jumlah
Berapa periode, dalam derajat, \sin2x+\sin3x?
Tak pernah di antara
Fungsi mana yang tak pernah bernilai di antara -1 dan 1?
- \csc x
- \tan x
- \cos x
- \cot x
Mana yang memiliki asimtot?
Grafik mana yang memiliki asimtot tegak? Pilih semua yang benar.
- y=\tan x
- y=\cos x
- y=\cot x
- y=\sec x
- y=\sin x
Urutkan sketsanya
Urutkan langkah membuat sketsa y=3\sin(2x-60^\circ)+1.
Isi kebaliknya
Lengkapi definisi sekan.
Periode pasang surut
Pasang tertinggi terjadi pada jam 3 dan lagi pada jam 15,4. Berapa periode pasang surutnya?
- 12,4 jam
- 6,2 jam
- 18,4 jam
- 24,8 jam
Ringkasan: grafik trigonometri sekilas
- Dari lingkaran: sinus dan kosinus adalah tinggi dan lebar titik; tangen, kotangen, sekan, dan kosekan adalah panjang yang dipotong sinar pada garis x=1 dan y=1.
- Tangen: asimtot di 90^\circ+180^\circ n, periode 180^\circ, ganjil, tanpa amplitudo, melalui (45^\circ,1).
- Kebalikan: asimtot di tempat dasarnya 0, ujung di tempat ia ±1, |\sec x|\ge1, |\csc x|\ge1; \cot x=-\tan(x-90^\circ).
- Transformasi: y=a f(b(x-c))+d; periode (360^\circ)/(|b|) (atau (180^\circ)/(|b|)), pergeseran c, pengangkatan d; pada bx-B pergeserannya B/b.
- Sketsa: periode, awal B/b, lima titik berjarak seperempat periode, tinggi d, d+a, d, d-a, d; tangen dari asimtotnya dan titik di ±45^\circ.
- Membaca: d=(maks+min)/(2), a=(maks-min)/(2), P dari dua puncak, kosinus digeser oleh sebuah puncak.
- Menjumlahkan: frekuensi sama, satu gelombang; frekuensi bilangan bulat, periode (360^\circ)/(fpb); perbandingan irasional, tanpa periode; frekuensi berdekatan berlayang.
- Mencocokkan: periode yang diketahui membuat y≈ A\sin bx+B\cos bx+D linear; R^2 mengukur kecocokan.
Glosarium: istilah penting
- Asimtot tegak
- Garis tegak yang didekati grafik tanpa pernah menyentuhnya, di x tempat fungsi tidak ada, seperti x = 90 derajat untuk tangen.
- Periode
- Panjang positif terkecil yang setelahnya grafik berulang tepat: 360 derajat untuk sinus dan 180 derajat untuk tangen.
- Amplitudo
- Jarak dari garis tengah gelombang sinus atau kosinus ke titik tertingginya, sama dengan nilai mutlak a pada a sin(bx) ditambah d.
- Garis tengah
- Garis mendatar di tengah-tengah nilai tertinggi dan terendah sebuah gelombang, y sama dengan d.
- Pergeseran fase
- Jarak c yang digeserkan ke kanan grafik y = a f(b(x - c)) + d dibandingkan induknya; untuk f(bx - B) nilainya B dibagi b.
- Sinusoida
- Grafik berbentuk a sin(b(x - c)) + d; gelombang sinus dan kosinus dengan amplitudo, periode, dan pergeseran apa pun semuanya sinusoida.
- Frekuensi
- Banyaknya siklus per satuan: kebalikan periode, sehingga periode 20 milidetik adalah 50 siklus per detik, 50 hertz.
- Layangan
- Pembesaran dan pengecilan lambat jumlah dua gelombang berfrekuensi berdekatan, berulang sesering selisih frekuensinya.
- Kuadrat terkecil
- Cara mencocokkan kurva dengan pengukuran dengan memilih bilangan yang membuat jumlah kuadrat jarak tegak ke titik-titik sekecil mungkin.
Pertanyaan yang sering diajukan
Seperti apa grafik tan x?
Ia adalah rangkaian cabang yang naik dan dipisahkan asimtot tegak di 90 derajat ditambah 180 derajat kali n. Tiap cabang melewati sumbu-x, melalui titik pada 45 derajat dengan tinggi 1, dan berjalan dari jauh di bawah ke jauh di atas.
Berapa periode tangen dan kotangen?
Keduanya berulang setiap 180 derajat, atau pi radian, bukan 360. Setengah putaran mengubah tanda sinus dan kosinus sekaligus, sehingga hasil baginya tetap. Untuk tan b x periodenya 180 derajat dibagi b.
Bagaimana menggambar grafik sekan dan kosekan?
Gambar kosinus atau sinus dengan samar. Letakkan asimtot di tempat ia nol, tandai titik tempat ia 1 atau minus 1, dan gambar cabang berbentuk U dari titik itu ke asimtot. Grafiknya tak pernah berada di antara minus 1 dan 1.
Berapa pergeseran fase y = sin(2x − π/3)?
Keluarkan 2: sin dari 2 kali x dikurangi pi per 6. Grafik bergeser pi per 6 radian, 30 derajat, ke kanan, bukan pi per 3. Pergeserannya B dibagi b.
Bagaimana mencari persamaan grafik sinus dari gambarnya?
Ambil garis tengah sebagai rata-rata nilai tertinggi dan terendah dan amplitudo sebagai setengah selisihnya. Ukur periode antara dua puncak, jadikan b sama dengan 360 derajat per periode, dan geser kosinus sebesar x sebuah puncak.
Apakah jumlah dua gelombang sinus adalah gelombang sinus?
Hanya bila frekuensinya sama, ketika jumlahnya satu gelombang sinus. Dengan frekuensi berbeda jumlahnya bukan gelombang sinus; ia berulang bila frekuensinya bilangan bulat, dan tak pernah berulang bila perbandingannya irasional.
Bagaimana mencocokkan gelombang sinus dengan data?
Pilih periodenya, lalu cocokkan y sebagai A sin ditambah B cos ditambah D dengan kuadrat terkecil, yang linear. Amplitudonya akar dari A kuadrat ditambah B kuadrat, dan mutu kecocokan adalah R kuadrat. Coba beberapa periode bila ragu.
Berapa daerah hasil sekan dan kosekan?
Semua bilangan yang paling sedikit 1 atau paling banyak minus 1, tanpa apa pun di antaranya. Keduanya kebalikan kosinus dan sinus, yang tak pernah keluar dari selang minus 1 sampai 1, sehingga kebalikannya tak pernah memasukinya.
Referensi
- James Stewart, Lothar Redlin, Saleem Watson (2016). Precalculus: Mathematics for Calculus (chapters on trigonometric functions of real numbers and graphs). Cengage Learning.
- Eli Maor (1998). Trigonometric Delights. Princeton University Press.
- I. M. Gelfand, Mark Saul (2001). Trigonometry (2nd ed.). Birkhäuser.
- Carl B. Boyer, Uta C. Merzbach (2011). A History of Mathematics (3rd ed.). Wiley.
- Leonhard Euler (1748). Introductio in analysin infinitorum. Marcum-Michaelem Bousquet.
- Joseph Fourier (1822). Théorie analytique de la chaleur. Firmin Didot.
- Hermann von Helmholtz (1863). Die Lehre von den Tonempfindungen. Vieweg.
Artikel terkait
- Trigonometri Dasar: Sinus, Kosinus, dan Tangen: Trigonometri dasar dijelaskan: sinus, kosinus, dan tangen segitiga siku-siku, nilai eksak pada 30°, 45°, dan 60°, lingkaran satuan, identitas, persamaan, dan grafik.
- Persamaan Trigonometri: Menyelesaikan sin x = c dan Lainnya: Cara menyelesaikan persamaan trigonometri: penyelesaian dalam interval, sudut kelipatan, kuadrat, identitas, a sin x + b cos x = c, akar palsu, dan metode numerik.
- Identitas Trigonometri: Rumus Jumlah, Sudut Ganda, dan Pembuktian: Identitas trigonometri dijelaskan: rumus Pythagoras, jumlah, sudut ganda, sudut paruh, dan hasil kali, cara membuktikan identitas, dan cara mengujinya.
- Turunan Fungsi Trigonometri: Turunan fungsi trigonometri dengan bukti: sin x dan cos x, lalu tan, cot, sec, dan csc, mengapa radian, gerak harmonik sederhana, turunan tingkat tinggi, dan kode.