线性代数应用实例Word文档格式.doc
《线性代数应用实例Word文档格式.doc》由会员分享,可在线阅读,更多相关《线性代数应用实例Word文档格式.doc(9页珍藏版)》请在冰豆网上搜索。
![线性代数应用实例Word文档格式.doc](https://file1.bdocx.com/fileroot1/2022-10/4/93631a60-573a-4798-b935-095807cfe9a4/93631a60-573a-4798-b935-095807cfe9a41.gif)
00011
得到,三次多项函数为,故近似等于。
在一般情况下,当给出函数在n+1个点上的值时,就可以用n次多项式对进行插值。
l在数字信号处理中的应用-----数字滤波器系统函数
u
x1
y
1/4
-1/4
z-1
x3
x2
3/8
图1某数字滤波器结构图
数字滤波器的网络结构图实际上也是一种信号流图。
它的特点在于所有的相加节点都限定为双输入相加器;
另外,数字滤波器器件有一个迟延一个节拍的运算,它也是一个线性算子,它的标注符号为z-1。
根据这样的结构图,也可以用类似于例7.4的方法,求它的输入输出之间的传递函数,在数字信号处理中称为系统函数。
图1表示了某个数字滤波器的结构图,现在要求出它的系统函数,即输出y与输入u之比。
先在它的三个中间节点上标注信号的名称x1,x2,x3,以便对每个节点列写方程。
由于迟延算子z-1不是数,要用符号代替,所以取q=z-1,按照图示情况,可以写出:
写成矩阵形式为
经过移项后,系统函数W可以写成:
现在可以列写计算系统函数的MATLAB程序ea705,
symsq %规定符号变量
Q(1,2)=q;
Q(2,3)=3/8*q-1/4;
Q(3,1)=1;
%给非零元素赋值
Q(3,3)=0;
%给右下角元素Q(3,3)赋值后,矩阵中未赋值元素都自动置零
P=[2;
1/4;
0] %给P赋值
W=inv(eye(3)-Q)*P %用信号流图求传递函数的公式
程序运行的结果为
W=[-16/(-8+3*q^2-2*q)-2*q/(-8+3*q^2-2*q) ]
[-2*(3*q-2)/(-8+3*q^2-2*q)-2/(-8+3*q^2-2*q)]
[-16/(-8+3*q^2-2*q)-2*q/(-8+3*q^2-2*q)]
我们关心的是以y=x3作为输出的系统函数,故再键入pretty(W(3))
整理后得到
用线性代数方法的好处是适用于任何复杂系统,并能用计算机解决问题。
l信号与系统课程中的应用-----线性时不变系统的零输入响应
描述n阶线性时不变(LTI)连续系统的微分方程为
n≥m
已知y及其各阶导数的初始值为y(0),y
(1)(0),…,y(n-1)(0),求系统的零输入响应。
当LTI系统的输入为零时,其零输入响应为微分方程的齐次解(即令微分方程等号右端为0),其形式为(设特征根均为单根)
其中p1,p2,…,pn是特征方程a1ln+a2ln-1+…+anl+an+1=0的根,它们可用roots(a)语句求得。
各系数C1,…,Cn由y及其各阶导数的初始值来确定。
对此有
C1+C2+…+Cn=y0y0=y(0)
p1C1+p2C2+…+pnCn=Dy0(Dy0表示y的导数的初始值y
(1)(0))
…………………………………
写成矩阵形式为
即V·
C=Y0,其解为C=V\Y0
式中
V为范德蒙矩阵,在MATLAB的特殊矩阵库中有vander函数可直接生成。
MATLAB程序ea703.m
a=input('
输入分母系数向量a=[a1,a2,...]='
);
n=length(a)-1;
Y0=input('
输入初始条件向量Y0=[y0,Dy0,D2y0,...]='
p=roots(a);
V=rot90(vander(p));
c=V\Y0'
;
dt=input('
dt='
tf=input('
tf='
)
图2三阶系统的零输入响应
t=0:
dt:
tf;
y=zeros(1,length(t));
fork=1:
ny=y+c(k)*exp(p(k)*t);
end
plot(t,y),grid
n程序运行结果
用这个通用程序来解一个三阶系统,运行此程序并输入
a=[3,5,7,1];
dt=0.2;
tf=8;
而Y0取
[1,0,0];
[0,1,0];
[0,0,1]
三种情况,用holdon语句使三次运行生成的图形画在一幅图上,得到图2。
l减肥配方的实现
设三种食物每100克中蛋白质、碳水化合物和脂肪的含量如下表,表中还给出了80年代美国流行的剑桥大学医学院的简捷营养处方。
现在的问题是:
如果用这三种食物作为每天的主要食物,那么它们的用量应各取多少?
才能全面准确地实现这个营养要求。
营养
每100g食物所含营养(g)
减肥所要求的每日营养量
脱脂牛奶
大豆面粉
乳清
蛋白质
36
51
13
33
碳水化合物
52
34
74
45
脂肪
7
1.1
设脱脂牛奶的用量为x1个单位(100g),大豆面粉的用量为x2个单位(100g),乳清的用量为x3个单位(100g),表中的三个营养成分列向量为:
则它们的组合所具有的营养为
使这个合成的营养与剑桥配方的要求相等,就可以得到以下的矩阵方程:
用MATLAB解这个问题非常方便,列出程序ag763如下:
A=[36,51,13;
52,34,74;
0,7,1.1]
b=[33;
45;
3]
x=A\b
程序执行的结果为:
即脱脂牛奶的用量为27.7g,大豆面粉的用量为39.2g,乳清的用量为23.3g,就能保证所需的综合营养量。
l人口迁徙模型
设在一个大城市中的总人口是固定的。
人口的分布则因居民在市区和郊区之间迁徙而变化。
每年有6%的市区居民搬到郊区去住,而有2%的郊区居民搬到市区。
假如开始时有30%的居民住在市区,70%的居民住在郊区,问十年后市区和郊区的居民人口比例是多少?
30年、50年后又如何?
这个问题可以用矩阵乘法来描述。
把人口变量用市区和郊区两个分量表示,即其中xc为市区人口所占比例,xs为郊区人口所占比例,k表示年份的次序。
在k=0的初始状态:
。
一年以后,市区人口为xc1=(1-0.02)xc0+0.06xs0,郊区人口xs1=0.02xc0+(1-0.06)xs0,用矩阵乘法来描述,可写成:
此关系可以从初始时间到k年,扩展为,用下列MATLAB程序进行计算:
A=[0.94,0.02;
0.06,0.98]
x0=[0.3;
0.7]
x1=A*x0,
x10=A^10*x0
x30=A^30*x0
x50=A^50*x0
程序运行的结果为:
无限增加时间k,市区和郊区人口之比将趋向一组常数0.25/0.75。
为了弄清为什么这个过程趋向于一个稳态值,我们改变一下坐标系统。
在这个坐标系统中可以更清楚地看到乘以矩阵A的效果。
选u1为稳态向量[0.25,0.75]T的任意一个倍数,令u1=[1,3]T和u2=[-1,1]T。
可以看到,用A乘以这两个向量的结果不过是改变向量的长度,不影响其相角(方向):
初始向量x0可以写成这两个基向量u1和u2的线性组合;
因此
式中的第二项会随着k的增大趋向于零。
如果只取小数点后两位,则只要k>
27,这第二项就可以忽略不计而得到
适当选择基向量可以使矩阵乘法结果等价于一个简单的实数乘子,避免相角项出现,使得问题简单化。
这也是方阵求特征值的基本思想。
这个应用问题实际上是所谓马尔可夫过程的一个类型。
所得到的向量序列x1,x2,...,xk称为马尔可夫链。
马尔可夫过程的特点是k时刻的系统状态xk完全可由其前一个时刻的状态xk-1所决定,与k-1时刻之前的系统状态无关。
l交通流的分析
某城市有两组单行道,构成了一个包含四个节点A,B,C,D的十字路口如图6.5.2所示。
在交通繁忙时段的汽车从外部进出此十字路口的流量(每小时的车流数)标于图上。
现要求计算每两个节点之间路段上的交通流量x1,x2,x3,x4。
在每个节点上,进入和离开的车数应该相等,这就决定了四个流通的方程:
节点A:
x1+450=x2+610
节点B:
x2+520=x3+480
节点C:
x3+390=x4+600
节点D:
x4+640=x2+310
将这组方程进行整理,写成矩阵形式:
图3 单行线交通流图
其系数增广矩阵为:
用消元法求其行阶梯形式,或者直接调用U0=rref([A,b]),可以得出其精简行阶梯形式为
注意这个系数矩阵所代表的意义,它的左边四列从左至右依次为变量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中,再检测一个变量。
l价格平衡模型
在Leontiff成为诺贝尔奖金获得者的历史中,线性代数曾起过重要的作用,我们来看看他的基本思路。
假定一个国家或区域的经济可以分解为n个部门,这些部门都有生产产品或服务的独立功能。
设单列n元向量x是这些n个部门的产出,组成在Rn空间的产出向量。
先假定该社会是自给自足的经济,这是一个最简单的情况。
因此各经济部门生产出的产品,完全被自己部门和其它部门所消费。
Leontiff提出的第一个问题是,各生产部门的实际产出的价格p应该是多少,才能使各部门的收入和消耗相等,以维持持续的生产。
Leontiff的输入输出模型中的一个基本假定是:
对于每个部门,存在着一个在Rn空间单位消耗列向量vi,它表示第i个部门每产出一个单位(比如100万美金)产品,由本部门和其他各个部门消耗的百分比。
在自给自足的经济中,这些列向量中所有元素的总和应该为1。
把这n个vi,并列起来,它可以构成一个n×
n的系数矩阵,可称为内部需求矩阵V。
举一个最简单的例子,假如一个自给自足的经济体由三个部门组成,它们是煤炭业、电力业和钢铁业。
它们的单位消耗列向量和销售收入列向量p如下表:
由下列部门购买
每单位输出的消耗分配
销售价格p
(收入)
煤炭业
电力业
钢铁业
0.
0.4
0.6
pc
0.1
0.2
pe
钢铁