Why is my error not exactly 0
Afficher commentaires plus anciens
I wrote a very simple upwind difference scheme for the equation
with
, but for some reason the error is not exactly 0.
%u_t+u_x=0
space=[0.01,0.005,0.0025,0.00125];
error=zeros(size(space));
for j=1:size(space,2)
dx=space(j);
dt=dx;
u=sin(0:dx:1);
n=size(u,2);
T=1/dt;
for i=1:1
ul=[sin(-dx-dt*(i-1)),u(1:(n-1))];
u=(1-dt/dx)*u+ul*dt/dx;
end
error(j)=norm(u-sin((0:dx:1)-dt),1)/n;
end
Réponses (1)
Image Analyst
le 13 Avr 2024
0 votes
error is a built-in function. You must not use it as a name for your variable.
Does the FAQ answer your question?
Catégories
En savoir plus sur Boundary Conditions dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!