Table with for loops taylor
2 次查看(过去 30 天)
显示 更早的评论
Hi
I want to create a table
column 1 will be the value of n from 1 to 20 n= 1, 2, 3, ... , 20
column 2 will be the nth (respectively) taylor approximation of a function [ so n terms of a taylor approximation of
]
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/264780/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/264798/image.png)
column 3 will be the error of this taylor approximation compared to the real value of erf(2) so [erf(2)-nth term taylor approx]
column 4 will be a different series approximation of the same function erf(2) [asymptotic series
] where the double !! means only odd numbers, i.e.
.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/264782/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/264783/image.png)
column 5 will be the error of this second approximation, i.e. [erf(2) minus my n-term asymptotic approximation]
Below is my try. my tayterm doesn't work, neither does my asymterm. The values given are incorrect.
:( thank you.
i would also like gridlines on the table...not sure how to do that.
format long
syms k x t X
%tayt =[taylor(erf(x),x,'Order',2),taylor(erf(x),x,'Order',3),taylor(erf(x),x,'Order',4),taylor(erf(x),x,'Order',5),taylor(erf(x),x,'Order',6),taylor(erf(x),x,'Order',7),taylor(erf(x),x,'Order',8),taylor(erf(x),x,'Order',9),taylor(erf(x),x,'Order',10),taylor(erf(x),x,'Order',11),taylor(erf(x),x,'Order',12),taylor(erf(x),x,'Order',13),taylor(erf(x),x,'Order',14),taylor(erf(x),x,'Order',15),taylor(erf(x),x,'Order',16),taylor(erf(x),x,'Order',17),taylor(erf(x),x,'Order',18),taylor(erf(x),x,'Order',19)];
for n=1:18
N(n)=n;
tayterm(n)=taylor(erf(x),x,'Order',n);
ercol2(n) = erf(2)-tayterm(n);
asymterm(n)=1-2/sqrt(pi)*exp(-2^2)*(symsum((-1)^k*x^(2*k+1)/((2*k+1)*factorial(k)),k,0,n-1));
ercol4(n) = erf(2)-asymterm(n);
end
format long
T = table(transpose(N),transpose(double(tayterm)),transpose(ercol2), transpose(asymterm),transpose(ercol4));
T.Properties.VariableNames = {'n' 'n-term Taylor Approx for erf(2)' 'Error in col 2' 'n-term asymptotic approx of erf(2)' 'Error in col 4'}
7 个评论
Sindar
2020-1-22
You are trying to turn a symbolic expression into a number. That doesn't work. You can either leave the symbolic expression alone or evaluate it for a particular input (using subs), depending on what you want in the table
采纳的回答
Walter Roberson
2020-1-21
syms X
tayterm(n) = taylor(erf(X),X,x,'Order',n)
You always need to taylor() a function, not a constant.
5 个评论
Walter Roberson
2020-1-22
syms t
tayterm(n) = subs( taylor(erf(t),t,0,'Order',n), t, x );
That would taylor around 0 but evaluate at 2
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!