24小时热门版块排行榜    

查看: 1867  |  回复: 0

likuihei

金虫 (正式写手)

[求助] 切比雪夫函数逼近的问题

本人是初学者,一本教材上有这个函数的代码,但是在matlaB中运行会出问题,请高手指点一下
代码是
function f = Chebyshev(y,k,x0)
%用切比雪夫多项式逼近已知函数
%已知函数:y
%逼近已知函数所需项数:k
%逼近点的x坐标:x0
%求得的切比雪夫逼近多项式或在x0处的逼近值:f

syms t k;
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
输入后显示的错误是:
??? Error using ==> sym.colon at 27
Cannot compute the number of steps from 1 to k + 1 by 1.

Error in ==> Chebyshev at 9
T(1:1:k+1) = t;
求高手指点
回复此楼
每天重复同样的事情,需要很大的耐性
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 likuihei 的主题更新
信息提示
请填处理意见