Matlab符号计算与方程组求解

一、符号计算

1、符号计算特点

        1、计算精确:符号计算基于数学公式、定理并通过一系列推理、演绎得到方程的解或者数学表达式的值。对操作对象不进行离散化和近似化处理。

        2、可应用范围有限:实际科研和生产中遇到的问题绝大多数都无法获得精确的符号解,这时我们不得不求助数值计算。

        3、对待符号计算态度:用其来完成公式推导和解决简单的对计算时效性要求不高的问题,综合符号计算和数值计算各自的优点,视问题特点混合使用符号计算和数值计算。


2、符号对象和符号表达式

        1、符号对象的创建:要生成一个符号对象,可以利用sym以及syms函数,sym可以生成单个符号对象,而syms可以生成多个符号对象,符号对象的运算是完全精确的,没有舍入误差。例如:a = sym(‘5’);  syms b c d;


        2、符号表达式:创建了符号对象,我们就可以创建各种各样的符号表达式。譬如,创建符号变量a, b, c后如下都是符号表达式:

         z1 = a+b+c;

         z2 = sin(a+b+c);

         z3= a^b*gamma(c);

        确定一个符号表达式中的符号变量可以用findsym函数:

         findsym(expr);

         findsym(expr, n);

        第一种用法是确认表达式expr中所有自由符号变量,第二种用法是从表达式expr中确认出距离x最近的n个符号变量。这个最近距离指的是变量第一个字符和x的ASCII码值之差的绝对值,差绝对值相同时,ASCII码值大的字符优先。findsym是老版本中的方法,新版本将使用symvar函数代替:symvar(expr);


         3、运算符:MATLAB采用了重载(Overload)技术,使得用来构成符号表达式的运算符,无论在拼写还是在使用方法上,都与数值计算中的算符完全相同。譬如“+”,“-”,“*”,“\”,“/”,“^”等。

        符号对象的比较中,没有大于大于等于小于小于等于的概念,而只有是否等于的概念,即==”与“~=”如果要判断两个符号数值的大小一般来说有两种办法,一种是利用double将其转化成数值型的,另一种是利用sort+“==”或“~=”譬如下面代码:


                
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值