matlab中求定积分中 int 与quad的区别?例如:被积函数为cos(15x),积分下上限分别为0,3*pi/2用int==>syms x;a1=int('cos(15*x)',x,0,3*pi/2);用quad=>f=inline('cos(15*x)','x');quad(f,0,3*pi/2);上一个答案为1/15,后者答案为:0.0
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/23 06:00:55
matlab中求定积分中 int 与quad的区别?例如:被积函数为cos(15x),积分下上限分别为0,3*pi/2用int==>syms x;a1=int('cos(15*x)',x,0,3*pi/2);用quad=>f=inline('cos(15*x)','x');quad(f,0,3*pi/2);上一个答案为1/15,后者答案为:0.0
matlab中求定积分中 int 与quad的区别?
例如:被积函数为cos(15x),积分下上限分别为0,3*pi/2
用int==>syms x;a1=int('cos(15*x)',x,0,3*pi/2);
用quad=>f=inline('cos(15*x)','x');quad(f,0,3*pi/2);
上一个答案为1/15,后者答案为:0.06666665694139
1/15约等于:0.06666666666667
不晓得哪个积分更为精确?
matlab中求定积分中 int 与quad的区别?例如:被积函数为cos(15x),积分下上限分别为0,3*pi/2用int==>syms x;a1=int('cos(15*x)',x,0,3*pi/2);用quad=>f=inline('cos(15*x)','x');quad(f,0,3*pi/2);上一个答案为1/15,后者答案为:0.0
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
分数还是小数更准确呢?你应当知道吧.
准确答案是1/15
后面那个可能在中间处理中使用浮点数产生了误差
int是符号解,无任何误差,唯一问题是计算速度;
quad是数值解,有计算精度限制,优点是总是能有一定的速度,即总能在一定时间内给出一个一定精度的解。