繁体   English   中英

如何使用一个函数的输出变量作为另一个函数的输入

[英]How to use output variables of a function as input for another function

我想将函数的输出用作构建多项式的函数的输入:

这是我的代码:

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)并绘制该多项式,并在开始时通过2个向量给出xi,yi点作为函数插值的输入。

有人可以帮我吗?

制作一个单独的函数多项式,例如

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';

应该给你polynome的价值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM