警告:无法找到显式积分。

问题描述 投票:0回答:1

我正在尝试进行简单的集成,我已附上代码。你能帮我看看我在代码中做错了什么吗?

function [f_value] = SurfArea ()

        a=[1.78E-05 3.39E-04 0.0104 -0.05791 -16.36];

        R = 30;

        da = polyder(a);

        syms x

        integrand = int((x*sqrt(1+1/(poly2sym(da)).^2)),-R,0);

        f_value = sym2poly(integrand);

end

我想删除警告,请帮忙。

matlab warnings explicit symbolic-integration
1个回答
0
投票

如果您发出命令

>> [~,ID] = lastwarn

警告发出后,您将获得相关警告ID以供使用。您可以像这样使用它:

%// Force the warning off
warnstate = warning('off', 'symbolic:sym:int:warnmsg1');

%// ... do the integration etc.

%// Switch warning back into original state
warning(warnstate);

顺便说一句:

  • 您似乎想返回一个多项式系数向量。您期望该积分如何得出多项式?!
  • 如果您想要数字结果,请查看
    integral
    (R2013) 或
    quadgk
    (比使用符号工具箱<=R2012) instead. It's 快很多
© www.soinside.com 2019 - 2024. All rights reserved.