0

最初の点y(t0)=y0を入力としてy'(t)= a * y(t)+ bの形式で一次常微分方程式を取り、解の最初の15点を計算するMATLAB関数を作成する必要があります。 。また、最初の15ポイントの解曲線を描画します。そして、解きたい方程式は; y'(t)= 4 * y(t)+1であり、初期点はy(0)=0です。

この関数について、次のコードを記述しましたが、これによりyに関するエラーが発生します。オイラー関数を正しく実装するにはどうすればよいですか?また、解曲線をどのように描くことができるかを判断できませんでした。

function E=euler(f,y)
%Input - f is the function entered as a string 'f'
% - a and b are the left and right endpoints
% - ya is the initial condition y(a)
% - M is the number of steps
%Output - E=[T' Y'] where T is the vector of abscissas and
% Y is the vector of ordinates
h=0.1;
y(0)=0;
for j=0:15
Y(j+1)=Y(j)+h*feval(4*(y(t)+1));
end
4

1 に答える 1

1

パッチ:

h = 0.1;
y(1) = 0;
for j = 1:16
    Y(j + 1) = Y(j) + h * feval(4 * (y(t - 1) + 1));
end

数学的な部分についてはよくわかりませんが、インデックスは「1」から開始する必要があります。それ以外の場合、たとえば C では、「0」をインデックスとして使用してはなりません。

于 2012-12-16T23:53:26.750 に答える