PR
更新:2024/08/30

Octaveで基本的なグラフの作成・plot・練習問題について

はるか
はるか
今日はOctaveで基本的なグラフの作成について話す。
ふゅか
ふゅか
うん、基本を押さえれば他の関数でも応用できるからね!しっかり理解しよう♪

1. 基本的なグラフの作成

Octaveで基本的なプロットを作成するための手順について説明します。ここでは、簡単な例として、二次関数 \( y = x^2 \) のグラフをプロットします。

1.1. データの準備

ふゅか
ふゅか
まずはx軸のデータを準備するのが最初のステップだね
はるか
はるか
そう、例えば -10から10までの範囲で100個のデータポイントを生成する。

まず、x軸のデータを準備します。通常、linspace 関数を使って範囲を設定し、その範囲でデータポイントを生成します。

x = linspace(-10, 10, 100);  % -10から10までの範囲で100個のデータポイントを生成
y = x.^2;  % y = x^2 の計算

1.2. プロットの作成

次に、plot 関数を使用してデータをプロットします。

plot(x, y);

1.3. グラフのカスタマイズ

ふゅか
ふゅか
グラフはただ描くだけじゃなくて、タイトルや軸ラベル、グリッドを追加して見やすくすることが大切だよ!

タイトル、軸ラベル、グリッドなどを追加して、グラフをカスタマイズできます。

title('y = x^2');
xlabel('x');
ylabel('y');
grid on;  % グリッド線を表示

 

1.4. 完全なコード

以下に、上記の内容をまとめた完全なコードを示します。

x = linspace(-10, 10, 100);  % xの範囲を設定
y = x.^2;  % y = x^2 の計算

plot(x, y);  % プロットの作成
title('y = x^2');  % タイトル
xlabel('x');  % x軸ラベル
ylabel('y');  % y軸ラベル
grid on;  % グリッドを表示

このコードをOctaveに入力すると、基本的な二次関数のグラフが表示されます。

他にも、hold on を使って複数のプロットを重ねる、legend で凡例を追加するなど、様々なカスタマイズが可能です。

2. 練習問題

2.1. 練習問題 1: 3次関数のプロット

  1. 次の3次関数 \( y = x^3 – 3x^2 + 2x – 1 \) を \( x = -3 \) から \( x = 3 \) の範囲でプロットしなさい。
  2. グラフのタイトルを「Cubic Function」とし、x軸とy軸のラベルをそれぞれ「x-axis」と「y-axis」と設定しなさい。
  3. プロットしたグラフにグリッド線を追加し、赤色の線で表示しなさい。

解答:

% xの範囲を定義
x = -3:0.1:3;

% 3次関数の計算
y = x.^3 - 3*x.^2 + 2*x - 1;

% グラフのプロット
plot(x, y, 'r')  % 赤色でプロット

% グラフのタイトルと軸ラベルの設定
title('Cubic Function')
xlabel('x-axis')
ylabel('y-axis')

% グリッド線を追加
grid on

 

x = -3:0.1:3; で \( x = -3 \) から \( x = 3 \) までの範囲を0.1刻みで設定しています。そして、y = x.^3 - 3*x.^2 + 2*x - 1; で、各xに対して3次関数の値を計算しています。plot(x, y, 'r') で、赤色でプロットを行っています。'r' は赤色を指定するオプションです。title, xlabel, ylabel でグラフのタイトルと軸ラベルを設定しています。grid on で、グラフにグリッド線を追加しています。

 

2.2. 練習問題 2: 円のプロット

  1. 半径が5の円を中心を原点にしてプロットしなさい。
  2. 円の方程式は \( x^2 + y^2 = 25 \) を使用し、x座標を -5 から 5 の範囲で設定し、それに対応する y座標を計算しなさい。
  3. グラフのタイトルを「Circle」とし、x軸とy軸のラベルを「x-axis」「y-axis」と設定し、円の外周を青色で表示しなさい。
  4. 軸を等尺に設定し、円が正しく表示されるようにしなさい。

解答:

% xの範囲を定義
x = -5:0.1:5;

% yの計算(正の平方根と負の平方根の2つ)
y1 = sqrt(25 - x.^2);
y2 = -sqrt(25 - x.^2);

% 円のプロット
plot(x, y1, 'b', x, y2, 'b')  % 青色でプロット

% グラフのタイトルと軸ラベルの設定
title('Circle')
xlabel('x-axis')
ylabel('y-axis')

% 軸の等尺設定
axis equal

% グリッド線を追加
grid on

解説:

x = -5:0.1:5; で \( x = -5 \) から \( x = 5 \) までの範囲を0.1刻みで設定しています。円の上半分と下半分に分けて座標を計算します。y1 = sqrt(25 - x.^2); で、円の上半分の y座標を計算しています。一方で、y2 = -sqrt(25 - x.^2); で、円の下半分の y座標を計算しています。plot(x, y1, 'b', x, y2, 'b') で、上半分と下半分を青色でプロットしています。'b' は青色を指定するオプションです。axis equal で、x軸とy軸の比率を等しくして、円が歪まないようにしています。title, xlabel, ylabel でグラフのタイトルと軸ラベルを設定し、grid on でグリッド線を追加しています。

PR