为什么在评估chebyshev点的runge函数时会得到一个?

时间:2018-03-09 03:25:22

标签: matlab math polynomial-math

我无法理解为什么我的输出y都是1。请帮忙,我已经盯着这几个小时了。它在另一个类似的程序中完美地工作,我选择等间距的点。

function [t,y] = chebyshev(n)

format long

for k = 1:1:n
    r = ((2*k - 1)*pi)/2*n;
    t(k,1) = cos(r);
end

for j = 1:1:n
    y(j,1) = (1/(1 + (25*(t(j,1)^2))));
end
figure(3)
plot(t,y);

2 个答案:

答案 0 :(得分:0)

您在第一个循环中乘以n;你需要用括号括起分母:

function [t,y] = chebyshev(n)

format long

for k = 1:1:n
    r = ((2*k - 1)*pi)/(2*n);
    t(k,1) = cos(r);
end

for j = 1:1:n
    y(j,1) = (1/(1 + (25*(t(j,1)^2))));
end
figure(3)
plot(t,y);

答案 1 :(得分:-1)

显然我需要使用cosd()而不是cos()。 好。