【数学建模暑期培训】Matlab之求代数方程的符号解和数值解

符号运算

符号运算又称计算机代数,通俗地讲就是用计算机推导数学公式,如对表达式进行因式分解、化简、微分、积分、解代数方程、求解常微分方程等。与数值运算相比,符号计算存在以下的特点:(1)运算以推理方式进行,因此不受截断误差和累积误差问题的影响;(2)符号计算的速度比较慢。

1.1 符号对象的创建

在MATLAB中,提供了两个创建符号对象的函数,即sym和syms函数.

1.sym
sym函数用来建立单个符号量,函数的调用格式为:

var=sym('var') %创建一个符号变量var.
symexpr=sym(h) %通过匿名函数的函数句柄创建符号表达式.
A=sym('a', [m,n]) %创建一个m×n 矩阵的符号变量.

2.syms
sym 函数一次只能定义一个符号变量,使用不方便. MATLAB 提供了另一个函数syms,一次可以定义多个符号变量.

clc, clear
syms a %定义符号变量a
syms x y integer %定义整型符号变量x 和y
syms s(t) f(x,y) %定义两个符号函数

1.2 代数方程的符号解

在MATLAB 中,提供了solve 函数求解符号代数方程或方程组,其调用格式如下:
S = s o l v e ( e q n , v a r ) S=solve(eqn,var) S=solve(eqn,var)%求表达式eqn 的代数方程,求解变量为var。
S = s o l v e ( e q n , v a r , N a m e , V a l u e ) S=solve(eqn,var,Name,Value) S=solve(eqn,var,Name,Value)%求表达式eqn 的代数方程,求解变量为var,其中指定
一个或多个属性值名及其对应的属性值。
[ y 1 , … , y N ] [y1,…,yN] [y1,,yN]=solve(eqns,vars) %求表达式eqns 的代数方程组,求解变量组为vars。
在这里插入图片描述

代数方程的数值解

线性方程组的数值解

线性方程组 A x = b Ax = b Ax=b的求解命令为 x = p i n v ( A ) ∗ b x=pinv(A)*b x=pinv(A)b,当A 列满秩时,可以使用命令KaTeX parse error: Undefined control sequence: \b at position 4: x=A\̲b̲
(1)数学上唯一解,MATLAB 也给出唯一解;
(2)数学上无解,MATLAB 给出最小二乘解;
(3)数学上无穷多解,MATLAB 给出最小范数解。
在这里插入图片描述

非线性方程的数值解

  1. 求多项式的所有根命令roots
    roots 的调用格式为
    r=roots§ %求多项式的所有根,这里p 是一个向量,是由多项式从高次幂系数到常数
    项所组成的向量,返回值r 是多项式的所有根。
  2. 求非线性函数的零点或非线性方程的解
    fzero函数
    fsolve函数
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lydia.na

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值