是切比雪夫函数 T1(X)=0 T1(X)=X
matlab切比雪夫多项式代码
答案:2 悬赏:60
解决时间 2021-04-09 21:09
- 提问者网友:依靠
- 2021-04-09 15:42
要求计算chebeval(x,N) Tn 当n
是切比雪夫函数 T1(X)=0 T1(X)=X
是切比雪夫函数 T1(X)=0 T1(X)=X
最佳答案
- 二级知识专家网友:瘾与深巷
- 2021-04-09 16:40
用切比雪夫多项式逼近已知函数 function f = Chebyshev(y,k,x0) syms t; T(1:k+1) = t; T(1) = 1; T(2) = t; c(1:k+1) = 0.0; c(1)=int(subs(y,findsym(sym(y)),sym('t'))*T(1)/sqrt(1-t^2),t,-1,1)/pi; c(2)=2*int(subs(y,findsym(sym(y)),sym('t'))*T(2)/sqrt(1-t^2),t,-1,1)/pi; f = c(1)+c(2)*t; for i=3:k+1 T(i) = 2*t*T(i-1)-T(i-2); c(i) = 2*int(subs(y,findsym(sym(y)),sym('t'))*T(i)/sqrt(1-t^2),t,-1,1)/2; f = f + c(i)*T(i); f = vpa(f,6); if(i==k+1) if(nargin == 3) f = subs(f,'t',x0); else f = vpa(f,6); end end end
全部回答
- 1楼网友:猖狂的痴情人
- 2021-04-09 17:06
程序没有问题,可以运行,只是编写得有些繁琐,且结果并未化简,将m文件修改如下:
function f=chebyshev(y,k,x0)syms t;t(1)=sym(1);t(2)=t;c(1)=int(subs(y,findsym(sym(y)),t)*t(1)/sqrt(1-t^2),t,-1,1)/pi;c(2)=2*int(subs(y,findsym(sym(y)),t)*t(2)/sqrt(1-t^2),t,-1,1)/pi;f=c(1)+c(2)*t;for i=3:k+1 t(i)=2*t*t(i-1)-t(i-2); c(i)=2*int(subs(y,findsym(sym(y)),t)*t(i)/sqrt(1-t^2),t,-1,1)/pi; f=f+c(i)*t(i); f=simple(vpa(f,6)); if(i==k+1) if(nargin==3) f=simple(vpa(subs(f,'t',x0),6)); end endend
输入:clearf=chebyshev('1/(2-x)',6)
输出:f = .500477+.258941*t+.117457*t^2+.248284e-1*t^3+.483832e-1*t^4+.509296e-1*t^5
输入:clearf=chebyshev('1/(2-x)',6,'z')
输出:f = .500477+.258941*z+.117457*z^2+.248284e-1*z^3+.483832e-1*z^4+.509296e-1*z^5
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯