matlab求两点之间的间距_MATLAB 符号运算

本文介绍了如何在MATLAB中进行符号运算,包括定义符号变量、创建符号表达式、求解数值、展开和因式分解表达式,以及解方程。通过实例展示如何利用MATLAB解决两点之间的距离问题,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景介绍:
由于 MATLAB 自身的语法调整,关于 MATLAB 符号运算网上不少教程中的内容在 MATLAB 2019a 以及更高版本上要稍做改动才能调通。
但往往去找教程的都是初学者,不知道怎么做这个“稍微的改动”。
Sugar 下面就给出几个简单的例子,一学就会的那种。看到的就省了再去网上海量搜索的时间了。
本文使用 MATLAB 2020a

syms 定义符号

symbol符号的意思。在 MATLAB 里定义符号变量的函数用这个单词的前三个字母来命名,即:sym()。使用方法如下图:

0623fb526dff09fa56dfffb044956b5d.png

sym() 函数定义符号变量要多敲好几下键盘,更简单的办法是用 syms 来定义变量,方法如下:

c20b4d0ae04f4c375cc286f869947ca9.png

符号表达式

大多数时候对数学的理论研究是对符号表达式展开的,比如抛物线的三种形式:

649907812a3e4de1b4f48ae2a2e0155e.png

在《MATLAB 动画没有密秘》一文中绘制图像是通过把数据给各种函数来实现的。绘图可以直观地看出函数的图像,但没法研究上图中抛物线表达式的变化问题。因为同一个抛物线可以对应不同的表达式,反之不同的表达式产生的数据可能是同一个抛物线。

当研究表达式变化的时候,就需要用到 MATLAB 的“符号表达式”,如下图:

8380b1788e76d76df9c7943bb4b479e6.png

注意:在 MATLAB 里的乘号不能省略。

符号表达式的数值解

eval() 函数用于:获得符号表达式的数值解。

当使用 plot() 等函数来画图的时候需要的是数值,通过“符号表达式”来获取数值的函数是 eval() 函数。例如在上面的两点式抛物线表达式y=(x-1)*(x-3)中,我们可以在指定 x 的数值后用y=eval(y)来获得该符号表达式作用下相当的 y 值,如下图:

df07365e02ad8445d12a7d21e435dda1.png

符号表达式的展开

expand() 函数用于:将带括号的符号表达式展开成一般式。

c20d1eb81c64da92c2c55f2cf263f8c9.png

符号表达式的因式分解

factor()函数用于:将一般式分解成带括号的各因式乘积的形式。

49f9870b0c5fa8d495ac8df5d913573a.png

方程的符号解

solve()函数用于:求符号表达式对应方程的符号解。

以一元二次方程的求解为例,如果忘记了求根公式,solve() 一下就想起来了,如下图:

3691726e98db4e15de2c917dd1e18864.png

solve() 函数默认以 x 为自变量,可以显示指明其他符号变量为自变量,如下图:

93613c2eeea0d5bc4a20380ef293fa95.png

PS

MATLAB 的语法正在变得越来越方便,在数学表达式的写法上越来越靠近 Python、C 这样的编程语言。
Python 的 SymPy 与 MATLAB 的符号运算功能一样,但 Sugar 还是推荐有 MATLAB 就用 MATLAB,因为与 Python 相比同样的功能按键次数更少,而且工作空间内随时可以查看变量值。

关注作者

欢迎扫码关注我的公众号MultiMCU EDUfd2de51126ee027ccaa64537c283b2f2.png

提示:在公众号“关于我”页面可加作者微信好友。

喜欢本文求点赞,有打赏我会更有动力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值