1

オイラー法を介して微分方程式を近似するための次の matlab コードがあります。

% Eulermethod

a=0;
b=0.6;
Steps=6;
dt=(b-a)/Steps;
x=zeros(Steps+1,1);

x(1,1)=1;
y=zeros(Steps+1,1);

for i=1:Steps
    x(i+1,1)=x(i,1)+dt*(x(i,1)*x(i,1)+1);
end
plot(x)

1 つのプロットでステップのいくつかの異なる値のソリューション プロットをプロットし、x 軸をたとえば 1 から 100 000 などではなく 0 から 0.6 にしたいと考えています。これは可能ですか?

4

2 に答える 2

2

コマンドを使用するhold onと、同じ図に複数のプロットを作成できます。x同様に、データをとベクトルに分割する場合、 にベクトルを1 つではなくy2 つ渡すことで、それらを相互にプロットできます。plot例えば

figure
hold on
for i=1:m
    x = [];
    y = [];
    %% code to populate your vectors
    plot(x,y)
end

すべてのプロットが同じ図に同時に表示されるはずです。0 ~ 0.6 の等間隔の要素でx構成する場合は、次のコマンドを使用できます。nlinspace

 x = linspace(0.0,0.6,n);

プロットを区別するために、追加のパラメーターを関数に渡すことができます。たとえば

 plot(x,y,'r+')

データを一連の赤い+記号としてプロットします。

于 2012-11-12T14:01:18.137 に答える
0

プロットはより多くの引数を取ることができます: plot(x_axis,values, modifiers ); x 軸が M 要素のベクトルの場合、値は MxN 要素の行列にすることができ、それぞれが個別の色で描画されます。

于 2012-11-12T14:02:35.903 に答える