当前位置: 首页 > news >正文

matlab符号计算

Matlab符号计算

  • 符号计算
    • syms
    • 极限:limit
    • 导数:diff
    • 级数:symsum
    • Taylor多项式
    • 积分:int
    • 表达式展开:expand
    • 因式分解:factor
    • 合并同类项:collect
    • 霍纳法则重排:horner
    • 化简表达式:simplify
    • 变量替换:subs
    • 线性方程组求解:solve
    • ODE的符号求解:dsolve

符号计算

syms

在进行符号运算之前,必须用syms函数指定符号变量。

syms x y z

变量不需要用''包裹,不同变量之间以空格隔开。
pretty()函数可以以更容易阅读的形式显示符号函数

极限:limit

语法:

limit(f, x, a)
limit(f, x, a, 'left')
limit(f, x, a, 'right')
  • f表示符号函数
  • x和a表示求函数f在x趋于a时的极限
  • leftright指定单侧极限,没有指定则求一般极限

**示例:

 
>> syms x
>> limit(sin(x)/x, x, 0)ans =1>> limit(sin(x)/x, x, 0, 'left')ans =1>> limit(sin(x)/x, x, 0, 'right')ans =1

导数:diff

语法:

diff(f, t, n)

求符号函数f对变量t的n阶导数
示例:

>> syms x
>> diff(sin(x)/x, x, 1)ans =cos(x)/x - sin(x)/x^2

级数:symsum

语法:

symsum(f, t, a, b)

求级数f中符号变量t从第a项到第b项的和
示例:

>> syms n
>> symsum(1/n^2, n, 1, inf) ans =pi^2/6

Taylor多项式

语法:

taylor(f, a, n)

求函数f在a点的n-1阶Taylor多项式
示例:

>> taylor(sin(x), x, 6)ans =sin(6) - (sin(6)*(x - 6)^2)/2 + (sin(6)*(x - 6)^4)/24 + cos(6)*(x - 6) - (cos(6)*(x - 6)^3)/6 + (cos(6)*(x - 6)^5)/120

taylortool可调出求taylor多项式的GUI

积分:int

语法:

int(f, t, a, b)

求符号函数f对变量t从a到b的积分,也可嵌套求多重积分
示例:

>> syms x y
>> int(x+y, x, 1, 2)ans =y + 3/2>> int(int(x+y, x, 1, 2), y, 3, 6)ans =18

积分无解析表达式
例如:

>> int(sin(x)/x, x, 1, 2)ans =sinint(2) - sinint(1)

令I表示积分表达式,此时可以使用:

  • double(I), eval(I):求数值解,且结果为数值型
  • vap(I,n):求有效数字为n位的数值解,结果仍为syms

表达式展开:expand

>> expand((x + 1)^3)ans =x^3 + 3*x^2 + 3*x + 1

因式分解:factor

>> factor(x^2 - 1)ans =[x - 1, x + 1]

合并同类项:collect

>> collect(x^2 + 2*x + x^2)ans =2*x^2 + 2*x

霍纳法则重排:horner

>> horner(x^3 + 3*x^2 + 3*x + 1)ans =x*(x*(x + 3) + 3) + 1

化简表达式:simplify

>> simplify(sin(x)^2 + cos(x)^2)ans =1>> simplify(x^2 + 2*x + x^2)ans =2*x*(x + 1)

变量替换:subs

语法:

subs(f, old, new)

在f中用符号new替代原本f中的符号old
示例:

>> subs(x^2 + y, [x, y], [2, 3])ans =7>> syms s t
>> subs(x^2 + y, [x, y], [s, t])ans =s^2 + t

线性方程组求解:solve

>> solve(x^2 - 4 == 0, x)ans =-22>> solve([x + y == 3, x - y == 1], [x, y])ans = 包含以下字段的 struct:x: 2y: 1>> 

ODE的符号求解:dsolve

语法:

dsolve(eqn, condition, var)

求解微分方程组eqn在初值condition下的解,若不给出初值,则求通解
示例:

>> syms x(t) y(t)
>> eqns = [diff(x, t) == x + y, diff(y, t) == x - y];
>> conds = [x(0) == 1, y(0) == 0];
>> sol = dsolve(eqns, conds)sol = 包含以下字段的 struct:y: (2^(1/2)*exp(2^(1/2)*t))/4 - (2^(1/2)*exp(-2^(1/2)*t))/4x: (2^(1/2)*exp(2^(1/2)*t)*(2^(1/2) + 1))/4 + (2^(1/2)*exp(-2^(1/2)*t)*(2^(1/2) - 1))/4

相关文章:

  • 【灵动Mini-F5265-OB】vscode+gcc工程创建、下载、调试
  • 【小红书】API接口,获取笔记核心数据
  • 华为盘古 Ultra MoE 模型:国产 AI 的技术突破与行业影响
  • 【最新版】西陆洗车系统源码全开源+uniapp前端+搭建教程
  • 简单实现Ajax基础应用
  • 鸿蒙5.0项目开发——横竖屏切换开发
  • 现代密码学介绍
  • 【软件工程】软件工程学概述复习资料
  • openharmony5.0.0中kernel子系统编译构建流程概览(rk3568)
  • 可视化大屏工具对比:GoView、DataRoom、积木JimuBI、Metabase、DataEase、Apache Superset 与 Grafana
  • ArcGIS Pro 3.4 二次开发 - 地图创作 1
  • ArcGIS Pro 3.4 二次开发 - 地图创作 2
  • JavaScript async/await指南
  • 解决Vditor加载Markdown网页很慢的问题(Vite+JS+Vditor)
  • 【请关注】MySQL 中常见的加锁方式及各类锁常见问题及对应的解决方法
  • ES101系列09 | 运维、监控与性能优化
  • 笔记本/台式C盘扩容:删除、压缩、跨分区与重分配—「小白教程」
  • 大模型的外围关键技术
  • 动态规划-1143.最长公共子序列-力扣(LeetCode)
  • OpenCV C++ 学习笔记(五):颜色空间转换、数值类型转换、图像混合、图像缩放
  • 网站改版专题页/互联网推广销售是做什么的
  • 安顺 网站建设/今日国际军事新闻头条
  • 旅游网站模板文章/长沙营销推广
  • 网站建设与单位干部作风的关系/seo人员的相关薪资
  • 网站建设知识/专业做网站官网
  • 网站导航设计模板/百度查重工具