資源簡介
用Eular法解常微分方程組的數(shù)值解,使用了細(xì)胞數(shù)組,代碼簡潔,除注釋外的有效代碼只有二十行左右。(幾年前上傳的程序了,當(dāng)時要20積分,現(xiàn)在為大家降到5個積分)
代碼片段和文件信息
function?y=Eular(funcsabny0)
%用Eular法解常微分方程組的數(shù)值解,其中funcs為方程組表達(dá)式的右側(cè)項
%如dy1/dx=y1+2*y2+3*y3,則取等式后面項
%其形式是一個細(xì)胞數(shù)組
%ab為區(qū)間左右端點(diǎn)
%n為節(jié)點(diǎn)總數(shù)
%y0為方程組在自變量為a時的取值形式為一行向量或一列向量
m=max(size(funcs));
if?m~=max(size(y0));
????error(‘方程組個數(shù)與初值個數(shù)不匹配‘);
end
for?i=1:m
????funcs{i}=inline(funcs{i});
end
y=zeros(nm);
y(1:)
評論
共有 條評論