Why is my error not exactly 0
Ältere Kommentare anzeigen
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
Antworten (1)
Image Analyst
am 13 Apr. 2024
0 Stimmen
error is a built-in function. You must not use it as a name for your variable.
Does the FAQ answer your question?
Kategorien
Mehr zu PDE Solvers finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!