MATLAB 符号化简 | 绝对值的平方解决方法 | 1-cos(x)^2的解决方法 | 符号计算,符号
最近因为在试着用 MATLAB 做数学题,钻研了一下 MATLAB 的一些符号化简方法,现做如下总结
如果要看化简符号表达式的部分,请看最后!!!
如果要看化简符号表达式的部分,请看最后!!!
如果要看化简符号表达式的部分,请看最后!!!
实时脚本
首先,强烈建议在做符号计算的时候,使用实时脚本。它能很清晰的展示数学符号。比如说:
而普通的脚本就显得非常丑陋
新建一个实时脚本的方法就是在左上角这里,点 新建
- 实时脚本
LaTeX语言
众所周知,我们推导数学符号的时候,经常会遇到希腊字母,比如 α,β,γ\alpha,\beta,\gammaα,β,γ ,而MATLAB的实时脚本是支持直接展示希腊字母的,比如:
只要你能知道 α\alphaα 对应的英文是 alpha,你就可以利用这种方法,优雅的展示希腊字母了。
那如果知道这样的对应关系呢,你可以在这里找到 latex希腊字母表
整理数学表达式
为了解决符号化简这个问题,我查过了很多资料,在CSDN上看到了这两个比较有价值的博客
Matlab常用命令之(一):符号表达式化简
Matlab化简符号表达式
但是里面的一些函数已经不再能用了,而且博客里没有很直观的例子,现对他们两篇文章进行总结。(事实上,如果你看完下面的,就不用再看那两篇了)
pretty(f)
(不推荐)是一种使用纯文本格式来输出数学表达式的方式。有点不好表述它具体的作用,看个例子就知道了
对我而言这实在是太丑了,除非只能用纯文本格式,不然一律不要使用此函数。更优雅的方式就是使用实时脚本提供的数学渲染。
此函数在几年前没有实时脚本的时候还能拿出来做一下美化,现在有了实时脚本,真的不要用这个。collect(f)
这个函数可以把数学表达式按某一变量的降幂排列
expend(f)
这个函数可以把数学表达式展开。
factor(f)
这个函数可以做因式分解
horner(f)
这个函数可以把多项式函数写成嵌套的形式(秦九韶算法)
subexpr
和simple
这两个函数已经不再适用了
符号化简
下面我隆重介绍一个 MATLAB 函数:simplify
,他的功能非常强大。不过使用起来有一些麻烦。
如果我们想化简一个表达式,首先就要尝试一下直接使用 simplify(f)
,如下例所示。
但是在这种情况下,matlab不会自动化简 x2\sqrt{x^2}x2。这是为了避免一些特殊情况下,比如复数的时候出错。
这时,我们可以将参数值 IgnoreAnalyticConstraints
设定为 true
(如下所示)
不过应当注意的是,即便我们的x是一个标量,一个数,x2\sqrt{x^2}x2 也应当等于 ∣x∣|x|∣x∣,而题目中直接化成了 xxx。因此要小心使用这个方法,避免后续推导出错。
还有一种情况,比如 f=1−cos(x)2f=1-\cos(x)^2f=1−cos(x)2,在这种情况下,matlab不会把他化简成 sin(x)2\sin(x)^2sin(x)2。不过,我们可以通过设置参数 Steps
为 10
,意思为,尝试更多化简次数。
使用这种方法,就可以正常化简啦
写在后面:
符号运算这块还是挺复杂的,因为现在也没有一个非常牛逼的算法。有的不定积分题目,人能手算出来,计算机却不行。如果matlab行不通的话,可以在mathematic上试下。
另外,文中大多数内容来自官方文档,我只是做了一个转运,放到中文社区,方便惯用语为中文的小伙伴检索。如果可以的话,还是建议大家多看看官方文档,里面写的比我这个好一百倍捏。
MATLAB:simplify
2022/5/30 21点01分
MATLAB 符号化简 | 绝对值的平方解决方法 | 1-cos(x)^2的解决方法 | 符号计算,符号相关推荐
- MATLAB不能打字,电脑不能打字怎么办?电脑打字打不出来解决方法汇总
电脑打不出字怎么办?有很多网友遇到过这样的问题,那么电脑打字打不出来的原因到底是什么呢?如果你同样也遇到了这样的问题,请看绿茶小编带来的以下解决办法. 电脑打不了字有可能是电脑中毒了,下载安装杀毒软件 ...
- 透过散射介质的成像matlab,利用空间光调制器实现基于相位多样性的散射介质成像的制作方法...
本发明属于散射介质成像领域,具体说是一种利用空间光调制器实现基于相位多样性的散射介质成像方法. 背景技术: 传统的光学成像方法通常无法直接获得隐藏在散射介质后方的物体像,因此如何利用光学技术实现穿透散 ...
- MATLAB目标检测恒虚警技术,一种自适应的恒虚警率目标检测方法
一种自适应的恒虚警率目标检测方法 [专利摘要]本发明涉及一种自适应的恒虚警率目标检测方法,包括以下步骤:1):将雷达接收到的数据传入匹配滤波器中:2):将匹配滤波器输出的信号传入平方律检波器中进行处理 ...
- ICDE-2020 论文简析:空间众包中的预测任务分配 : 一种数据驱动的方法 Predictive Task Assignment in Spatial Crowdsourcing
ICDE-2020 论文简析:空间众包中的预测任务分配:一种数据驱动的方法 Predictive Task Assignment in Spatial Crowdsourcing: A Data-dr ...
- matlab计算绝对值的导数,如何用matlab求带绝对值函数的导数? 你值得一看的技巧...
用matlab求函数的导数:如果一个函数表达式中有绝对值,那对该函数求导就需要注意啦!该函数可能在他的零点处导数不存在,所以我们不能用传统的方法求导,应该在零点处分别求左导数和右导数,如果左导数和右导 ...
- 解决哈希(hash)冲突的方法
解决哈希(hash)冲突的方法 当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时.冲突就难免会发生.另外,当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记 ...
- tomcat端口号被占用怎么解决_电脑C盘空间不够用怎么办?Win7解决C盘占用空间大的3个方法!...
在使用电脑的时候许多人都会出现这样的一个问题:电脑用的时候越长,C盘的可用空间就越来越少,严重的时候可能会导致一些软件无法安装和运行.电脑C盘空间不够用怎么办?今天小雨给大家介绍一下Win7解决C盘占 ...
- php定时任务为什么不好写,php解决crontab定时任务不能写入文件问题的方法分析...
本文实例讲述了php解决crontab定时任务不能写入文件问题的方法.分享给大家供大家参考,具体如下: 今天使用crontab写的定时任务没有执行,很纳闷. crontab.php error_rep ...
- 哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现
哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现 参考文章: (1)哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现 (2)https://www. ...
最新文章
- 刻意练习:LeetCode实战 -- Task14. 最长公共前缀
- 链表栈-》与数组栈同接口-》更确切地说是单项链表的接口封装
- c#3.0系列:Object Initializer 和 Collection Initializer
- 第三十八期:如何在Windows 10上使用Windows Update目录驱动程序安装打印机
- (JAVA)红黑树之自然顺序排序和自定义排序方式
- 微服务最佳实践 【已翻译100%】
- 校园网编写linux网络认证,个人心得:校园网linux锐捷认证ruijie(xrgsu)使用及xrgsu下载...
- 智能安防及视频监控系统
- 江苏最新建筑施工塔式起重机(建筑特种作业)特种工(塔式起重机)机考题库真题及答案解析
- Vue3关于页面跳转(push)的时候,并传递数据过去
- 哪些人会看作业指导书?作业指导书怎样才能发挥作用?
- 解决 Spring Cloud 整合 zipkin 报错:org.springframework.boot.actuate.health.CompositeHealthIndicator......
- Mockito使用详解
- 软件测试——2022经济寒冬之下究竟还有没有出路?
- 数据架构学习之路(建议收藏)
- 如何使用python批量修改txt文档
- 用html+js实现五子棋游戏(人机对战)【建议收藏】
- Django信号Signals原理与示例(评论通知)
- LCT(link-cut-tree)入门
- 用ESP学习单片机之Arduino_Esp-32s获取2.8‘‘TFT LCD屏幕的触摸数据_ILI9341_SPI_XPT2046