线性代数应用实例.docx
《线性代数应用实例.docx》由会员分享,可在线阅读,更多相关《线性代数应用实例.docx(16页珍藏版)》请在冰豆网上搜索。
线性代数应用实例
线性代数应用实例
求插值多项式
右表给出函数f(t)上4个点的值,试求三次插值多项式p(t)a0a-|ta2t2a3t3,
并求f(1.5)的近似值。
ti
0
1
2
3
f(ti)
3
0
-1
6
角军:
令三次多项式函数p(t)a0a1ta2t2
表中已知的4点,可以得到四元线性方程组:
a。
3
ao
a1
a2
a3
0
ao
2a1
4a2
8a3
1
ao
3a1
9a2
27a3
6
得到x=
10
0
0
3
0
1
0
0
-2
0
0
1
0
-2
0
0
0
1
1
>>A=[1,0,0,0;1,1,1,1;1,2,4,8;1,3,9,27],b=[3;0;-1;6],s=rref([A,b])
得到a03,a12,a2
对于四元方程组,笔算就很费事了。
应该用计算机求解了,键入:
23
2,a31,三次多项函数为p(t)32t2tt,故f(1.5)近
似等于p(1.5)32(1.5)2(1.5)2(1.5)31.125。
在一般情况下,当给出函数f(t)在n+1个点ti(i1,2,卅,n1)上的值f(tj时,就可
以用n次多项式p(t)a。
a1ta?
t2卅antn对f(t)进行插值。
在数字信号处理中的应用——数字滤波器系统函数
数字滤波器的网络结构图实际上也是一种信号流图。
它的特点在于所有的相加节点都限定为双输入相加器;另外,数字滤波器器件有一个迟延一个节拍的运算,它也是一个线
u
m
2
X1
y
-i111—
z1
■V
1/4
J1
1/4
■
*x2
二―]X3
z1,.
3/8
图1某数字滤波器结构图
性算子,它的标注符号为z1o根据这样的结构图,也可以用类似于例7.4的方法,求它
的输入输出之间的传递函数,在数字信号处理中称为系统函数。
图1表示了某个数字滤波器的结构图,现在要求出它的系统函数,即输出y与输入u之比。
先在它的三个中间节点上标注信号的名称x1,x2,x3,以便对每个节点列写方程。
用线性代数方法的好处是适用于任何复杂系统,并能用计算机解决问题。
已知
解:
号右端为
描述n阶线性时不变(LTI)连续系统的微分方程为
dnydn1ydy」dmu」du」
na2
a1na2an,an1yb1mbmbm1u,
dtdtdtdtdt
y及其各阶导数的初始值为y(0),y⑴(0),…,y(n-1)(0),求系统的零输入响应。
当LTI系统的输入为零时,其零输入响应为微分方程的齐次解(即令微分方程等
0),其形式为(设特征根均为单根)
其中
语句求得。
P1,p2,…,pn是特征方程a1n+a2n1+…+an+an+1=0的根,它们可用roots(a)
各系数C1,…,Cn由y及其各阶导数的初始值来确定。
对此有
C1+C2+…+Cn=yoyo=y(0)
P1C1+P2C2+…+pnCn=Dyo(Dyo表示y的导数的初始值y⑴(0))
P1n叱1
p21C2
pn1CpnCn
Dn
1y0
1
1
1
C1
y0
写成矩阵形式为p1
P2
Pn
C2
Dy°
n1
n1
n1
-n1
P1
P2
Pn
Cn
dy°
即
VC=Y0,其解为
C=V\Y0
式中
C[C1,C2,
Cn]T;
Yo
[yo,Dy。
]
||,DnS]
1
1
1
V
P1
P2
Pn
n
1n
1
n1
P1
P2
Pn
vander函数可直接生成。
V为范德蒙矩阵,在MATLAB的特殊矩阵库中有
MATLAB程序ea703.m
a=input('输入分母系数向量a=[a1,a2,...]=');
n=length(a)-1;
p=roots(a);V=rot90(vander(p));c=V\Y0';
dt=input('dt=');tf=input('tf=')
t=0:
dt:
tf;y=zeros(1,length(t));
fork=1:
ny=y+c(k)*exp(p(k)*t);end
plot(t,y),grid
程序运行结果
用这个通用程序来解一个三阶系统,运行此程序
并输入
a=[3,5,7,1];
dt=0.2;tf=8;
而Y0取
[1,0,0];[0,1,0];[0,0,1]
三种情况,用holdon语句使三次运行生成的图形画在一幅图上,得到图2。
减肥配方的实现
设三种食物每100克中蛋白质、碳水化合物和脂肪的含量如下表,表中还给出了80年
代美国流行的剑桥大学医学院的简捷营养处方。
现在的问题是:
如果用这三种食物作为每天的主要食物,那么它们的用量应各取多少?
才能全面准确地实现这个营养要求。
营养
每100g食物所含营养
(g)
减肥所要求的每日营养量
脱脂牛奶
大豆面粉
乳清
蛋白质
36
51
13
33
碳水化合物
52
34
74
45
脂肪
0
7
1.1
3
设脱脂牛奶的用量为X1个单位(100g),大豆面粉的用量为X2个单位(100g),孚L清的用量为X3个单位(100g),表中的三个营养成分列向量为:
3651
13
a152,a234,
a1
74,
07
1.1
则它们的组合所具有的营养为
36
51
13
x1a1x2a2x3a3x152
x2
34x3
74
0
7
1.1
使这个合成的营养与剑桥配方的要求相等,就可以得到以下的矩阵方程:
36
51
13
x1
33
52
34
74
x2
45
Axb
0
7
1.1
x3
3
用MATLAB解这个问题非常方便,列出程序ag763如下:
A=[36,51,13;52,34,74;0,7,1.1]
b=[33;45;3]
x=A\b程序执行的结果为:
0.2772
x0.3919
0.2332
即脱脂牛奶的用量为27.7g,大豆面粉的用量为39.2g,乳清的用量为23.3g,就能保证所需
的综合营养量。
人口迁徙模型
设在一个大城市中的总人口是固定的。
人口的分布则因居民在市区和郊区之间迁徙而变化。
每年有6%的市区居民搬到郊区去住,而有2%的郊区居民搬到市区。
假如开始时有30%的居民住在市区,70%的居民住在郊区,问十年后市区和郊区的居民人口比例是多少?
30年、50年后又如何?
这个问题可以用矩阵乘法来描述。
把人口变量用市区和郊区两个分量表示,即
xck
X,其中xc为市区人口所占比例,xs为郊区人口所占比例,k表示年份的次序。
xsk
MATLAB程序进行计算:
A=[0.94,0.02;0.06,0.98]
x0=[0.3;0.7]
x1=A*x0,
x10=AA10*x0
x30=AA30*x0
x50=AA50*x0
程序运行的结果为:
0.25/0.75。
为了弄清为什么这
无限增加时间k,市区和郊区人口之比将趋向一组常数
A乘以这两个向量的结果不过是改变向量的长度,不影响其相角(方向)
个过程趋向于一个稳态值,我们改变一下坐标系统。
在这个坐标系统中可以更清楚地看到乘以矩阵A的效果。
选U1为稳态向量[0.25,0.75]T的任意一个倍数,令5=[1,3]丁和U2=[-1,1]T。
可以看到,用
适当选择基向量可以使矩阵乘法结果等价于一个简单的实数乘子,避免相角项出现,使得问题简单化。
这也是方阵求特征值的基本思想。
这个应用问题实际上是所谓马尔可夫过程的一个类型。
所得到的向量序列X1,x2,...,Xk称
为马尔可夫链。
马尔可夫过程的特点是k时刻的系统状态Xk完全可由其前一个时刻的状态
xk-1所决定,与k-1时刻之前的系统状态无关。
交通流的分析
某城市有两组单行道,构成了一个包含四个节点A,B,C,D的十字路口如图6.5.2所示。
在交通繁忙时段的汽车从外部进出此十字路口的流量(每小时的车流数)标于图上。
现要求计算每两个节点之间路段上的交通流量Xl,X2,x3,x4。
解:
在每个节点上,进入和离开的车数应该相等,这就决定了四个流通的方程:
节点A:
xi+450=X2+6IO
节点B:
x2+520=X3+480
节点C:
x3+390=X4+600
节点D:
x4+640=X2+310
将这组方程进行整理,写成矩阵形式:
001-1・210
■
0000,0
注意这个系数矩阵所代表的意义,它的左边四列从左至右依次为变量X1,X2,x3,x4的系
数,第五列则是在等式右边的常数项。
把第四列移到等式右边,可以按行列写恢复为方程,其结果为:
X1=X4+330,
X2=X4+170,
X3=X4+210
0=0
由于最后一行变为全零,这个精简行阶梯形式只有三行有效,也就是说四个方程中有一个是相依的,实际上只有三个有效方程。
方程数比未知数的数目少,即没有给出足够的信息来唯一地确定X1,X2,X3,和X4。
其原因也不难从物理上想象,题目给出的只是进入和离开这个十字路区的流量,如果有些车沿着这四方的单行道绕圈,那是不会影响总的输入输出流量的,但可以全面增加四条路上的流量。
所以X4被称为自由变量,实际上它的取值也
不能完全自由,因为规定了这些路段都是单行道,X1,X2,X3,和X4。
都不能取负值。
所以要准确了解这里的交通流情况,还应该在X1,X2,X3,和X4中,再检测一个变量。
价格平衡模型
在Leontiff成为诺贝尔奖金获得者的历史中,线性代数曾起过重要的作用,我们来看看他的基本思路。
假定一个国家或区域的经济可以分解为n个部门,这些部门都有生产产
品或服务的独立功能。
设单列n元向量x是这些n个部门的产出,组成在Rn空间的产出向
量。
先假定该社会是自给自足的经济,这是一个最简单的情况。
因此各经济部门生产出的产品,完全被自己部门和其它部门所消费。
Leontiff提出的第一个问题是,各生产部门的实
际产出的价格p应该是多少,才能使各部门的收入和消耗相等,以维持持续的生产。
Leontiff的输入输出模型中的一个基本假定是:
对于每个部门,存在着一个在Rn空间
单位消耗列向量Vi,它表示第i个部门每产出一个单位(比如100万美金)产品,由本部门和其他各个部门消耗的百分比。
在自给自足的经济中,这些列向量中所有元素的总和应该为1。
把这n个Vi,并列起来,它可以构成一个nxn的系数矩阵,可称为内部需求矩阵V。
举一个最简单的例子,假如一个自给自足的经济体由三个部门组成,它们是煤炭业、电力业和钢铁业。
它们的单位消耗列向量和销售收入列向量p如下表:
由下列部门购买
每单位输出的消耗分配
销售价格p(收入)
煤炭业
电力业
钢铁业
煤炭业
0.
0.4
0.6
Pc
电力业
0.6
0.1
0.2
Pe
钢铁业
0.4
0.5
0.2
Ps
如果电力业产出了100个单位的产品,有40个单位会被煤炭业消耗,10个单位被自己消耗,而被钢铁业消耗的是50个单位,各行业付出的费用为:
0.4
PeV2Pe0.1
0.5
这就是内部消耗的计算方法,把几个部门都算上,可以写出
PcPc
各部门消耗成本=卩他PeVePsVs血弘弘]Pe销售收入Pe
PsPs
0.
0.4
0.6
其中
VVc,Ve,Vs
0.6
0.1
0.2
0.4
0.5
0.2
于是总的价格平衡方程可以写成为:
P-Vp=0
(I-V)P=0
此等式右端常数项为零,是一个齐次方程。
它有非零解的条件是系数行列式等于零,或者用行阶梯简化来求解。
用MATLAB语句写出其解的表示式:
V=[0.,0.4,0.6;0.6,0.1,0.2;0.4,0.5,0.2],
U0=rref([[eye(3)-V],zeros(3,1)])
程序运行的结果为
1.00000-0.93940
U001.0000-0.84850
0000
这个结果是合理的,简化行阶梯形式只有两行,说明[I-V]的秩是2,所以它的行列式必
定为零。
由于现在有三个变量,只有两个方程,必定有一个变量可以作为自由变量。
记住
U0矩阵中各列的意义,它们分别是原方程中pc,pe,ps,的系数,所以简化行阶梯矩阵U0
表示的是下列方程:
Pc-0.9394ps=0Pc=0.9394ps
pe-0.8485ps=0pe=0.8485ps
这里取ps为自由变量,所以煤炭业和电力业的价格应该分别为钢铁业价格的0.94和0.85
倍。
如果钢铁业产品价格总计为100万元,则煤炭业的产品价格总计为94万,电力业的
价格总计为85万
网络的矩阵分割和连接
在电路设计中,经常要把复杂的电路分割为局部电路,每一个电路都用一个网络’黑
盒子’来表示。
黑盒子的输入为Ui,ii,输出为U2,i2,其输入输出关系用一个矩阵A来表示(如
图7.6.1所示):
u2u1
U1
A
■
U2
i1
i2
A
i2h
A是2X2矩阵,称为该局部电路的传输矩阵。
把复杂的电路分成许多串接局部电路,分别求出它们的传输矩阵,再相乘起来,得到总的传输矩阵,
可以使分析电路的工作简化。
图4单个子网络模型
以图7.6.2为例,把两个电阻组成的分压电路分
成两个串接的子网络。
第一个子网络只包含电阻R1,
il
!
親戶
■TV
:
耐
V
1
1
■
・・・.,
■■■q1q■•
、1Y\f
*一
■
■1
•■■■■■■J
1211,U2
U1
写成矩阵方程为:
u21
R1
U1八
A
i20
1
i1
图5两个子网络串联模型
第二个子网络只包含电阻R2,列出第一个子网络的电路方程为:
同样可列出第二个子网络的电路方程,
I3I2
U2/R2>
U3
U2
写成矩阵方程为:
U3
1
0
U2A
A
i3
1/R2
1
i2
从上分别得到两个子网络的传输矩阵
1R110
A11,A2
10121/R21
整个电路的传输矩阵为两者的乘积
1R1101R1
AA1A2
12011/R211/R21R1/R2
实用中通常对比较复杂的网络进行分段,对于这样简单的电路是不分段的,这里只是一个示例。