收藏 分销(赏)

线性代数应用实例.doc

上传人:a199****6536 文档编号:10687164 上传时间:2025-06-09 格式:DOC 页数:9 大小:234.55KB 下载积分:6 金币
下载 相关 举报
线性代数应用实例.doc_第1页
第1页 / 共9页
线性代数应用实例.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
线性代数应用实例 l 求插值多项式 右表给出函数上4个点的值,试求三次插值多项式,并求的近似值。 ti 0 1 2 3 f(ti) 3 0 -1 6 解:令三次多项式函数过表中已知的4点,可以得到四元线性方程组: 对于四元方程组,笔算就很费事了。应该用计算机求解了,键入: >>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]) 得到x = 1 0 0 0 3 0 1 0 0 -2 0 0 1 0 -2 0 0 0 1 1 得到,三次多项函数为,故近似等于。 在一般情况下,当给出函数在n+1个点上的值时,就可以用n次多项式对进行插值。 l 在数字信号处理中的应用----- 数字滤波器系统函数 u 2 x1 y 1/4 -1/4 z-1 x3 x2 z-1 3/8 图1 某数字滤波器结构图 数字滤波器的网络结构图实际上也是一种信号流图。它的特点在于所有的相加节点都限定为双输入相加器;另外,数字滤波器器件有一个迟延一个节拍的运算,它也是一个线性算子,它的标注符号为z -1。根据这样的结构图,也可以用类似于例7.4的方法,求它的输入输出之间的传递函数,在数字信号处理中称为系统函数。 图1表示了某个数字滤波器的结构图,现在要求出它的系统函数,即输出y与输入u之比。先在它的三个中间节点上标注信号的名称x1,x2,x3,以便对每个节点列写方程。由于迟延算子z -1不是数,要用符号代替,所以取q= z -1,按照图示情况,可以写出: 写成矩阵形式为 经过移项后,系统函数W可以写成: 现在可以列写计算系统函数的MATLAB程序ea705, syms q % 规定符号变量 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 = y0 y0 = 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)); for k=1:n y= 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] 三种情况,用hold on语句使三次运行生成的图形画在一幅图上,得到图2。 l 减肥配方的实现 设三种食物每100克中蛋白质、碳水化合物和脂肪的含量如下表,表中还给出了80年代美国流行的剑桥大学医学院的简捷营养处方。现在的问题是:如果用这三种食物作为每天的主要食物,那么它们的用量应各取多少?才能全面准确地实现这个营养要求。 营养 每100g食物所含营养(g) 减肥所要求的每日营养量 脱脂牛奶 大豆面粉 乳清 蛋白质 36 51 13 33 碳水化合物 52 34 74 45 脂肪 0 7 1.1 3 设脱脂牛奶的用量为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.6 0.1 0.2 pe 钢铁业 0.4 0.5 0.2 ps 如果电力业产出了100个单位的产品,有40个单位会被煤炭业消耗,10个单位被自己消耗,而被钢铁业消耗的是50个单位,各行业付出的费用为: 这就是内部消耗的计算方法,把几个部门都算上,可以写出 其中 于是总的价格平衡方程可以写成为: 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)]) 程序运行的结果为 这个结果是合理的,简化行阶梯形式只有两行,说明[I-V]的秩是2,所以它的行列式必定为零。由于现在有三个变量,只有两个方程,必定有一个变量可以作为自由变量。记住U0矩阵中各列的意义,它们分别是原方程中pc,pe,ps,的系数,所以简化行阶梯矩阵U0表示的是下列方程: 这里取ps为自由变量,所以煤炭业和电力业的价格应该分别为钢铁业价格的0.94和0.85倍。如果钢铁业产品价格总计为100万元,则煤炭业的产品价格总计为94万,电力业的价格总计为85万 l 网络的矩阵分割和连接 在电路设计中,经常要把复杂的电路分割为局部电路,每一个电路都用一个网络‘黑盒子’来表示。黑盒子的输入为u1,i1,输出为u2,i2,其输入输出关系用一个矩阵A来表示(如图7.6.1所示): A i1 i2 A是2×2矩阵,称为该局部电路的传输矩阵。 u1 u2 把复杂的电路分成许多串接局部电路,分别求出 它们的传输矩阵,再相乘起来,得到总的传输矩阵, 图4 单个子网络模型 可以使分析电路的工作简化。 以图7.6.2为例,把两个电阻组成的分压电路分成两个串接的子网络。第一个子网络只包含电阻R1,第二个子网络只包含电阻R2,列出第一个子网络的电路方程为: 写成矩阵方程为: 图5 两个子网络串联模型 同样可列出第二个子网络的电路方程, 写成矩阵方程为: 从上分别得到两个子网络的传输矩阵 整个电路的传输矩阵为两者的乘积 实用中通常对比较复杂的网络进行分段,对于这样简单的电路是不分段的,这里只是一个示例。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服