taylor series method expansion
Show older comments
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 Comments
PJS KUMAR
on 19 Sep 2018
Walter Roberson
on 19 Sep 2018
... create df.m ?
There is no Mathworks provided function named df
PJS KUMAR
on 19 Sep 2018
Walter Roberson
on 19 Sep 2018
Use a function line,
function result = df(t, y)
... do appropriate calculation here
result = appropriate value to return
PJS KUMAR
on 19 Sep 2018
Torsten
on 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
on 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
on 19 Sep 2018
Walter Roberson
on 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.
Answers (1)
Walter Roberson
on 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.
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!