多语言展示
当前在线:896今日阅读:167今日分享:16

利用Matlab解方程

一些简单方程的解我们可以很快地手算出来,但是还有很多方程的解我们手算很难算出或者根本无法算出。比如解一道一元高次非线性方程,我们一般的解法是先确定方程的解所在的大致范围,然后用牛顿迭代法来算,很复杂。这里我介绍用matlab来解方程,一个命令即可轻松得出方程的所有解。
工具/原料

 Matlab

解一元方程
1

先举一例,解方程'x^2+100*x+99=0'在matlab ”Command Window'中输入如下命令:x=solve('x^2+100*x+99=0','x')见下图

2

回车后,matlab就求出了这个一元二次方程的解。见下图

3

再举一例解一元三次方程'x^3+1=0'在matlab ”Command Window'中输入如下命令:x=solve('x^3+1=0','x')见下图

4

回车后,matlab就求出了这个一元三次方程'x^3+1=0'的解。见下图.matlab解出来的解有三个,其中有一个实数解,两个虚数解。我们都知道一元三次方程在复数范围内的解有3个,matlab的解是对的。如果我们只要'x^3+1=0”的实数解,我们只要取下面图中的第一个解“-1”。

解二元方程
1

首先来求一个二元一次方程组9x+8y=10          式113x+14y=12      式2 我们一般的解法是代入法,或者加减消去法。比较繁琐。这里我们只需输入如下命令即可求出解:[x,y]=solve('9*x+8*y=10','13*x+14*y=12','x','y')

2

回车后,matlab就求出了这个二元一次方程组的解。见下图

3

再来求一个二元非线性方程组x^2+y^2=10          式12x+3y=0               式2 这里我们只需输入如下命令即可求出解:[x,y]=solve('x^2+y^2=10','2*x+3*y=0','x','y')

4

x^2+y^2=10          式12x+3y=0               式2其实不少人能看出来,上面的二元非线性方程组的解是一个圆与一条直线的交点坐标,我们的一般解法是先消去y,整理成关于x的一元二次方程,然后求出x值,再求出对应y值。 但这里,我们只用到了上面图片里的的一句命令,就求了这两个交点坐标。见下图。

解其他方程
1

解三元方程或更高方程的具体操作步骤我就不再说明了,大家可以参考前面所说的解一元方程到解二元方程的命令的变化,从而类比出来。

2

相信聪明的读者读到这里,也发现matlab的这个解方程的功能十分简单实用吧。前面举的例子都是比较简单的,其实matlab一般能解出所有存在解的方程的。大家加油!

推荐信息