如何使用函数的输出变量作为输入,其他功能

问题描述:

我想用一个函数的输出作为输入,对于建立一个多项式函数:如何使用函数的输出变量作为输入,其他功能

这里是我的代码:

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值,它们的数量取决于输入的x向量的长度。

我想使用这个c值来构建这种形式的多项式:p(x) = c0 + c^1*x1 + c2^x2 + .... + c(n-1)^x(n-1)并且绘制该多项式,其中xi,yi在开始时通过2个向量给出,作为函数插值的输入。

有人可以帮我吗?

作出单独的函数多项式例如

function y=polynome(x,c) 
    y=sum(c.*x.^(0:length(c)-1)); 

或只使用

y=sum(c.*x.^(0:length(c)-1)); 

计算polynome为您系数c。

如果您有多个x值,例如

x=[0:.1:3]'; 

y=repmat(x,1,numel(c)).^repmat((0:numel(c)-1),numel(x),1)*c'; 

应该给你polynome值