使用积分时出错:A 和 B 必须是浮点标量
Error using integral: A and B must be floating-point scalars
我要求积分的简单例子
a = max(solve(x^3 - 2*x^2 + x ==0 , x));
fun = @(x) exp(-x.^2).*log(x).^2;
q = integral(fun,0,a)
错误是
Error using integral (line 85)
A and B must be floating-point scalars.
有什么建议吗?我积分的下限一定是函数,不是数字
通过将鼠标悬停在断点上或删除 ; 检查 a 的值从行尾开始打印 a。根据错误,a 不是标量浮点数。您可能需要另一个 max() 或 double() 语句来将向量转换为单个值。
Matlab 命令solve
returns 符号结果。 integral
只接受数字输入。使用 double
将符号转换为数字。正如您现在编写的代码,max
应该会因符号输入而引发错误。以下作品。
syms x;
a = max(double(solve(x^3 - 2*x^2 + x)));
fun = @(x) exp(-x.^2).*log(x).^2;
q = integral(fun,0,a)
输出:1.9331
。
the lower limit of my integral must be a function, not a number
integral
是数值积分例程;积分的限制必须是数字。
我要求积分的简单例子
a = max(solve(x^3 - 2*x^2 + x ==0 , x));
fun = @(x) exp(-x.^2).*log(x).^2;
q = integral(fun,0,a)
错误是
Error using integral (line 85)
A and B must be floating-point scalars.
有什么建议吗?我积分的下限一定是函数,不是数字
通过将鼠标悬停在断点上或删除 ; 检查 a 的值从行尾开始打印 a。根据错误,a 不是标量浮点数。您可能需要另一个 max() 或 double() 语句来将向量转换为单个值。
Matlab 命令solve
returns 符号结果。 integral
只接受数字输入。使用 double
将符号转换为数字。正如您现在编写的代码,max
应该会因符号输入而引发错误。以下作品。
syms x;
a = max(double(solve(x^3 - 2*x^2 + x)));
fun = @(x) exp(-x.^2).*log(x).^2;
q = integral(fun,0,a)
输出:1.9331
。
the lower limit of my integral must be a function, not a number
integral
是数值积分例程;积分的限制必须是数字。