积分上下限含有反函数用matlab 求定积分怎样...

matlab如何求分段函数的积分?
比如说:y=@(x)x^2*double(x&0)+x*double(x&0)这个分段函数(或者用if写在脚本里都行),如何求得积分?这里是指不需要手动分两段积分,用一个命令直接求此函数积分。
integral函数的用法可以看文档被积分函数需要可接受向量化输入:&& integral(@(x)x.^2.*(x&0)+x.*(x&0),-1,1)
已有帐号?
无法登录?
社交帐号登录标准正态分布的Q函数用 matlab 怎么写标准正态分布从x到无穷大积分 也就是Q函数 用matlab怎么写吖 还有它的反函数怎么写
azHB48TJ66
Matlab中本身有Q函数,即qfunc() 其反函数是qfuncinv()--------------------------------help qfuncqfuncQ function Syntax y = qfunc(x)Descriptiony = qfunc(x) is one minus the cumulative distribution function of the standardized normal random variable,evaluated at each element of the real array x.For a scalar x,the formula isThe Q function is related to the complementary error function,erfc,according toExamplesThe example below computes the Q function on a matrix,element by element.x = [0 1 2; 3 4 5];format short e % Switch to floating point format for displays.y = qfunc(x)format % Return to default format for displays.The output is below.y =5...1... --------------------------------------------help qfuncinvqfuncinvInverse Q function Syntax y = qfuncinv(x)Descriptiony = qfuncinv(x) returns the argument of the Q function at which the Q function's value is x.The input x must be a real array with elements between 0 and 1,inclusive.For a scalar x,the Q function is one minus the cumulative distribution function of the standardized normal random variable,evaluated at x.The Q function is defined asThe Q function is related to the complementary error function,erfc,according toExamplesThe example below illustrates the inverse relationship between qfunc and qfuncinv.x1 = [0 1 2; 3 4 5];y1 = qfuncinv(qfunc(x1)) % Invert qfunc to recover x1.x2 = 0:.2:1;y2 = qfunc(qfuncinv(x2)) % Invert qfuncinv to recover x2.The output is below.y1 =0 1 23 4 5y2 =0 0.0 0.0 1.0000
为您推荐:
其他类似问题
扫描下载二维码Matlab积分函数_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Matlab积分函数
上传于||文档简介
&&m​a​t​l​a​b​中​积​分​函​数​的​用​法​,​自​己​整​理​的​。
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩8页未读,继续阅读
你可能喜欢matlab数值积分函数
一.相关函数:
int(f,v,a,b)
trapz(x,y)%梯形法沿列方向求函数Y关于自变量X的积分
cumtrapz(x,y)%梯形法沿列方向求函数Y关于自变量X的累计积分
quad(fun,a,b,tol)%采用递推自适应Simpson法计算积分
quad1(fun,a,b,tol)%采用递推自适应Lobatto法求数值积分
dbquad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)%二重(闭型)数值积分指令
triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)%三重(闭型)数值积分指令
  二.示例:
  例1:计算f(t)=exp(-t^2)在[0,1]上的定积分
  本例演示:计算定积分常用方法
int(exp(-x^2),0,1)
1/2*erf(1)*pi^(1/2) %erf为误差函数
&&vpa(int(exp(-x^2),0,1))
&&d=0.001;x=0:d:1;d*trapz(exp(-x.^2))
  0.7468
&&quad('exp(-x.^2)',0,1,1e-8)
  0.7468
  例2:计算f(t)=1/log(t)在[0,x],0&x&1上的积分
  注意:被积函数于x=0无义,在x--&1^-处为负无穷
  本例演示:用特殊函数表示的积分结果,如何用mfun指令
ft=1/log(t);
sx=int(ft,t,0,x) 
-Ei(1,-log(x)) %完全椭圆函数
x=0.5:0.1:0.9
sx_n=-mfun('Ei',1,-log(x))       
  0.5000  0.6000  0.7000  0.8000  0.9000
 -0.3787 -0.5469 -0.7809 -1.1340 -1.7758 
  (3)%图示被函数和积分函数
ezplot('1/log(t)',[0.1,0.9])      
plot(x,sx_n,'LineWidth',3)        
Char1='1/ln(t)';
Char2='{int_0^x}1/ln(t)dt';    
title([Char1,' and  ',Char2])  
legend(Char1,Char2,'Location','SouthWest') 
  例3:计算f(t)=exp(-sin(t))在[0,4]上的定积分
  注意:本题被函数之原函数无"封闭解析表达式",符号计算无法解题!
  本例演示:符号计算有限性
  (1)符号计算解法
ft=exp(-sin(t))
sx=int(ft,t,0,4) 
ft=exp(-sin(t))
Warning:Explicitintegralcouldnotbefound.
&Insym.intat58
int(exp(-sin(t)),t=0..4) 
  (2)数值计算解法
dt=0.05;          %采样间隔      
t=0:dt:4;           %数值计算适合于有限区间上,取有限个采样点       
Ft=exp(-sin(t));    
Sx=dt*cumtrapz(Ft);      %计算区间内曲线下图形面积,为小矩形面积累加得
Sx(end)        %所求定积分值
                %图示
plot(t,Ft,'*r','MarkerSize',4)
plot(t,Sx,'.k','MarkerSize',15)
xlabel('x')
legend('Ft','Sx')
  例4:绘制积分图形,y=2/3*exp(-t/2)*cos(sqrt(3)/2*t);积分s(x)=int(y,t,0,x)于[0,4*pi]上
y=2/3*exp(-t/2)*cos(sqrt(3)/2*t);  
s=subs(int(y,t,0,tao),tao,t);  %获得积分函数      
subplot(2,1,1)              
                      %
ezplot(y,[0,4*pi]),ylim([-0.2,0.7]) %单变量符号函数可视化,多变量用ezsurf
gridon                  
subplot(2,1,2)              
ezplot(s,[0,4*pi])
title('s=inty(t)dt')
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.符号变量与符号表达式
%%%%%%%%%%%%%%%%%%%%%%%%%%%
% f =sym( 'sin(x)+5x')
% f —— 符号变量名
% sin(x)+5x—— 符号表达式
% ' '—— 符号标识
% 符号表达式一定要用' ' 单引号括起来matlab才能识别
% ' ' 的内容可以是符号表达式,也可以是符号方程。
% f1=sym('a*x^2+b*x+c') —— 二次三项式
% f2=sym('a*x^2+b*x+c=0' )—— 方程
% f3=sym('Dy+y^2=1') ——微分方程
% 符号表达式或符号方程可以赋给符号变量,以后调用方便;也可以不赋给符号变量直接参与运算
% syms 命令用来建立多个符号量,一般调用格式为:
% syms 变量1 变量2 ... 变量n&
%% 符号矩阵的创建
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%2.符号矩阵的创建
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 数值矩阵A=[1,2;3,4]
% A=[a,b;c,d] —— 不识别
% @1.用matlab函数sym创建矩阵(symbolic的缩写)
% 命令格式:A=sym('[ ]')&
% ※ 符号矩阵内容同数值矩阵
% ※ 需用sym指令定义
% ※ 需用' '标识
A = sym('[a , 2* 3*a , 0]')
% [ a, 2*b]
% [3*a, 0]
% 这就完成了一个符号矩阵的创建。
% 注意:符号矩阵的每一行的两端都有方括号,这是与 matlab数值矩阵的一个重要区别。
%@2.用字符串直接创建矩阵(这种方法创建的没有什么用处)
% ※模仿matlab数值矩阵的创建方法
% ※需保证同一列中各元素字符串有相同的长度。
A =['[ a,2*b]'; '[3*a, 0]']&
% [ a, 2*b]
% [3*a, 0]
%@3.符号矩阵的修改
% a.直接修改
% 可用光标键找到所要修改的矩阵,直接修改
% b.指令修改
% ※用A1=sym(A,*,*,'new') 来修改。 这个经过测试,不能运行
% ※用A1=subs(A, 'new', 'old')来修改
% % 例如:A =[ a, 2*b]
% [3*a, 0]
A = sym('[a , 2* 3*a , 0]')
% A1=sym(A,2,2,'4*b') %%等效于A(2,2)='4*b';
% A1 =[ a, 2*b]
% [3*a, 4*b]&&
A1=subs(A,'0','4*b')
A2=subs(A1, 'c', 'b')&&
% A2 =[ a, 2*c]&
% [3*a, 4*c]&
%@4.符号矩阵与数值矩阵的转换
% ※将数值矩阵转化为符号矩阵
% 函数调用格式:sym(A)
A=[1/3,2.5;1/0.7,2/5]
% [ 1/3, 5/2]
% [10/7, 2/5]
% ※将符号矩阵转化为数值矩阵
% 函数调用格式: numeric(A)
% [ 1/3, 5/2]
% [10/7, 2/5]
%numeric(B) 这个函数不存在了
VPA(B,4) %发现这个函数可用
% R = VPA(S) numerically evaluates each element of the double
% S using variable precision floating point arithmetic with D
% digit accuracy, where D is the current setting of
% The resulting R is a SYM.
% VPA(S,D) uses D digits, instead of the current setting of
% D is an integer or the SYM representation of a number.
% [ 1.429, .4000]
%% 符号运算
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%3. 符号运算
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f=sym( '2*x^2+3*x-5'); g=sym( 'x^2+x-7');
% 3*x^2+4*x-12
f=sym('cos(x)');g=sym('sin(2*x)');
% cos(x)/sin(2*x)+cos(x)*sin(2*x)
%% 查找符号变量
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%4.查找符号变量
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % findsym(expr) 按字母顺序列出符号表达式 expr 中的所有符号变量
% % findsym(expr, N) 列出 expr 中离 x 最近的 N 个符号变量
% 若表达式中有两个符号变量与 x 的距离相等,则ASCII 码大者优先。
% ※常量 pi, i, j 不作为符号变量
f=sym('2*w-3*y+z^2+5*a');
findsym(f)
% a, w, y, z
findsym(f,3)
findsym(f,1)
%% 计算极限
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%5.计算极限
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% limit(f,x,a): 计算f(x)当x趋向于a的极限
% limit(f,a): 当默认变量趋向于 a 时的极限
% limit(f): 计算 a=0 时的极限
% limit(f,x,a,'right'): 计算右极限
% limit(f,x,a,'left'): 计算左极限
% 例:计算
L=limit((log(x+h)-log(x))/h,h,0)
M=limit((1-x/n)^n,n,inf)
%% 计算导数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%6.计算导数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% g=diff(f,v):求符号表达式 f 关于 v 的导数
% g=diff(f):求符号表达式 f 关于默认变量的导数
% g=diff(f,v,n):求 f 关于 v 的 n 阶导数
f=sin(x)+3*x^2;&
g=diff(f,x)
% cos(x)+6*x
%%计算积分
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%7.计算积分
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% int(f,v,a,b): 计算定积分f(v)从a到b
% int(f,a,b): 计算关于默认变量的定积分
% int(f,v): 计算不定积分f(v)
% int(f): 计算关于默认变量的不定积分
f=(x^2+1)/(x^2-2*x+2)^2;
I=int(f,x)
% 3/2*atan(x-1)+1/4*(2*x-6)/(x^2-2*x+2)
K=int(exp(-x^2),x,0,inf)
% 1/2*pi^(1/2)
%%函数运算
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%8.函数运算
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 1.合并、化简、展开等函数
% collect函数:将表达式中相同幂次的项合并;
% factor函数:将表达式因式分解;
% simplify函数:利用代数中的函数规则对表达式进行化简;
% numden函数:将表示式从有理数形式转变成分子与分母形式。
% 2.反函数
% finverse(f,v) 对指定自变量为v的函数f(v)求反函数
% 3.复合函数
% compose(f,g) 求f=f(x)和g=g(y)的复合函数f(g(y))
% compose(f,g,z) 求 f=f(x)和g=g(y)的复合函数f(g(z))
% 4.表达式替换函数(前面讲到了)
% subs(s) 用赋值语句中给定值替换表达式中所有同名变量
% subs (s, old, new) 用符号或数值变量new替换s中的符号变量old
% mtaylor(f,n) —— 泰勒级数展开
% ztrans(f) —— Z变换
% Invztrans(f) —— 反Z变换
% Laplace(f) —— 拉氏变换
% Invlaplace(f) —— 反拉氏变换
% fourier(f) —— 付氏变换
% Invfourier(f) —— 反付氏变换
f1 =sym('(exp(x)+x)*(x+2)');
f2 = sym('a^3-1');
f3 = sym('1/a^4+2/a^3+3/a^2+4/a+5');
f4 = sym('sin(x)^2+cos(x)^2');
&collect(f1)
% x^2+(exp(x)+2)*x+2*exp(x)
expand(f1)
% exp(x)*x+2*exp(x)+x^2+2*x
factor(f2)
% (a-1)*(a^2+a+1)
[m,n]=numden(f3)
%m为分子,n为分母
% 1+2*a+3*a^2+4*a^3+5*a^4
&simplify(f4)
finverse(1/tan(x)) %求反函数,自变量为x
% atan(1/x)
f = x^2+y;
finverse(f,y) %求反函数,自变量为y
f = 1/(1 + x^2); g = sin(y); h = x^t; p = exp(-y/u);
compose(f,g) %求f = f(x) 和 g = g(y)的复合函数f(g(y))
% 1/(1+sin(y)^2)&
subs(a+b,a,4) %用4替代a+b中的a
subs(cos(a)+sin(b),{a,b},{sym('alpha'),2}) %多重替换
% cos(alpha)+sin(2)&
&f=sym('x^2+3*x+2')
% x^2+3*x+2
&subs(f, 'x', 2) %求解f当x=2时的值
%% 方程求解
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%9.方程求解
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 1代数方程
% 代数方程的求解由函数solve实现:
% solve(f) 求解符号方程式f&
% solve(f1,…,fn) 求解由f1,…,fn组成的代数方程组&
% 2常微分方程
% 使用函数dsolve来求解常微分方程:
% dsolve('eq1, eq2, ...', 'cond1, cond2, ...', 'v')
syms a b c x
f=sym('a*x*x+b*x+c=0')
% [ 1/2/a*(-b+(b^2-4*c*a)^(1/2))]
% [ 1/2/a*(-b-(b^2-4*c*a)^(1/2))]
&solve('1+x=sin(x)')
% -1.4537689
dsolve( ' Dy=x ','x') %求微分方程y'=x的通解,指定x为自变量。
% 1/2*x^2+C1
dsolve(' D2y=1+Dy ','y(0)=1','Dy(0)=0' )
%求微分方程y''=1+y'的解,加初始条件
% -t+exp(t)
[x,y]=dsolve('Dx=y+x,Dy=2*x') %微分方程组的通解
% -1/2*C1*exp(-t)+C2*exp(2*t)&
% C1*exp(-t)+C2*exp(2*t)
% ezplot(y)方程解y(t)的时间曲线图
%% funtool
&funtool %该命令将生成三个图形窗口,Figure
No.1用于显示函数f的图形,
% Figure No.2用于显示函数g的图形,
% Figure No.3为一可视化的、可操作与显示一元函数的计算器界面。
% 在该界面上由许多按钮,可以显示两个由用户输入的函数的计算结果:
% 加、乘、微分等。funtool还有一函数存储器,允许用户将函数存入,
% 以便后面调用。在开始时,
% funtool显示两个函数f(x) = x与g(x) = 1在区间[-2*pi, 2*pi]上的图形。
% Funtool同时在下面显示一控制面板,
% 允许用户对函数f、g进行保存、更正、重新输入、联合与转换等操作。
%% taylortool %该命令生成一图形用户界面,显示缺省函数f=x*cos(x)
% 在区间[-2*pi,2*pi]内的图形,同时显示函数f
% 的前N=7项的Taylor多项式级数和(在a=0附近的)图形,
% 通过更改f(x)项可得不同的函数图形。
% taylortool('f') %对指定的函数f,用图形用户界面显示出Taylor展开式
%% maple内核访问函数
% 可以访问maple内核的matlab函数:
% maple ——— 访问maple内核函数
% mapleinit —— maple函数初始化
% mpa ———— maple函数定义
% mhelp ——— maple函数帮助命令
% procread —— maple函数程序安装
% 具体的操作参看相关说明
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
怎么利用matlab计算如下函数的积分
本人属于文科生,由于毕业论文需要计算个税潜在收入,需要用到MATLAB 求解函数的积分。经过几位好友的帮助已经会求一段函数的积分,初步考虑可以将每段函数的积分求出来,然后加总,但是,这样计算量太大,我有28个省5年的数据要计算,这样太麻烦了,除了这种方法,我还可以怎样求呢?
这是要求的函数积分
这是fx函数
这是2000=&x&2500时的函数积分
F=@(x)(x-*1./(x.*sqrt(0.7690*pi)).*exp(-(7.6480-log(x)).^2/0.7690);
我该怎么办呢?怎么办呢?恳请大神帮忙,由于论坛币有限,暂时定为10金币,后面会追加,如果太复杂,可以付费。。。。恳请大神帮忙!
然后加起来
可以详细说说吗~文科生表示压力山大~或者给我说说应该参考什么资料
从中可以发现两个问题:1.文理分科的弊端;2.定性文章走向定量的趋势
十分感谢大神的帮助~
1.下次再来论坛不强调文科生了:P:P:P
2.由于之前一直在恶补matlab的知识,所以更倾向于用matlab解决
3.昨天稍晚时候,已经有一位坛友慷慨帮助了我,写出了代码,大体思路是这样:先定义了fx,然后,定义了Fx函数并将各段积分相加,最后求解Fx在(2000,+∞)的积分;不知有可以优化的地方不?
4.大神注意休息啊,身体是革命的本钱!!!:):):):):):):):)
研究生必备与500万研究生在线互动!
扫描下载送金币}

我要回帖

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

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信