taylor series method expansion
Afficher commentaires plus anciens
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 commentaires
PJS KUMAR
le 19 Sep 2018
Walter Roberson
le 19 Sep 2018
... create df.m ?
There is no Mathworks provided function named df
PJS KUMAR
le 19 Sep 2018
Walter Roberson
le 19 Sep 2018
Use a function line,
function result = df(t, y)
... do appropriate calculation here
result = appropriate value to return
PJS KUMAR
le 19 Sep 2018
Torsten
le 19 Sep 2018
function D = df(t,y)
D(1) = 12*t^2;
D(2) = 24*t;
D(3) = 24;
D(4) = 0;
end
Walter Roberson
le 19 Sep 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
le 19 Sep 2018
Walter Roberson
le 19 Sep 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.
Réponses (1)
Walter Roberson
le 18 Sep 2018
0 votes
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.
Catégories
En savoir plus sur Calculus 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!