前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matlab—方程式求根

matlab—方程式求根

作者头像
mathor
发布2018-06-22 11:15:59
1.6K0
发布2018-06-22 11:15:59
举报
文章被收录于专栏:mathor

十五、方程式求根

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的第二个参数里即可

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 十五、方程式求根
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档