Register to reply

Help with Euler's Method in Matlab

by Deathcrush
Tags: euler's method, matlab, table
Share this thread:
Nov6-10, 03:18 PM
P: 40
1. The problem statement, all variables and given/known data
Well, I'm having problems with this script, I'm taking my first course on differential equations, and I am trying to write a script that approximates the values of the solution of a differential equation, and compares them to the exact solution using a table of values, it must also calculate the error, the problem is that I cannot make the table to appear using a column for each variable, instead, the values are spread horizontally and everything is pretty messed up, Its the first time I use Matlab and I might have a lot more mistakes, can anyone help me?

2. Relevant equations
the equations are pretty simple, they are in the bottom of the script I wrote

3. The attempt at a solution
this is what I wrote

function [t P] = Euler(t0,P0,L,N) % Nombrando la función y estableciendo los datos necesarios

Close all;
h=L./N; % estableciendo tamaño de paso
t=[]; P=[]; % t y P son vectores vacíos
P(1)=P0+h.*f(t0, P0); % Estableciendo los primeros componentes de t y P

for n=1:N-1
P(n+1)=P(n)+(h.*(f(t(n), P(n))));

Pexacta= SolucionExacta(t);

% Para imprimir la tabla

fprintf(' t Paproximada Pexacta error \n');
fprintf( '%10.5f %10.5f %10.5f %10.5f', t ,Paprox, Pexacta, error);

% Para graficar

hold on
plot(t, error);

function ret=f(t,P)%para insertar la ecuación diferencial que deseamos resolver por aproximación


function f=SolucionExacta(t) % Para establecer la solución aproximada y hacer comparación


Phys.Org News Partner Science news on
Wearable 4MM jetpack tested on speed, agility for runners (w/ Video)
How did evolution optimize circadian clocks?
Corn spots: Study finds important genes in defense response
Nov6-10, 04:16 PM
P: 273
The issue is you're printing arrays. You need to write your print statement in a loop, looping your values.
Nov6-10, 04:26 PM
P: 282
As viscousflow said you'll need a for loop to print the array. Might help to add a 'next line' command into your code \n


fprintf( '%10.5f %10.5f %10.5f %10.5f \n', t ,Paprox, Pexacta, error);

Nov6-10, 04:56 PM
P: 40
Help with Euler's Method in Matlab

It worked!, thanks a lot

Register to reply

Related Discussions
Euler's method/matlab Engineering, Comp Sci, & Technology Homework 2
Matlab Help Euler method Engineering, Comp Sci, & Technology Homework 10
Euler methond and the improved Euler method Differential Equations 4
Euler Method in MATLAB Mechanical Engineering 0
Euler method Differential Equations 12