MATLAB中quad的误差问题y = @(s)sin(0.5*s.^2);quad(y, 0, 26.9);结果误差远远超过了缺省值,这是为什么?而如果将上限增减0.01,即:quad(y, 0, 26.89);或quad(y, 0, 26.91);误差就突然很小了,这到底是什么原因啊,百

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 22:33:17
MATLAB中quad的误差问题y = @(s)sin(0.5*s.^2);quad(y, 0, 26.9);结果误差远远超过了缺省值,这是为什么?而如果将上限增减0.01,即:quad(y, 0, 26.89);或quad(y, 0, 26.91);误差就突然很小了,这到底是什么原因啊,百

MATLAB中quad的误差问题y = @(s)sin(0.5*s.^2);quad(y, 0, 26.9);结果误差远远超过了缺省值,这是为什么?而如果将上限增减0.01,即:quad(y, 0, 26.89);或quad(y, 0, 26.91);误差就突然很小了,这到底是什么原因啊,百
MATLAB中quad的误差问题
y = @(s)sin(0.5*s.^2);
quad(y, 0, 26.9);
结果误差远远超过了缺省值,这是为什么?
而如果将上限增减0.01,即:
quad(y, 0, 26.89);
或quad(y, 0, 26.91);
误差就突然很小了,这到底是什么原因啊,百思不得其解,望各位高手指点一下啊,谢谢!
即使只增加0.001,
即quad(y, 0, 26.901);
就没误差了,但是加0.0001误差就产生了~

MATLAB中quad的误差问题y = @(s)sin(0.5*s.^2);quad(y, 0, 26.9);结果误差远远超过了缺省值,这是为什么?而如果将上限增减0.01,即:quad(y, 0, 26.89);或quad(y, 0, 26.91);误差就突然很小了,这到底是什么原因啊,百
你这个问题非常好,我测试了一下,发现quad(y, 0, 26.9)=-0.3410要计算1873次函数,而quad(y, 0, 26.89)=0.9222是1997次,quad(y, 0, 26.91)=0.9124是2017次.
不出意外的话quad(y, 0, 26.9)原本应该计算2007次左右才对.在这里出现了程序bug,要深入到quad的源代码中才能排除问题.
另,quad(y, 26.9, 26.89)=0.0038计算了函数13次,数值0.0038,基本正确;quad(y, 26.91, 26.9)=0.0061计算了函数13次,数值0.0061也基本正确.
因此有quad(y, 0, 26.9)=quad(y, 0, 26.89)-quad(y, 26.9, 26.89)=0.9184;或quad(y, 0, 26.9)=quad(y, 0, 26.91)+quad(y, 26.91, 26.9)=0.9185;或者取两个值得平均有quad(y, 0, 26.9)=0.91845.

MATLAB中quad的误差问题y = @(s)sin(0.5*s.^2);quad(y, 0, 26.9);结果误差远远超过了缺省值,这是为什么?而如果将上限增减0.01,即:quad(y, 0, 26.89);或quad(y, 0, 26.91);误差就突然很小了,这到底是什么原因啊,百 matlab中 积分函数quad使用问题 function y=density(x)xd=[-0.1:0.001:0.1];h=1.05*std(xd)*(length(xd)^(-1/5));y=1/(length(xd)*h)*sum(1/sqrt(2*pi)*exp(-(((x-xd)/h).^2)/2));end%%%quad(@density,0,1)%%运行上述语句发生错误 为什么?Error u matlab quad 函数代码中的y(1) ,跟数值积分分成的n个节点有什么关系,function [Q,fcnt] = quad(funfcn,a,b,tol,trace,varargin)%QUAD Numerically evaluate integral,adaptive Simpson quadrature.% Q = QUAD(FUN,A,B) tries to approximate the quad函数如何积带变量上下限的函数matlab中的积分问题 在问题‘matlab求带参数的积分,符号积分解不出,用数值积分怎么搞’中,如果用quad应该怎么做? matlab 关于inline的问题我不懂matlab,想用它求个积分,但遇到个很久结的问题,我想用matlab求函数y=x2(x的平方)的定积分,积分区间从1到2,下面是我的程序:format long syms x;w=x.^2;f=inline('w');a=quad(f,1, 关于matlab的quad函数y='4*a*sqrt(1-(c/a)^2*sin(x)^2))';true=quad(y,0,2*pi,10^-6);为什么输入这样的指令总是出现如下错误Error using ==> inline.subsref at 14Not enough inputs to inline function.Error in ==> quad at 77y = f(x,varargi matlab中 如何用quad函数积上下限带变量的函数 matlab中求定积分中int与quad的区别是什么?还有quad跟inline有什么关系么.而不是拷贝别人的 matlab中,定义匿名函数时有嵌套看匿名函数的嵌套时,看到这一句,不懂myfhd=@(a)(quad(@(x)(a.*x.^2+1./a^2),0,1)我知道,quad(fun,a,b)是积分函数,前一个@也明白,第二个@怎么回事?如果写成myfhd=@(a)(quad(a.*x.^2+1 变上限积分的matlab实现!如图所示的函数,该如何在matlab中实现呢!clc,clearg=inline('xb/c');i=0;for x=0:0.05:5; i=i+1; f=@(y)F(y); Q(i)=quad(f,0,g(x)); endplot(0:0.05:5,pi) 兰木达是自变量,π是因变量, matlab simpson求积问题首先建立了fun.mfunction y=fun(x)a=15575; c=972.5; y=62300*sqrt(1-(c/a)^2*sin(x)^2)然后运行quad(‘fun’,0,pi/2)显示quad(‘fun’,0,pi/2)|Error:Missing variable or function. Matlab问题!用辛普森公式求数值积分..f=@(x)2/(1+x.^2);I=quad(f,-1,1)出错:Error using ==> mrdivideMatrix dimensions must agree.Error in ==> quad at 62y = f(x,varargin{:});------------------------------------------------------------------- 如何在符号函数中表达分段函数?我想写一个符号函数 y(h):当 h>a 时,y(h)=y1(h);当 h我用matlab编写程序,定义了好几个自变量h的函数,如x(h),y(h),然后准备对x(h)*y(h)用quad积分,所以将h定义为符号 matlab的积分问题我用了两种方式来求积分,但我不太了解两种方法的异同.第一种function f=hcurve(t)f=将代码存为“hcurve.m”>> len1=quad(@hcurve,0,3*pi);>> len2=quad(@hcurve,0,3*pi);显示>> len1len1 =17.2220>> len2len2 初学者一个关于MATLAB的问题MATLAB7.0 求积分quad函数 调用形式s=quad('fname',a,b,tol,trace,p1,p2,.)其中trace是控制是否制图的而tol是控制精度我想出图,精度采用默认值,请问参数应该如何设置,也就是如 matlab中对于 f=1/(3*((1-x)*x^0.5)^2.2该函数的数值积分问题>> quad('1/(3*((1-x)*x^0.5)^2.2)',1,10)Error using ==> inlineeval at 15Error in inline expression ==> 1/(3*((1-x)*x^0.5)^2.2)Matrix must be square.Error in ==> inline.subsref at 27 matlab创建函数的问题f1=@(x) x;f2=@(x) x^2;怎么样创建一个f (x)函数,使f(x)=f1(x)*f2(x).请问具体的表达式使运算quad(f,0,1);能够进行.