专栏首页mathormatlab—方程式求根

matlab—方程式求根

十五、方程式求根

15.1 symbolic variable

我们以一个例子开头,有一个方程式:y=x^2-2x-8,我们要求y=0时,x的值。首先我们试着把y输入到matlab里去看看

图15-1 示例1

    我们发现结果并不对,因为没有定义x,那x应该怎么定义呢?我们要求的是x,x在这里只是一个符号而已,所以我们就要用到符号变量syms

    定义一个变量为符号变量的格式为:syms x或x=sym(‘x’)

    讲到这里我们发现定义为符号变量其实有很大的作用,我们不需要给她一个实际的数值,只需要声明它表示一个符号即可,我们上一章节讲了diff函数,这里拓展一下,配合符号变量求一个函数的微分或者偏微分

图15-2 示例2

图15-3 求解微分

图15-4 求解偏微分

    利用symbolic variable求解微分我们讲完了,下面我们学习如何利用syms求解积分。上一章我们也讲了求解积分的函数是int,我们不妨试一下

图15-5 求解积分1

    到这一步还没结束,因为我们积分后面还会跟一个常数,一般条件都会给当z(x)=c,假设我们这里给定条件z(0)=0,应该如何求解呢?这里我们需要用到一个函数subs,其调用格式为subs(z,x,c),他表达的含义是函数z中的符号变量被c替代,那么下面我们就来试试添加条件以后,求出来的积分是什么样的

图15-6 求解积分2

15.2 solve()

    上面我们已经讲了如何定义一个symbolic variable,下面我们就解决一个例子y=x*sin(x)-x=0,要解决这个方程,我们首先要用到一个函数solve,其调用格式为:solve(eq,var),其中,eq代表一个符号表达式或者字符串,var代表变量名称

    示例:

图15-7 solve函数

    刚才我们做的是一个方程式求解,那如果我有两个甚至多个方程组要求解,应该怎么做呢,其实还是用到solve函数,下面给出示例

    实例:

图15-8 求解方程组

    看完了方程组的求解,我们再想想,还有什么是我们学过的方程,代数方程也可以用solve函数求解

    示例:

图15-9 代数方程求解

    我们要用a和b来表示x,就只需要在solve的第二个参数里写上x,反过来,想用其他的变量来表示某个变量,只需要把这个变量写在solve的第二个参数里即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LeetCode46. 全排列

     标准dfs问题,只不过这道题有点麻烦在于返回的是一个List嵌套List  声明一些变量,首先是ans保存最终结果,其次是path[],存储当前选取的...

    mathor
  • LeetCode78.子集

     dfs经典题,对每一个数字都有一个boolean数组去对应,没选过就是false,选过就是true,在边界条件中进行枚举,将所有结果为true的下标对应的数值...

    mathor
  • LeetCode77. 组合

     常规dfs题,首先在dfs函数中判断边界条件,因为只要取到k个数就够了,所以边界条件当k用完,也就是k==0就应该return了。然后再看dfs函数内部的实现...

    mathor
  • PowerShell 通过 WMI 获取设备厂商

    本文告诉大家如何通过 WMI 使用Win32_ComputerSystem获取设备厂商

    林德熙
  • JS相关概念

    小胖
  • Matlab - 远程Linux服务器安装 R2014a

    在 /usr/local/MATLAB/R2014a/etc 创建激活文件 activate.ini,内容如下:

    AIHGF
  • 周三面试Python开发,这几道Python面试题差点答错,Python面试题No7

    默读代码类的题目,相对来说是比较简单的。重点去研究列表解析,之后你就可以轻松的回答这些问题喽~

    梦想橡皮擦
  • glide 一个强大的图片加载框架

    glide 是一个强大的 ImageLoader,在图片加载库烂大街的今天,选择一个适合我们自己使用的图片加载库无疑能调高我们的开发效率,此外还能让我们写的 A...

    developerHaoz
  • CentOS 6 安装 MySQL-python

    (adsbygoogle = window.adsbygoogle || []).push({});

    双面人
  • 一款简单的消息防抖框架

    WQthrottle 是一款消息防抖框架,在一定的时间延时中做到只触发一次结果的回调。

    Android技术干货分享

扫码关注云+社区

领取腾讯云代金券