Table with for loops taylor

조회 수: 2 (최근 30일)
Ursula Trigos-Raczkowski
Ursula Trigos-Raczkowski 2020년 1월 21일
댓글: Walter Roberson 2020년 1월 22일
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 ]
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. .
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
Ursula Trigos-Raczkowski
Ursula Trigos-Raczkowski 2020년 1월 22일
Okay, this is giving me the following error:
Error using symengine
Unable to convert expression into double array.
Error in sym/double (line 700)
Xstr = mupadmex('symobj::double', S.s, 0);
Error in testing (line 19)
T = table(transpose(N),transpose(double(tayterm)),transpose(ercol2), transpose(asymterm),transpose(ercol4));
Sindar
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
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
Ursula Trigos-Raczkowski
Ursula Trigos-Raczkowski 2020년 1월 22일
where? in the table? inside transpose? in the loop?
Walter Roberson
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 CenterFile Exchange에서 Calculus에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by