0
這個代碼是找到歐拉法MATLAB的實施歐拉解決微分法方程
function [x,y]=euler_forward(f,xinit,yinit,xfinal,n)
h=(xfinal-xinit)/n;
% Initialization of x and y as column vectors
x=[xinit zeros(1,n)]; y=[yinit zeros(1,n)];
% Calculation of x and y
for i=1:n
x(i+1)=x(i)+h;
y(i+1)=y(i)+h*f(x(i),y(i));
end
end`
'[email protected](x,y) (1+2*x)*sqrt(y);
% Calculate exact solution
[email protected](x,y) (1+2*x)*sqrt(y);
xe=[0:0.01:1];
ye=g(xe);
[x1,y1]=euler_forward(f,0,1,1,4);
% Plot
plot(xe,ye,'k-',x1,y1,'k-.')
xlabel('x')
ylabel('y')
legend('Analytical','Forward')
% Estimate errors
error1=['Forward error: ' num2str(-100*(ye(end)-y1(end))/ye(end)) '%'];
error={error1}
所以我有這個迄今爲止的問題和它提供了一個錯誤說y不定義。我該怎麼辦?
請在此添加語言標籤。 – csmckelvey 2014-12-06 01:10:22
@Takendarkk:[標籤:matlab] *是一種語言標籤:「MATLAB®是一種用於數值計算,可視化和編程的高級語言和交互式環境...」(來自其主頁)。 – usr2564301 2014-12-07 00:36:43