taylor series method expansion
Mostrar comentarios más antiguos
I am using the following code for taylor series
function [T,Y] = taylor(f,a,b,ya,m)
h = (b - a)/m;
T = zeros(1,m+1);
Y = zeros(1,m+1);
T(1) = a;
Y(1) = ya;
for j=1:m
tj = T(j);
yj = Y(j);
D = feval('df',tj,yj);
Y(j+1) = yj + h*(D(1)+h*(D(2)/2+h*(D(3)/6+h*D(4)/24)));
T(j+1) = a + h*j;
end
At command prompt i am giving the values as follows and getting error
>> syms x y;
>> f=4*x^3+1
f =
4*x^3 + 1
>> taylor(f,0,1,1.5,4)
Error using sym/taylor (line 99)
The value of 'x' is invalid. It must satisfy the function: @(x)isvector(x)&&isAllVars(x).
9 comentarios
PJS KUMAR
el 19 de Sept. de 2018
Walter Roberson
el 19 de Sept. de 2018
... create df.m ?
There is no Mathworks provided function named df
PJS KUMAR
el 19 de Sept. de 2018
Walter Roberson
el 19 de Sept. de 2018
Use a function line,
function result = df(t, y)
... do appropriate calculation here
result = appropriate value to return
PJS KUMAR
el 19 de Sept. de 2018
Torsten
el 19 de Sept. de 2018
function D = df(t,y)
D(1) = 12*t^2;
D(2) = 24*t;
D(3) = 24;
D(4) = 0;
end
Walter Roberson
el 19 de Sept. de 2018
I am not clear what the parameters of your taylor represent so I do understand the meaning of t and y being passed to df.
I can say you should probably not be mixing feval with syms.
PJS KUMAR
el 19 de Sept. de 2018
Walter Roberson
el 19 de Sept. de 2018
Well you could if you had a variable name to take the derivative with respect to, and you had some reason for D(1) being different from D(2), D(3) etc.
Respuestas (1)
Walter Roberson
el 18 de Sept. de 2018
0 votos
You are somehow invoking the symbolic toolbox taylor routine instead of your own. Make sure that you match file name with function name and that your path is correct to prioritize your own function.
Categorías
Más información sobre Calculus en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!