前置--matlab 2017b 代数方程求解(四)

使用solve求解代数方程及方程组。
有三种写法,第一是把方程直接写进solve里,记得加单引号:
前置--matlab 2017b 代数方程求解(四)_第1张图片
前置--matlab 2017b 代数方程求解(四)_第2张图片
Support of character vectors will be removed in a future release。
提示为字符型向量的支持会在未来版本被删除。

虽然也能算出结果,但是这种写法不太好,老版本里虽然能用,但在新版本里基本上被淘汰了。
同时,尽管solve求解使用默认变量x符号,但为了不出错,最好使用syms指定变量符号。

第二种写法,把需要求解的变量告诉solve:
前置--matlab 2017b 代数方程求解(四)_第3张图片
同样也能求出结果,也获得了警告。

第三种写法,也是最推荐,现在版本最正规的写法,不使用单引号:
前置--matlab 2017b 代数方程求解(四)_第4张图片
首先用syms指定要求解的变量符号是x,然后把整个表达式赋值给y,再对y用solve求解。
当然也可以直接写solve(11*x+15),但如果表达式比较长,而且是方程组的时候,这样直接写就不太好了。

同样,可以对该方程进行画图,使用ezplot。
在这里插入图片描述
前置--matlab 2017b 代数方程求解(四)_第5张图片
这种画图对比之前学习过的plot有什么区别呢?

  1. ezplot画表达式(方程)图,无需提前给出变量的取值范围,也无需再写title,画图更简单。
  2. ez的英文本意是等于零,既y=0方程的解,但画图的时候画出的是函数图形,y=0不过是一个图形上的特殊点。
  3. 对同一个表达式,ezplot与plot画出的图形是一样的,适用于plot的参数也可以用在ezplot上,没有区别。

如果对x轴的取值不满意,也可以在ezplot里调整.,把x轴调整为-3到3之间。
在这里插入图片描述
再可以使用text函数给图像做标记
在这里插入图片描述
前置--matlab 2017b 代数方程求解(四)_第6张图片

solve也可以用来求方程组,比如有5x+4y=3和x-6y=2的方程组,使用不带单引号的正规写法,要把“=”转换成“==”
前置--matlab 2017b 代数方程求解(四)_第7张图片
同样,查询帮助发现,以上写法还可以使用更通用的solve[eqns,vars]形式
在这里插入图片描述
vars也可以不加,因为前面已经使用了syms指定。
前置--matlab 2017b 代数方程求解(四)_第8张图片
以上均能够正确求解。

此时求解的答案是一个结构体
前置--matlab 2017b 代数方程求解(四)_第9张图片
所以要把答案赋值给变量s。
引用其成员,获得想要的数值解:
前置--matlab 2017b 代数方程求解(四)_第10张图片

方程的展开,如y=(x+2)(x-3),用expand
前置--matlab 2017b 代数方程求解(四)_第11张图片
因式分解,如 x^2 -y^2 ,使用factor
前置--matlab 2017b 代数方程求解(四)_第12张图片
方程化简,使用simplify化简(x+4x+2
x)
前置--matlab 2017b 代数方程求解(四)_第13张图片
注意,simplify化简侧重是计算消元,并不一定是需要展开。
前置--matlab 2017b 代数方程求解(四)_第14张图片
前置--matlab 2017b 代数方程求解(四)_第15张图片

你可能感兴趣的:(高等数学)