【问题标题】:Integrating and Plotting Polynomials in MATLAB在 MATLAB 中积分和绘制多项式
【发布时间】:2014-04-15 16:00:19
【问题描述】:

我有一个给定多项式的点。我想积分,最好使用定积分,但我相信使用 polyint 的语法如果没有一些操作,这是不可能的。无论如何,如果我能把它整合起来,我就可以从那里拿走它。

 dpt=coeffvalues(fitresult{4});
 ppval=polyval(dpt,xx)

 cpdt=coeffvalues(fitresult{2});
 cpval=polyval(cpdt,xx)

 pint=(ppval./cpval);
 intp=polyint(pint);

我尝试了几种方法...一种是拟合品脱曲线的结果,找到系数,然后使用 polyint 函数。但无论我采用哪种方式,我总是会遇到同样的三个错误:

 Error using  ./ 
 Matrix dimensions must agree.

 Error in polyint (line 16) 
 pi = [p./(length(p):-1:1) k];

 Error in ptintegrate97 (line 61)
 intp=polyint(ptint);

通常它是导致问题的第一个错误,但是当我执行 size(ppval) 和 size(cpval) 时,它们都是 837x1。所以我有点迷路了。如果这是一个愚蠢的问题,我是 MATLAB 的新手。

【问题讨论】:

    标签: matlab polynomial-math


    【解决方案1】:

    polyint 在这里不起作用,因为它需要一系列多项式系数,但是您提供的一系列数字是先前计算的输出,并且与任何多项式系数都没有关系。你得到的错误是因为pint 的形状是错误的。但即使它是正确的,你也不会得到你想要的答案。

    您可以根据需要选择以数字方式集成pint。如果您的点之间的步长足够小,则对pint 值使用辛普森规则当然可以让您得到正确的答案。或者,您可以返回进行符号多项式除法以获得绝对积分。我不确定你到底在追求什么,或者你的要求是什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-29
      • 1970-01-01
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多