我想使用函数的输出作为构建多项式的函数的输入:
下面是我的代码:
function c = interpolation(x, y)
n = length(x);
V = ones(n);
for j = 2:n
V(:,j) = x.*V(:,j-1);
end
c = V \ y;
disp(V)
for i = 0:n-1
fprintf('c%d= %.3f\n', i, c(i+1));
end
polynome(c);
function p = polynome(x)
n = length(x);
for l= 0:n-1
polynome = polynome * x^l;
end
end第一个函数单独起作用。这意味着,如果我从第13行到末尾进行注释,并获得c值,那么我的代码就可以正常工作,c值的数字取决于开头输入的x向量的长度。
我想用c值来构建一个形式为:p(x) = c0 + c^1*x1 + c2^x2 + .... + c(n-1)^x(n-1)的多项式,并绘制该多项式,通过两个向量作为函数插值的输入,在开头给出点以及xi,yi。
有人能帮帮我吗?
发布于 2015-11-11 05:53:36
创建一个单独的函数多项式,例如
function y=polynome(x,c)
y=sum(c.*x.^(0:length(c)-1));或者只是使用
y=sum(c.*x.^(0:length(c)-1)); 来计算系数c的多项式。
如果你有多个x的值,例如
x=[0:.1:3]';
y=repmat(x,1,numel(c)).^repmat((0:numel(c)-1),numel(x),1)*c';应该会给出多项式的值
https://stackoverflow.com/questions/33596486
复制相似问题