Matlab解线性方程Word文档下载推荐.docx
《Matlab解线性方程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Matlab解线性方程Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
一、线性方程组的求解模型
1.1对于含有n个方程,m个未知的线性方程组,表示为a*x=b。
其中,a为nXm的矩阵,b为nxi的列向量。
1.2模型I:
1.3线性方程组A*x=B®
(A为矩阵,B为列向量)
1.4方程解为:
diff(x)二B*A'
*(A*xB)②
1.5理论解为:
x=A\B
2.1模型U:
2.2线性方程组A*x=B①(A为矩阵,B为列向量)
2.3方程解为:
A*diff(x)=-俨(A*x-B)②..
2.4理论解模型I和模型U—致。
二、使用matlab2010软件对两种不同的模型进行线性方程组的求解,并画出x
的变化曲线。
随机选取一组线性方程组为:
2*X1+7*X2=13①
5*X1+3*X2=21②
由此得矩阵A=[25;
79]列向量B=[20;
40]则理论解为X=A\B
2.1理论解求解过程如下:
A=[25;
79];
B=[20;
40];
>
y=A\B;
1.1765
3.5294
tf=20;
x0=[00]'
;
[t,x]=ode23('
model1'
[t0,tf],x0);
figure
(1),plot(t,y
(1),'
g'
t,y
(2),'
r'
)
title('
理论解'
通过matlab软件画出x的变化曲线如下:
3.5
2.5
1.5
02468101214161020
2.2模型I,程序如下:
functionx=model1(t,x)
x=-10*A'
*(A*x-B);
end
t0=0;
tf=40;
x0=[00.5]'
plot(t,x,'
g'
),figure
(1)
title('
模型I'
2.3通过matlab软件画出x的变化曲线如下:
模型I
结论:
随着横坐标的变大模型解x趋近于理论解
2.4模型U,程序如下:
functionx=model2(t,x)
x=A\(-10*(A*x-B));
[t,x]=ode23('
model2'
[tO,tf],xO);
plot(t,x),figure⑴2.5通过matlab软件画岀x的变化曲线如下:
kS
D.5
10
随着横坐标的变大模型U的解趋近理论解x
2.6模型I与理论解叠加如下:
Code:
tf=30;
x0=[00.5]'
plot(t,x,'
.-'
),figure
(1)
holdon
actual'
o-'
legend('
'
理论解'
);
holdoff
2.7模型U与理论解叠加图形
模型U'
对于两种不同的模型,探讨误差函数y=ax-b的变化过程
functionx=wf(t,x)
x=A*x-B;
wf'
>
plot(t,x),figure
(1)
截图如下:
B
6
4
2
当误差函数A*X-B=0表示没有误差,当趋近0时表示误差值趋近0,但是结合模型I和模型U来观察发现随着横坐标的继续变大误差值逐渐加大。
四、探讨两种不同模型当B的值改变时对方程组解的影响。
4.1我们以如下恰定方程组为例探讨
x1+2*x2=8①.
2*x1+3*x2=13②
理论解x=A\B
由①和②得A=[12;
23]B=[813]模型I:
diff(x)二B*A'
*(A*-B)模型U:
A*diff(x)=-俨(A*x-B)4.2模型I和模型U的代码如下:
Codel:
function
x=dx1(t,x)
x=-B*A'
to=o;
x0=[05]'
dx1'
Code2:
functionx=dx3(t,x)
x=A\(-B*(A*x-B));
t0=0;
dx3'
4.3程序验证4.3.1模型I,当B分别为2、5、9、15时x的变化曲线截图分别如下:
1
3
0.5
20
432结论,很明显的看到,当B为1时随着横坐标的变大模型解在向理论解靠近,但是靠近时拐角弧度过小,即渐变过大,而且随着横坐标的继续变大,虽然模型解继续向理论解靠近但是模型解值x的曲线仍然存在弧度,这表明模型解准确度不高;
随着我们加大B的值我们可以观察到,渐变拐角变的圆滑而且变小,这说明模型解趋近理论解的速度在变快,而且随着横坐标的变大模型解趋近的理论解更准确。
433模型U当B取值为3、8、10、16时解x的变化曲线截图如下:
模型II
3.5
3-・
2.5-・
2--
1.5--
1-・
0.5-・
QI■■■■■■■
0510152025303540
模型n
4.2.4结论:
模型U的结论和模型一基本上一致,当B增大时模型解更容易趋近理论解。
猜想:
当B增大到某个值时会不会就是理论解?
五、实验总结:
通过这次试验我们学会了使用两种不同的模型对线性方程组进行求解,并通过matlab进行快速求解。
对于模型的应用不仅仅是可以求解恰定线性方程组,对超定和欠定方程组同样适合。
需要注意的地方是需要选定适合的B值,缺点是不会直接给出准确解,优点是容易解出复杂的线性方程组。