truncate at 10^-3

5 vues (au cours des 30 derniers jours)
diadalina
diadalina le 17 Mar 2023
Commenté : Matt J le 17 Mar 2023
i have this code i want to truncate the solution at 10^-3 at each iteraion can anyone help me
t0=0;
y0=1;
tn=1;
h=0.1;
t=[t0:h:tn];
f=@(t,y)(1+t-y)
f = function_handle with value:
@(t,y)(1+t-y)
f1=@(t,y)1
f1 = function_handle with value:
@(t,y)1
f2=@(t,y)-1
f2 = function_handle with value:
@(t,y)-1
n=length(t);
y_t=zeros(1,n);
y_t(1)=y0;
for i=1:n-1
y_t(i+1)=y_t(i)+h*f(t(i),y_t(i))+(h^2/2)*(f1(t(i),y_t(i))+f2(t(i),y_t(i))*f(t(i),y_t(i)));
end

Réponses (1)

Matt J
Matt J le 17 Mar 2023
Modifié(e) : Matt J le 17 Mar 2023
A few options:
x=round(pi,3)
x = 3.1420
y=floor(pi*1000)/1000
y = 3.1410
sprintf('%.3f',x)
ans = '3.142'
sprintf('%.3f',y)
ans = '3.141'
  4 commentaires
diadalina
diadalina le 17 Mar 2023
Modifié(e) : Matt J le 17 Mar 2023
i'm trying fo truncate at 10^3 y-tt is the trancted vector y-t is the vector without truncation but they are different i can't find where the problem
n=length(t);
y_tt=zeros(1,n);
y_tt(1)=fix(y0*10^3)/10^3;
for i=1:n-1
%y_tt(i)=fix(y_tt(i)*10^3)/10^3;
y_tt(i+1)=y_tt(i)+h*f(t(i),y_tt(i))+(fix(h^2/2*10^3)/10^3)*(f1(t(i),y_tt(i))+f2(t(i),y_tt(i))*f(t(i),y_tt(i)));
y_tt(i)=fix(y_tt(i+1)*10^3)/10^3;
end
y_t=zeros(1,n);
y_t(1)=y0;
for i=1:n-1
y_t(i+1)=y_t(i)+h*f(t(i),y_t(i))+h^2/2*(f1(t(i),y_t(i))+f2(t(i),y_t(i))*f(t(i),y_t(i)))
end
M=[y_tt',y_t']
this what matlab gives to me they are differents :
M =
1.004 1
1.019 1.005
1.041 1.019
1.07 1.0412
1.107 1.0708
1.149 1.1071
1.197 1.1494
1.249 1.1972
1.307 1.25
1.368 1.3072
1.3685 1.3685
can you help me please , i shoud find the same 3 firsts dicimals in y_tt and y_t
Matt J
Matt J le 17 Mar 2023
I imagine you would want to do this:
y_t(1)=y0;
for i=1:n-1
y_t(i+1)=y_t(i)+h*f(t(i),y_t(i))+h^2/2*(f1(t(i),y_t(i))+f2(t(i),y_t(i))*f(t(i),y_t(i)))
end
y_tt=fix(y_t*1e3)/1e3;
M=[y_tt',y_t']

Connectez-vous pour commenter.

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by