资源描述:
《matlab符号微积分微分方程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、符号极限、微积分和符号方程的求解1.语法:sym(‘表达式’)%创建符号表达式f1=sym('a*x^2+b*x+c')f1=a*x^2+b*x+c2.使用syms命令创建符号变量和符号表达式语法:symsarg1arg2…,参数 %把字符变量定义为符号变量的简洁形式symsabcx%创建多个符号变量f2=a*x^2+b*x+c%创建符号表达式3.4.1符号极限假定符号表达式的极限存在,SymbolicMathToolbox提供了直接求表达式极限的函数limit,函数limit的基本用法如表3.2所示。表3.2limit函数的用法表达式函数格式说明limt(f)对x求趋近于0的极
2、限limt(f,x,a)对x求趋近于a的极限,当左右极限不相等时极限不存在。limt(f,x,a,left)对x求左趋近于a的极限limt(f,x,a,right)对x求右趋近于a的极限【例3.14】分别求1/x在0处从两边趋近、从左边趋近和从右边趋近的三个极限值。f=sym('1/x')limit(f,'x',0)%对x求趋近于0的极限ans=NaNlimit(f,'x',0,'left')%左趋近于0ans=-inflimit(f,'x',0,'right')%右趋近于0ans=inf程序分析:当左右极限不相等,表达式的极限不存在为NaN。3.4.2符号微分函数diff是用来
3、求符号表达式的微分。语法:diff(f)%求f对自由变量的一阶微分diff(f,t)%求f对符号变量t的一阶微分diff(f,n)%求f对自由变量的n阶微分diff(f,t,n)%求f对符号变量t的n阶微分【例3.15】已知f(x)=ax2+bx+c,求f(x)的微分。f=sym('a*x^2+b*x+c')f=a*x^2+b*x+cdiff(f)%对默认自由变量x求一阶微分ans=2*a*x+bdiff(f,'a')%对符号变量a求一阶微分ans=x^2diff(f,'x',2)%对符号变量x求二阶微分ans=2*adiff(f,3)%对默认自由变量x求三阶微分ans=0微分函
4、数diff也可以用于符号矩阵,其结果是对矩阵的每一个元素进行微分运算。【例3.15续】对符号矩阵求微分。symstxg=[2*xt^2;t*sin(x)exp(x)]%创建符号矩阵g=[2*x,t^2][t*sin(x),exp(x)]diff(g)%对默认自由变量x求一阶微分ans=[2,0][t*cos(x),exp(x)]diff(g,'t')%对符号变量t求一阶微分ans=[0,2*t][sin(x),0]diff(g,2)%对默认自由变量x求二阶微分ans=[0,0][-t*sin(x),exp(x)]diff还可以用于对数组中的元素进行逐项求差值。【例3.15续】可以
5、使用diff计算向量间元素的差值。x1=0:0.5:2;y1=sin(x1)y1=00.47940.84150.99750.9093diff(y1)%计算元素差ans=0.47940.36200.1560-0.0882程序分析:计算出的差值比原来的向量少一列。3.4.3符号积分积分有定积分和不定积分,运用函数int可以求得符号表达式的积分。语法:int(f,’t’)%求符号变量t的不定积分int(f,’t’,a,b)%求符号变量t的积分int(f,’t’,’m’,’n’)%求符号变量t的积分说明:t为符号变量,当t省略则为默认自由变量;a和b为数值,[a,b]为积分区间;m和n为
6、符号对象,[m,n]为积分区间;与符号微分相比,符号积分复杂得多。因为函数的积分有时可能不存在,即使存在,也可能限于很多条件,MATLAB无法顺利得出。当MATLAB不能找到积分时,它将给出警告提示并返回该函数的原表达式。【例3.16】求积分和。f=sym('cos(x)');int(f)%求不定积分ans=sin(x)int(f,0,pi/3)%求定积分ans=1/2*3^(1/2)int(f,'a','b')%求定积分ans=sin(b)-sin(a)int(int(f))%求多重积分ans=-cos(x)diff和int命令,也可以直接对字符串f进行运算:f='cos(x)
7、';【例3.16续】求符号矩阵的积分。symstxg=[2*xt^2;t*sin(x)exp(x)]%创建符号矩阵g=[2*x,t^2][t*sin(x),exp(x)]int(g)%对x求不定积分ans=[x^2,t^2*x][-t*cos(x),exp(x)]int(g,'t')%对t求不定积分ans=[2*x*t,1/3*t^3][1/2*t^2*sin(x),exp(x)*t]int(g,sym('a'),sym('b'))%对x求定积分ans=[b^2-a^2,t^2*