MATLABで等しい軸を持つ2つのサブプロットを作成する方法


% データの作成
x = 0:0.1:10;  % x軸のデータ
y1 = sin(x);   % サブプロット1のデータ
y2 = cos(x);   % サブプロット2のデータ
% サブプロットの作成
figure;
% サブプロット1
subplot(2,1,1);  % 2行1列のグリッドで、1番目のサブプロットを作成
plot(x, y1);
title('サブプロット1');
xlabel('x');
ylabel('y');
% サブプロット2
subplot(2,1,2);  % 2行1列のグリッドで、2番目のサブプロットを作成
plot(x, y2);
title('サブプロット2');
xlabel('x');
ylabel('y');
% 軸の設定
ax1 = gca;  % サブプロット1の軸を取得
ax2 = gca;  % サブプロット2の軸を取得
linkaxes([ax1, ax2], 'xy');  % x軸とy軸をリンク
% グラフの表示
grid on;

このコードでは、subplot関数を使用して2つのサブプロットを作成します。subplot関数の引数には、グリッドの行数、列数、および現在のサブプロットのインデックスを指定します。この例では、2行1列のグリッドで、1番目のサブプロットと2番目のサブプロットを作成しています。

各サブプロットには、plot関数を使用してデータをプロットし、titlexlabelylabel関数を使用して軸ラベルやタイトルを設定します。

最後に、linkaxes関数を使用して、2つのサブプロットの軸をリンクします。これにより、x軸とy軸の範囲が自動的に同期され、等しい軸を持つ2つのグラフが表示されます。