使用matlab求定积分函数解函数边界的定积分问题

matlab中求定积分一般用int函数

int(expr,var,a,b)是int函数求定积分的一般形式。其中expr为符号表达式,var为符号变量为积分变量,缺省为xa、b为积分上下限,可以是数字也可以是符号变量。

出錯时可以检查代码是否有如下问题:

1、是否有调用格式的错误,expr需要为符号表达式var需要为符号变量。(在旧的matlab版本中支持使用字符串作为表达式与积分变量,在新的版本中已经不支持了)

习惯性错误如 2x+1、xy、sinx、e^x、ln(x) 等等,这些都是错误的会直接报错。

3、有时候会碰到積分不可积的情况或者积分结果为特殊函数

本回答由电脑网络分类达人 汪雷 推荐

我不确定积分中的上下限是否能用syms类型的变量

你可以把其中的常数都换为实际对应的数字,然后试试能不能行

我这里积分的上下线没有用syms类型的变量呢Sh,Sfc是常数
这里的把常数代进去之后求出来嘚定积分还是个定积分!

本回答被提问者和网友采纳

不能这样定义, 去掉()

int的积分可以是定积分也可以是鈈定积分(即有没有积分上下限都可以积)可以得到解析的解,比如你对x^2积分得到的结果是1/3*x^3,这是通过解析的方法来解的如果int(x^2,x,1,2)得到的結果是7/3

quad是数值积分,它只能是定积分(就是有积分上下限的积分)它是通过simpson数值积分来求得的(并不是通过解析的方法得到解析解,再將上下限代入而是用小梯形的面积求和得到的)。如果f=inline('/usercenter?uid=ac2d05e79eb02">matlabfunc

int是符号解无任何误差,唯一问题是计算速度;

quad是数值解有计算精度限制,优點是总是能有一定的速度即总能在一定时间内给出一个一定精度的解。

你对这个回答的评价是

后面那个可能在中间处理中使用浮点数產生了误差

你对这个回答的评价是?

int的积分可以是定积分也可以是鈈定积分(即有没有积分上下限都可以积)可以得到解析的解,比如你对x^2积分得到的结果是1/3*x^3,这是通过解析的方法来解的如果int(x^2,x,1,2)得到的結果是7/3

quad是数值积分,它只能是定积分(就是有积分上下限的积分)它是通过simpson数值积分来求得的(并不是通过解析的方法得到解析解,再將上下限代入而是用小梯形的面积求和得到的)。如果f=inline('x.^2');quad(f,1,2)得到的结果是2.333333这个数并不是7/3

int是符号解,无任何误差唯一问题是计算速度;quad是數值解,有计算精度限制优点是总是能有一定的速度,即总能在一定时间内给出一个一定精度的解

加载中,请稍候......

我要回帖

更多关于 matlab求定积分函数 的文章

 

随机推荐