matlab怎么求解方程?
1.首先打开Matlab,直接在命令行输入solve函数,里面加上方程式,如下图所示,小编写的是一个二元一次方程
2.接着直接回车就可以得到结果了,如下图所示:
3.然后solve函数中还可以写两个方程式,如下图所示:
4.回车后会得到两个未知数的解,如下图所示:
5.上面都是比较简的写法,下面小编给大家演示一下常规的写法,如下图所示,先声明变量,然后编写方程式,并在solve中填入变量和方程式
6.最后直接用点的方式得到答案即可,如下图所示:
matlab怎么解一元三次方程?
把你方程的系数降幂排列,写成一个向量,利用roots命令即可。
>> p=[1,-6,9,-9];roots(p)
ans =
4.4260e+000
7.8701e-001 +1.1891e+000i
7.8701e-001 -1.1891e+000i
扩展资料
MATLAB线性方程求解
a为m*n的系数矩阵。
? m=n,该方程为“恰定”方程
? m>n,该方程为“超定”方程
? m<n,该方程为“欠定”方程
(1)恰定方程求解
方程ax+b(a为非奇异)
x=a-1 b
两种解:
①x=inv(a)*b 采用求逆运算解方程;
②x=ab 采用左除运算解方程。
(2)超定方程求解
方程 ax=b ,m>n时此时不存在唯一解。
方程解 (a’a)x=a’b
①x=(a’a)-1 a’b ——求逆法;
②x=ab matlab用最小二乘法找一个准确地基本解。
(3)欠定方程求解
当方程数少于未知量个数时,即不定情况,有无穷多个解存在。
matlab可求出两个解:
①用除法求的解x是具有最多零元素的解;
②是具有最小长度或范数的解,这个解是基于伪逆pinv求得的。
MATLAB用fsolve解方程?
[x,fval,exitflag]=fsolve(fun,x0)
你可以利用fsolve函数多返回两个信息
一个是返回的x对应的函数值fval,一个是函数返回状态exitflag
fsolve也不是万能的,不是对所有的函数都能找到解
特别是你的初值选取离正确解很远的时候
或者是函数比较多奇异点,不连续点
又或者选取的精度不合理
很可能找不到正确解的解,得到的x不是正确的
又或者问题太复杂,在经过设定的最大计算步数后,还没收敛到正确解
这个时候你可以利用fval和exitflag判断返回的解是否正确有效
fval对应的是返回的x值是,原来函数的值
如果x是正确解,那么得到的fval应该都满足误差要求,是很接近零的值
而exitflag是更直接地获得返回信息的标志
当返回的exitflag等于1时,是最后的情况,表明找到了符合精度要求的解
如果exitflag不等于1,就表明有一定的问题,解x不太可信,或者根本即使错误的
以下是exitflag返回值对应的所有意义
你可以多让fsolve返回这两个信息,然后根据它们判断时候得到正确解
如果得不到正确解
那么可以尝试更换初值
更改误差要求或者最大计算步数
怎么用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”。