利用Matlab解方程

2024-11-12 04:33:02

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

工具/原料

Matlab

解一元方程

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

利用Matlab解方程

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

利用Matlab解方程

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

利用Matlab解方程

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

利用Matlab解方程

解二元方程

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

利用Matlab解方程

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

利用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')

利用Matlab解方程

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

利用Matlab解方程

解其他方程

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

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

猜你喜欢