MATLAB 符号运算

前言

有时候,你可能会遇到较复杂的方程(组),希望用MATLAB来求解。MATLAB的符号运算正好可用于求解方程(组)。此外,它还有许多其他功能。例如,展开和简化、因式分解以及微积分运算等。MATLAB的符号运算虽然是数值运算的补充,但是它仍然是科学计算研究中不可替代的重要内容。与数值运算相比,符号运算不需要预先对变量赋值,其运算结果以标准的符号形式表达。比如说计算sin(π),数值运算的结果是1.2246e-16,符号运算的结果是0。前者是近似的,后者是精确的。

正文

MATLAB符号运算功能非常强大,本文只介绍大部分常用的符号运算功能。注:本文代码的运行环境是MATLAB R2016b。

1. 创建符号数、符号变量和符号矩阵

 这一步骤是符号运算的第一步,后面的步骤都是在此基础上进行的。

%创建符号数 (只能用sym函数)
s0 = 1 / sym(7)              %符号数,不适合大型符号数
s1 = sym('1/7')              %符号数
s2 = sym('3 + 4i')           %符号复数

%创建符号变量 (sym函数和syms函数都行)
%--sym函数
s3 = sym('x')               %符号变量

%--syms函数
syms a b c                  %创建多个符号变量,值为本身
syms(sym('[d e; e d]'))      %用已存在的符号变量矩阵创建多个符号变量

%创建符号矩阵 (sym函数和syms函数都行)
s4 = sym('[2 5 6; 9 8 6]')    %符号数矩阵
s5 = sym('x', [2 3])          %符号变量矩阵,矩阵内的元素不会被创建为符号变量
A = [a b c; c b a]            %用已存在的符号变量创建符号变量矩阵
% syms A B [2 3]              %仅2017及以上版本支持,同时创建多个符号矩阵

 代码运行结果如下。可以看到s5是一个2x3的符号变量矩阵,但矩阵内元素不会被创建成符号变量。

2. 创建符号表达式、符号函数

要表达一个数学函数可以用符号函数或符号表达式。

%创建符号表达式
syms x y
f = x^2 + 5*x + 4                      %符号表达式
subs(f, x, [2 1])                       %分别将f中的x换成2和1
f2 = sym('x^2 + 2*x + 1 = 0')               %创建
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值