MATLAB的符号运算.ppt
上传人:sy****28 上传时间:2024-09-14 格式:PPT 页数:65 大小:369KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

MATLAB的符号运算.ppt

MATLAB的符号运算.ppt

预览

免费试读已结束,剩余 55 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第三讲MATLAB的符号运算符号运算的功能一、符号运算的基本操作2.符号变量与符号表达式3.符号对象的创建数值矩阵A=[1,2;3,4]A=[a,b;c,d]——不识别用函数sym创建对象SYMConstructsymbolicnumbers,variablesandobjects.S=SYM(A)constructsanobjectS,ofclass'sym',fromA.Iftheinputargumentisastring,theresultisasymbolicnumberorvariable.Iftheinputargumentisanumericscalarormatrix,theresultisasymbolicrepresentationofthegivennumericvalues.x=sym('x')createsthesymbolicvariablewithname'x'andstorestheresultinx.x=sym('x','real')alsoassumesthatxisreal,sothatconj(x)isequaltox.alpha=sym('alpha')andr=sym('Rho','real')areotherexamples.Similarly,k=sym('k','positive')makeskapositive(real)variable.x=sym('x','unreal')makesxapurelyformalvariablewithnoadditionalproperties(i.e.,insuresthatxisNEITHERrealNORpositive)命令格式:A=sym('[…]')※符号对象内容同数值对象※需用sym指令定义※需用''标识例如:A=sym('[a,2*b;3*a,0]')A=[a,2*b][3*a,0]这就完成了一个符号矩阵的创建。注意:符号矩阵的每一行的两端都有方括号,这是与matlab数值矩阵的一个重要区别。符号对象的修改与替换求值例如(加下划线部分代表键盘输入,后同)a=980;C1=3;y=dsolve('Dy=-a*y');subs(y)ans=3*exp(-980*t)symsabsubs(cos(a)+sin(b),[a,b],[sym('alpha'),2])ans=cos(alpha)+sin(2)A=sym('[a,2*b;3*a,0]')symsbcA1=subs(A,c,b)A1=[a,2*c][3*a,0]将数值对象转化为符号对象函数调用格式:sym(A)A=[1/3,2.5;1/0.7,2/5]A=0.33332.50001.42860.4000sym(A)ans=[1/3,5/2][10/7,2/5]将符号对象转化为数值对象函数调用格式:numeric(A)A=[1/3,5/2][10/7,2/5]numeric(A)ans=0.33332.50001.42860.40001.符号对象运算数值运算中,所有对象运算操作指令都比较直观、简单。例如:a=b+c;a=a*b;A=2*a^2+3*a-5等。而符号运算就不同了,所有涉及符号运算的操作都有专用函数来进行符号对象的代数运算函数symadd(a,d)——符号对象的加symsub(a,b)——符号对象的减symmul(a,b)——符号对象的乘symdiv(a,b)——符号对象的除sympow(a,b)——符号对象的幂运算symop(a,b,…)——符号对象的综合运算例1f='2*x^2+3*x-5';g='x^2+x-7';h=symadd(f,g)h=3*x^2+4*x-12例2f='cos(x)';g='sin(2*x)';symop(f,'/',g,'+',f,'*',g)ans=cos(x)/sin(2*x)+cos(x)*sin(2*x)x=pi/4;subs(ans)ans=1.4142例1f=2*x^2+3*x-5;g=x^2+x-7;symsxf=2*x^2+3*x-5;g=x^2+x-7;h=f+gh=3*x^2+4*x-12例2f=cos(x);g=sin(2*x);symsxf=cos(x);g=sin(2*x);f/g+f*gans=cos(x)/sin(x)+cos(x)*sin(x)Calculus(微积分).diff-Differentiate(微分).int-Integrate(积分).limit-Limit(极限).taylor-Taylorseries(泰勒级