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 条评论
登录 后参与评论

相关文章

来自专栏MelonTeam专栏

Bitmap 源码阅读笔记

导语: Android 系统上的图片的处理,跟Bitmap 这个类脱不了关系,我们有必要去深入阅读里面的源码,以便在工作中能更好的处理Bitmap相关的问题...

2458
来自专栏菩提树下的杨过

linq to sql取出随机记录/多表查询/将查询出的结果生成xml

在手写sql的年代,如果想从sqlserver数据库随机取几条数据,可以利用order by NewId()轻松实现,要实现多表查询也可以用select * f...

2176
来自专栏Petrichor的专栏

Dataset 列表:机器学习研究

In computer vision, face images have been used extensively to develop face recog...

1461
来自专栏专知

2018年SCI期刊最新影响因子排行,最高244,人工智能TPAMI9.455

2018年6月26日,最新的SCI影响因子正式发布,涵盖1万2千篇期刊。CA-Cancer J Clin 依然拔得头筹,其影响因子今年再创新高,达244.585...

1272
来自专栏我和未来有约会

简练的视图模型 ViewModel

patterns & practices Developer Center 发布了 Unity Application Block 1.2 for Silver...

2159
来自专栏Golang语言社区

Knapsack problem algorithms for my real-life carry-on knapsack

I'm a nomad and live out of one carry-on bag. This means that the total weight o...

1132
来自专栏一个会写诗的程序员的博客

java.base.jmod

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jmods$ jmod list java....

1112
来自专栏Pulsar-V

Save Camera Document

#pragma once #include "HCCamera.h" #include <time.h> #include <cstdio> #incl...

2818
来自专栏Hadoop数据仓库

Oracle sqlldr 如何导入一个日期列

1. LOAD DATA INFILE * INTO TABLE test FIELDS TERMINATED BY X'9' TRAILING NULLCO...

1786
来自专栏码匠的流水账

聊聊HystrixThreadPool

hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java

761

扫码关注云+社区