- ベストアンサー
y=sinxcosxとy=sinx+cosx
y=sinxcosxとy=sinx+cosxのグラフの書き方が分かりません。sinとcosのグラフを書いてその二つをかけたり足したりすればいいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
単にグラフを描きたいだけならExcelで簡単にできます。以下の手順でグラフを描いてみてください。これはVBAを使った計算プログラムですが、(1)から(5)までの手順を行えば簡単にできます。 (1)Excelを起動→キーボードのAltキーを押しながらF8キーを押す(Atl+F8)と、マクロというウィンドウが出るので、その名前欄(マクロ名(M)の下の箱)に適当な名前(aaa)をかきこんで(括弧はつけないで aaa だけ記入)、実行をクリック (2)画面が変わって、Microdoft Visual Basic ... というのになりますが、真っ白な画面に出ている Sub aaa() と End Sub の間の空の行に、以下のプログラムをコピー&ペーストします(以下の文をマウスで選択してCtrl+Cでコピー、Ctrl+Vでペースト)。 ↓ここからコピー Dim i As Integer, n As Integer, x As Single, x0 As Single, x1 As Single ' n = 100 ' データ点は100個 x0 = 0: x1 = 2 * 3.141593 ' x=0から2*πまでの範囲 ' For i = 0 To n x = x0 + i * (x1 - x0) / n ' xの計算 Cells(i + 1, 1) = x ' ワークシートのA列に x の値を書き込む Cells(i + 1, 2) = Sin(x) * Cos(x) ' ワークシートのB列に sinxcosx の値を書き込む Cells(i + 1, 3) = Sin(x) + Cos(x) ' ワークシートのC列に sinx+cosx の値を書き込む Next i ↑ここまでコピー (3)ペーストすると、以下のようになると思います。 Sub aaa() Dim i As Integer, n As Integer, x As Single, x0 As Single, x1 As Single ' n = 100 ' データ点は100個 x0 = 0: x1 = 2 * 3.141593 ' x=0から2*πまでの範囲 ' For i = 0 To n x = x0 + i * (x1 - x0) / n ' xの計算 Cells(i + 1, 1) = x ' ワークシートのA列に x の値を書き込む Cells(i + 1, 2) = Sin(x) * Cos(x) ' ワークシートのB列に sinxcosx の値を書き込む Cells(i + 1, 3) = Sin(x) + Cos(x) ' ワークシートのC列に sinx+cosx の値を書き込む Next i End Sub (4)Excelのワークシート画面(表が出ているウィンドウ)に戻って、キーボードのAltキーを押しながらF8キーを押す(Atl+F8) → 再びマクロというウィンドウが出るので、その「実行」をクリックする(カーソルを合わせないでEnetキーを押すだけでもいい) → ワークシート画面のA列にxの値、B列にsinxcosxの値、C列にsinx+cosxの値がズラリと出る!。 (5) (グラフの描き方をご存知なら以下は飛ばしてください) セルA1からC101までをマウスカーソルで選択して → メニューの「挿入」 → 「グラフ」 を選択 → グラフの種類の「散布図」を選んで「形式」は適当なのを選んで「完了」をクリック → これで sinxcosx と sinx+cosx のグラフが描画されます。 なお、このプログラムでは 、データ数は 100 、x の範囲は 0 から 2*π まででとしていますが、これを変えるには、プログラム中の以下の数値(nとx0とx1)の値を書き換えてください。n を変えたときは、(4)をもう1度実行して、さらにワークシートに出ているグラフの描画範囲も変えてください。 n = 100 ' データ点は100個 → n を大きくすると細かいグラフになります x0 = 0: x1 = 2 * 3.141593 ' x=0から2*πまでの範囲 → x0=-10:x1=10 とすれば -10≦x≦10 の範囲のグラフが描けます
その他の回答 (3)
- y_akkie
- ベストアンサー率31% (53/169)
Excelでグラフを描写する際はVBAを用いるのも一つの方法だと思いますが、 もっと楽な方法はワークシート関数に以下を代入して、オートフィル機能でいくつかのデータを作り、散布図でプロットすれば良いと思います。 列AにXのデータが格納されているとき、列B1、列C1に下式を代入して、下方向にドラッグするだけです。 sin(RADIANS(A1))*cos(RADIANS(A1)) sin(RADIANS(A1))+cos(RADIANS(A1))
お礼
いろいろな方法があるのですね。参考になります!
- kkkk2222
- ベストアンサー率42% (187/437)
ーーー こんには #1 y=sinxcosx については倍角の公式使用で =(1/2)(2sinxcosx) =(1/2)sin2x #2 y=sinx+cosx につては三角関数の合成公式使用で =√2((1/√2)sinx+(1/√2)cosx) =√2(sin(x+(π/4)) とするのが常道のようです。 この後が不明なら、ご連絡下さい。 SEE YOU ーーー
お礼
公式で求められるのですか。ありがとうございます。
- sacra_sak
- ベストアンサー率46% (24/52)
y = sin x cos x = (1/2)sin 2x です.サインの倍角公式の逆です. また三角関数の合成で,y = sin x + cos x = √2 sin(x +π/4) ですね.だからこれは,y = sin x のグラフを x 軸方向 -π/4 だけ平行移動して,縦に√2 倍に伸ばしたものです.
お礼
ありがとうございます
お礼
なるほどVBAで求める方法もあるのですね、参考になりました。