线性方程组求解
方程ax+b(a为非奇异)
x=a-1 b
矩阵逆
两种解:
x=inv(a)b —采用求逆运算解方程
x=a\b —采用左除运算解方程
方程ax=b
a=[1 2;2 3];b=[8;13];
x=inv(a)*b x=a\b
x = x =
=
例: x1+2x2=8
2x1+3x2=13
方程 ax=b ,m<n时此时不存在唯一解。
方程解(a ' a)x=a ' b
x=(a' a)-1 a ' b ——求逆法
x=a\b —— matlab用最小二乘法找一
个准确地基本解。
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
例: x1+2x2=1
2x1+3x2=2
3x1+4x2=3
a=[1 2;2 3;3 4];b=[1;2;3];
解1 x=a\b 解2 x=inv(a'a) a' b
x = x =
0
=
当方程数少于未知量个数时,即不定
情况,有无穷多个解存在。
matlab可求出两个解:
用除法求的解x是具有最多零元素的解
是具有最小长度或范数的解,这个解是基于伪逆pinv求得的。
x1+2x2+3x3=1
2x1+3x2+4x3=2
a=[1 2 3;2 3 4];b=[1;2];
x=a\b x=pinv(a)*b
x = x =
0
0 -
=
微分方程求解
微分方程求解的仿真算法有多种,常用的有Euler(欧拉法)、Runge Kutta(龙格-库塔法)。
Euler法称一步法,用于一阶微分方程
当给定仿真步长时:
所以
yn+1 = yn + h·f (xn,yn) n=0,1,2…
y(x0)=y0
MATALAB课件3.4 来自淘豆网www.taodocs.com转载请标明出处.