文档库 最新最全的文档下载
当前位置:文档库 › 数值线性代数实验报告

数值线性代数实验报告

数值线性代数实验报告
数值线性代数实验报告

数值线性代数实验报告

用MATLAB解决线性代数问题实验报告

实验三使用MATLAB解决线性代数问题学院:数计学院班级:1003班姓名:黄晓丹学号:1051020144 实验目的: 学习MATLAB有关线性代数运算的指令,主要学习运用MATLAB解决矩阵除法,线性方程组的通解,矩阵相似 对角化问题,以及解决投入产出分析等应用问题。 实验内容: 矩阵转置:A=[1 2;3 4];B=[4 3;2 1]; >> A',B' ans = 1 3 2 4 ans = 4 3 3 1 矩阵加减:A-B ans= -3 -1 1 3 矩阵乘法:A*B,A.*B(数组乘法)||比较矩阵乘法与数组乘法的区别ans= 8 5 20 13 ans= 4 6 6 4 矩阵除法:A\B,B./A ans=

-6 -5 5 4 ans= 4 1.5 0.6667 0.25 特殊矩阵生成:zeros(m,n)||生成m行n列的矩阵 ones(m,n)||生成m行n列的元素全为一的矩阵 eye(n)||生成n阶单位矩阵 rand(m,n)||生成m行n列[0 ,1]上均匀分布随 机数矩阵 zeros(2,3) ans = 0 0 0 0 0 0 >> ones(3,3) ans = 1 1 1 1 1 1 1 1 1 >> eye(3)

ans = 1 0 0 0 1 0 0 0 1 >> rand(2,4) ans = Columns 1 through 3 0.9501 0.6068 0.8913 0.2311 0.4860 0.7621 Column 4 0.4565 0.0185 矩阵处理:trace(A)||返回矩阵的迹 diag(A)||返回矩阵对角线元素构成的向量 tril(A)||提取矩阵的下三角部分 triu(A)||提取矩阵的上三角部分 flipud(A)||矩阵上下翻转 fliplr(A)||矩阵左右翻转 reshape(A,m,n)||将矩阵的元素重排成m行n列矩阵A=[1 2 3;4 5 6;7 8 9]; >> t=trace(A),d=diag(A),u=triu(A)

线性代数知识点总结汇总

线性代数知识点总结 1 行列式 (一)行列式概念和性质 1、逆序数:所有的逆序的总数 2、行列式定义:不同行不同列元素乘积代数和 3、行列式性质:(用于化简行列式) (1)行列互换(转置),行列式的值不变 (2)两行(列)互换,行列式变号 (3)提公因式:行列式的某一行(列)的所有元素都乘以同一数k,等于用数k 乘此行列式 (4)拆列分配:行列式中如果某一行(列)的元素都是两组数之和,那么这个行列式就等于两个行列式之和。 (5)一行(列)乘k加到另一行(列),行列式的值不变。 (6)两行成比例,行列式的值为0。 (二)重要行列式 4、上(下)三角(主对角线)行列式的值等于主对角线元素的乘积 5、副对角线行列式的值等于副对角线元素的乘积乘 6、Laplace展开式:(A是m阶矩阵,B是n阶矩阵),则 7、n阶(n≥2)范德蒙德行列式

数学归纳法证明 ★8、对角线的元素为a,其余元素为b的行列式的值: (三)按行(列)展开 9、按行展开定理: (1)任一行(列)的各元素与其对应的代数余子式乘积之和等于行列式的值(2)行列式中某一行(列)各个元素与另一行(列)对应元素的代数余子式乘积之和等于0 (四)行列式公式 10、行列式七大公式: (1)|kA|=k n|A| (2)|AB|=|A|·|B| (3)|A T|=|A| (4)|A-1|=|A|-1 (5)|A*|=|A|n-1 (6)若A的特征值λ1、λ2、……λn,则 (7)若A与B相似,则|A|=|B| (五)克莱姆法则 11、克莱姆法则: (1)非齐次线性方程组的系数行列式不为0,那么方程为唯一解

(2)如果非齐次线性方程组无解或有两个不同解,则它的系数行列式必为0 (3)若齐次线性方程组的系数行列式不为0,则齐次线性方程组只有0解;如果方程组有非零解,那么必有D=0。 2 矩阵 (一)矩阵的运算 1、矩阵乘法注意事项: (1)矩阵乘法要求前列后行一致; (2)矩阵乘法不满足交换律;(因式分解的公式对矩阵不适用,但若B=E,O,A-1,A*,f(A)时,可以用交换律) (3)AB=O不能推出A=O或B=O。 2、转置的性质(5条) (1)(A+B)T=A T+B T (2)(kA)T=kA T (3)(AB)T=B T A T (4)|A|T=|A| (5)(A T)T=A (二)矩阵的逆 3、逆的定义: AB=E或BA=E成立,称A可逆,B是A的逆矩阵,记为B=A-1 注:A可逆的充要条件是|A|≠0 4、逆的性质:(5条) (1)(kA)-1=1/k·A-1 (k≠0) (2)(AB)-1=B-1·A-1 (3)|A-1|=|A|-1 (4)(A T)-1=(A-1)T (5)(A-1)-1=A

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

Matlab线性代数实验指导书

Matlab线性代数实验指导书 理学院线性代数课程组 二零零七年十月

目录 一、基础知识 (1) 1.1、常见数学函数 (1) 1.2、系统在线帮助 (1) 1.3、常量与变量 (2) 1.4、数组(矩阵)的点运算 (3) 1.5、矩阵的运算 (3) 二、编程 (4) 2.1、无条件循环 (4) 2.2、条件循环 (5) 2.3、分支结构 (5) 2.4、建立M文件 (6) 2.5、建立函数文件 (6) 三、矩阵及其运算 (7) 3.1、矩阵的创建 (7) 3.2、符号矩阵的运算 (11) 四、秩与线性相关性 (14) 4.1、矩阵和向量组的秩以及向量组的线性相关性 (14) 4.2、向量组的最大无关组 (14) 五、线性方程的组的求解 (16) 5.1、求线性方程组的唯一解或特解(第一类问题) (16) 5.2、求线性齐次方程组的通解 (18) 5.3、求非齐次线性方程组的通解 (19) 六、特征值与二次型 (22) 6.1、方阵的特征值特征向量 (22) 6.2、正交矩阵及二次型 (23)

一、基础知识 1.1常见数学函数 函数数学计算功能函数数学计算功能 abs(x) 实数的绝对值或复数的幅值floor(x) 对x朝-∞方向取整acos(x) 反余弦arcsinx gcd(m,n) 求正整数m和n的最大公约数acosh(x) 反双曲余弦arccoshx imag(x) 求复数x的虚部angle(x) 在四象限内求复数x的相角lcm(m,n)求正整数m和n的最小公倍 自然对数(以e为底数) asin(x) 反正弦arcsinx log(x) 常用对数(以 10 为底数) asinh(x) 反双曲正弦arcsinhx log10(x) atan(x) 反正切arctanx real(x) 求复数 x 的实部atan2(x,y) 在四象限内求反正切rem(m,n) 求正整数m和n的m/n之余数atanh(x) 反双曲正切arctanhx round(x) 对x四舍五入到最接近的整数 符号函数:求出 x 的符号ceil(x) 对x朝+∞方向取整 sign(x) conj(x) 求复数x的共轭复数 sin(x) 正弦sinx 反双曲正弦sinhx cos(x) 余弦cosx sinh(x) cosh(x) 双曲余弦coshx sqrt(x) 求实数x的平方根exp(x) 指数函数e x tan(x) 正切tanx fix(x) 对 x 朝原点方向取整 tanh(x) 双曲正切tanhx 如:输入 x=[-4.85 -2.3 -0.2 1.3 4.56 6.75],则: ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6 floor(x) =-5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 7 1.2 系统的在线帮助 1.2.1 help 命令: 1.当不知系统有何帮助内容时,可直接输入 help以寻求帮助: >> help(回车) 2.当想了解某一主题的内容时,如输入: >> help syntax (了解Matlab的语法规定) 3.当想了解某一具体的函数或命令的帮助信息时,如输入: >> help sqrt (了解函数sqrt的相关信息) 1.2.2 lookfor 命令 现需要完成某一具体操作,不知有何命令或函数可以完成,如输入: >> lookfor line (查找与直线、线性问题有关的函数) 1.3 常量与变量

线性代数实验题04-交通网络的流量分析

数学实验报告 学号: , 姓名: , 得分: 实验内容:实验题:交通网络流量分析问题(线性方程组应用) 城市道路网中每条道路、每个交叉路口的车流量调查,是分析、评价及改善城市交通状况的基础。 问题:某城市有下图所示的交通图,每条道路都是单行线,需要调查每条道路每小时的车流量。图中的数字表示该条路段的车流数。如果每个交叉路口进入和离开的车数相等,整个图中进入和离开的车数相等。 求(1)建立确定每条道路流量的线性方程组; (2)分析哪些流量数据是多余的; (3)为了唯一确定未知流量,需要增添哪几条道路的流量统计。 解: (1)由题意得:x1+ x7=400 x1+ x9= x2+300 x2+100=300+ x11 x3+ x7=350+ x8 x4+ x10= x9+ x3 x11+500= x4+ x12 x8+ x5=310 x6+400= x10+ x5 x12+150= x6+290

整理得: x 1+ x 7=400 x 1- x 2+ x 9=300 x 2+ x 11=200 x 3+ x 7- x 8=350 -x 3+x 4+ x 10- x 9=0 -x 4+x 11- x 12=-500 x 5 +x 8=310 - x 5+x 6- x 10=-400 -x 6+ x 12= 140 将方程组写成矩阵向量形式为AX = b 1 0 0 0 0 0 1 0 0 0 0 0 400 x 1 1 -1 0 0 0 0 0 0 1 0 0 0 300 x 2 0 1 0 0 0 0 0 0 0 0 1 0 200 x 3 A= 0 0 1 0 0 0 1 -1 0 0 0 0 b= 350 X= x 4 0 0 -1 1 0 0 0 0 -1 1 0 0 0 x 5 0 0 0 -1 0 0 0 0 0 0 1 -1 -500 x 6 0 0 0 0 1 0 0 1 0 0 0 0 310 x 7 0 0 0 0 -1 1 0 0 0 -1 0 0 -400 x 8 0 0 0 0 0 -1 0 0 0 0 0 1 140 x 9 x 10 x 11 x 12 在MATLAB 环境中,首先输入方程组的系数矩阵A 和方程组右端向量b A=[1,0,0,0,0,0,1,0,0,0,0,0;1,-1,0,0,0,0,0,0,1,0,0,0;0,1,0,0,0,0,0,0,0,0,1,0;0,0,1,0,0,0,1,-1,0,0,0,0;0,0,-1,1,0,0,0,0,-1,1,0,0;0,0,0,-1,0,0,0,0,0,0,1,-1;0,0,0,0,1,0,0,1,0,0,0,0;0,0,0,0,-1,1,0,0,0,-1,0,0;0,0,0,0,-1,0,0,0,0,0,1] b = [400;300;200;350;0;500;310;-400;140] 解得 x 1=- x 9+500 x 2=200 x 3=- x 9+ x 10- x 12

数值线性代数第二版徐树方高立张平文上机习题第一章实验报告(供参考)

上机习题 1.先用你所熟悉的的计算机语言将不选主元和列主元Gauss 消去法编写成通用的子程序;然后用你编写的程序求解84阶方程组;最后将你的计算结果与方程的精确解进行比较,并就此谈谈你对Gauss 消去法的看法。 Sol : (1)先用matlab 将不选主元和列主元Gauss 消去法编写成通用的子程序,得到P U L ,,: 不选主元Gauss 消去法:[])(,A GaussLA U L =得到U L ,满足LU A = 列主元Gauss 消去法:[])(,,A GaussCol P U L =得到P U L ,,满足LU PA = (2)用前代法解()Pb or b Ly =,得y 用回代法解y Ux =,得x 求解程序为()P U L b A Gauss x ,,,,=(P 可缺省,缺省时默认为单位矩阵) (3)计算脚本为ex1_1 代码 %算法(计算三角分解:Gauss 消去法) function [L,U]=GaussLA(A) n=length(A); for k=1:n-1 A(k+1:n,k)=A(k+1:n,k)/A(k,k); A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n); end

U=triu(A); L=tril(A); L=L-diag(diag(L))+diag(ones(1,n)); end %算法计算列主元三角分解:列主元Gauss消去法) function [L,U,P]=GaussCol(A) n=length(A); for k=1:n-1 [s,t]=max(abs(A(k:n,k))); p=t+k-1; temp=A(k,1:n); A(k,1:n)=A(p,1:n); A(p,1:n)=temp; u(k)=p; if A(k,k)~=0 A(k+1:n,k)=A(k+1:n,k)/A(k,k); A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n); else break; end end L=tril(A);U=triu(A);L=L-diag(diag(L))+diag(ones(1,n));

数值分析实验报告

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p Λ 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a Λ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a Λ 的全部根;而函数 poly(v)b = 的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots +

线性代数实验一

数学实验(线性代数)题目 一. 用MATLAB 计算行列式 1.求矩阵10211 22323310 12 1A ????-? ?=??????的行列式的值.2。计算行列式100 110011001 a b c d --- 二.用MATLAB 计算矩阵 1.求矩阵??????????=133212321A 与矩阵???? ??????=132352423B 的和与差及53A B -. 2.求矩阵123212331A ????=??????与324253231B ????=??????的乘积.3.求矩阵112011210A -?? ??=-?? ????的逆矩阵. 4.求矩阵123421213A ????=??????和212121321B ?? ??=?? ???? 相除。 三.用MATLAB 解线性方程组 1. 求解方程组1231231 23240200 x x x x x x x x x --+=?? ++=??+-=?。 2。解方程组AX b =,其中A =212214321??????????,b =317?? ???????? .。 3.Matlab 实验题 某乡镇有甲、乙、丙三个企业. 甲企业每生产1元的产品要消耗0.25元乙企业的产品和0.25元丙企业的产品. 乙企业每生产1元的产品要消耗0.65元甲企业的产品, 0.05元自产的产品和0.05元丙企业的产品. 丙企业每生产1元的产品要消耗0.5元甲企业的产品和0.1元乙企业的产品. 在一个生产周期内, 甲、乙、丙三个企业生产的产品价值分别为100万元, 120万元, 60万元, 同时各自的固定资产折旧分别为20万元, 5万元和5万元. (1) 求一个生产周期内这三个企业扣除消耗和折旧后的新创价值. (2) 如果这三个企业接到外来订单分别为50万元, 60万元, 40万元, 那么他们各生产多少才能满足需求?

数值线性代数第二版徐树方高立张平文上机习题第三章实验报告

数值线性代数第二版徐树方高立张平文上机习题第三章实验报告

第三章上机习题 用 你所熟悉的的计算机语言编制利用QR 分解 求解线性方程组和线性最小二乘问题的通用子程序,并用你编制的子程序完成下面的计算任务: (1)求解第一章上机习题中的三个线性方程组,并将所得的计算结果与前面的结果相比较,说明各方法的优劣; (2)求一个二次多项式+bt+c y=at 2 ,使得在残向量 的2范数下最小的意义下拟合表3.2中的数据; (3)在房产估价的线性模型 11 1122110x a x a x a x y ++++= 中,11 2 1 ,,,a a a 分别表示税、浴室数目、占地面积、车库数目、房屋数目、居室数目、房龄、建筑类型、户型及壁炉数目,y 代表房屋价格。现根据表3.3和表3.4给出的28组数据,求出模型中参数的最小二乘结果。

(表3.3和表3.4见课本P99-100) 解 分析: (1)计算一个Householder 变换H : 由于T T vv I ww I H β-=-=2,则计算一个Householder 变换H 等价于计算相应的 v 、β。其中 ) /(2,||||12v v e x x v T =-=β。 在实际计算中, 为避免出现两个相近的数出现的情形,当0 1 >x 时, 令 2 12 221||||)(-x x x x v n +++= ; 为便于储存,将v 规格化为1 /v v v =,相应的,β变为)/(22 1 v v v T =β 为防止溢出现象,用∞ ||||/x x 代替 (2)QR 分解: 利用Householder 变换逐步将n m A n m ≥?,转化为上三 角矩阵A H H H n n 11 -=Λ,则有

实验2:线性代数实验答案

撰写人姓名:撰写时间:审查人姓名: 实验全过程记录实验 名称线性代数实验 时间2学时 地点数学实验室 姓名学号 同实验者学号 一、实验目的 1、熟练掌握矩阵的基本运算; 2、熟练掌握一般线性方程组的求解; 3、掌握最小二乘法的MATLAB实现,矩阵特征值、特征向量的求解以及化二次型为标准型。 二、实验内容: 1、利用MATLAB实现矩阵的基本运算; 2、利用MATLAB求解一般线性方程组,利用最小二乘法求解超定方程组; 3、利用MATLAB化二次型为标准型。 三、实验用仪器设备及材料 软件需求: 操作系统:Windows XP或更新的版本; 实用数学软件:MATLAB 7.0或更新的版本。 硬件需求: Pentium IV 450以上的CPU处理器、512MB以上的内存、5000MB的自由硬盘空间、 CD-ROM驱动器、打印机、打印纸等。 四、实验原理: 线性代数理论 五、实验步骤: 1、计算下列行列式: ⑴ 4124 1202 10520 0117 ; >> A=[4 1 2 4;1 2 0 2;10 5 2 0;0 1 1 7]; >> det(A) ans =

⑵ 100 110 011 001 a b c d - - - 。 >> syms a b c d; >> A=[a 1 0 0;-1 b 1 0;0 -1 c 1;0 0 -1 d]; >> det(A) ans = a*b*c*d+a*b+a*d+c*d+1 2、设 212 122 221 A ?? ?? =?? ?? ?? ,求1098 ()65 A A A A ?=-+。 >> A=[2 1 2;1 2 2;2 2 1]; >> A^10-6*A^9+5*A^8 ans = 2 2 -4 2 2 -4 -4 -4 8 3、求下列矩阵的逆矩阵: ⑴ 121 342 541 - ?? ?? - ?? ?? - ?? ; >> A=[2 1 2;1 2 2;2 2 1]; >> A^10-6*A^9+5*A^8 ans = 2 2 -4 2 2 -4 -4 -4 8 >> A=[1 2 -1;3 4 -2;5 -4 1]; >> inv(A) ans =

数值线性代数二版徐树方高立张平文上机习题第三章实验报告

- 1 - 第三章上机习题 用你所熟悉的的计算机语言编制利用QR 分解求解线性方程组和线性最小二乘问题的 通用子程序,并用你编制的子程序完成下面的计算任务: (1)求解第一章上机习题中的三个线性方程组,并将所得的计算结果与前面的结果相比较,说明各方法的优劣; (2)求一个二次多项式+bt+c y=at 2 ,使得在残向量的2范数下最小的意义下拟合表3.2中的数据; (3)在房产估价的线性模型 111122110x a x a x a x y ++++= 中,1121,,,a a a 分别表示税、浴室数目、占地面积、车库数目、房屋数目、居室数目、房龄、建筑类型、户型及壁炉数目,y 代表房屋价格。现根据表3.3和表3.4给出的28组数据,求出模型中参数的最小二乘结果。 (表3.3和表3.4见课本P99-100) 解 分析: (1)计算一个Householder 变换H : 由于T T vv I ww I H β-=-=2,则计算一个Householder 变换H 等价于计算相应的v 、β。其中)/(2,||||12v v e x x v T =-=β。 在实际计算中, 为避免出现两个相近的数出现的情形,当01>x 时,令2 12221||||) (-x x x x v n +++= ; 为便于储存,将v 规格化为1/v v v =,相应的,β变为)/(221v v v T =β 为防止溢出现象,用∞||||/x x 代替 (2)QR 分解: 利用Householder 变换逐步将n m A n m ≥?,转化为上三角矩阵A H H H n n 11 -=Λ,则有

?? ? ???=0R Q A ,其中n H H H Q 21=,:),:1(n R Λ=。 在实际计算中,从n j :1=,若m j <,依次计算)),:((j m j A x =对应的)1()1()~ (+-?+-k m k m j H 即对应的j v ,j β,将)1:2(+-j m v j 储存到),:1(j m j A +,j β储存到)(j d ,迭代结束 后再次计算Q ,有??? ? ?? ??=-~001 j j j H I H ,n H H H Q 21=(m n =时1-21n H H H Q =) (3)求解线性方程组b Ax =或最小二乘问题的步骤为 i 计算A 的QR 分解; ii 计算b Q c T 11=,其中):1(:,1n Q Q = iii 利用回代法求解上三角方程组1c Rx = (4)对第一章第一个线性方程组,由于R 的结果最后一行为零,故使用前代法时不计最后一行,而用运行结果计算84x 。 运算matlab 程序为 1 计算Householder 变换 [v,belta]=house(x) function [v,belta]=house(x) n=length(x); x=x/norm(x,inf); sigma=x(2:n)'*x(2:n); v=zeros(n,1); v(2:n,1)=x(2:n); if sigma==0 belta=0; else alpha=sqrt(x(1)^2+sigma); if x(1)<=0 v(1)=x(1)-alpha; else v(1)=-sigma/(x(1)+alpha); end belta=2*v(1)^2/(sigma+v(1)^2); v=v/v(1,1); end end

线性代数实验作业

线性代数实验作业 14B09125 李强 实验一:交通网络流量分析问题 城市道路网中每条道路、每个交叉路口的车流量调查,是分析、评价及改善城市交通状况的基础。 问题:某城市有下图所示的交通图,每条道路都是单行线,需要调查每条道路每小时的车流量。图中的数字表示该条路段的车流数。如果每个交叉路口进入和离开的车数相等,整 求(1)利用上面的观测数据,建立关于各个路口交通流量的线性方程组,并用MATLAB 软件求解; (2)分析在建立的方程组中,哪些方程是多余的,进而判断哪些流量数据是多余的; (3)为了唯一确定未知交通流量,还需要增加哪几条道路的流量统计。 程序:A=zeros(9,12); A(1,1)=1;A(1,7)=1;A(2,1)=1;A(2,2)=-1;A(2,9)=1; A(3,2)=1;A(3,11)=-1;A(4,3)=1;A(4,7)=1;A(4,8)=-1; A(5,3)=-1;A(5,4)=1;A(5,9)=-1;A(5,10)=1; A(6,4)=-1;A(6,11)=1;A(6,12)=-1;A(7,5)=1;A(7,8)=1; A(8,5)=-1;A(8,6)=1;A(8,10)=-1;A(9,6)=-1;A(9,12)=1; A=sym(A) b=[400,300,200,350,0,-500,310,-400,140]'; B=[A,b]; C0=rref(B) d=1:13; d(6)=12;d(12)=6;d(7)=9;d(9)=7;d(8)=10;d(10)=8; B1=B(:,d); C1=rref(B1);

C=C1(:,d) r_B=rank(B) for i=1:9 B_=B;B_(i,:)=[]; r2=rank(B_); A_=B_(:,1:end-1); r1=rank(A_); r(i)=(r1==r2 & r1==8); end r A = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] [ 1, -1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0] [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0] [ 0, 0, 1, 0, 0, 0, 1, -1, 0, 0, 0, 0] [ 0, 0, -1, 1, 0, 0, 0, 0, -1, 1, 0, 0] [ 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1, -1] [ 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0] [ 0, 0, 0, 0, -1, 1, 0, 0, 0, -1, 0, 0] [ 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1] C0 = [ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1,0,500] [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1,0,200] [ 0, 0, 1, 0, 0, 0, 0, 0, 1, -1, -1, 1,500] [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 1, 500] [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, 260] [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, -140] [ 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 1, 0, -100] [ 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0,1, 50] [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] C = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 400] [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 200] [ 0, 0, 1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 350] [ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, -1, 0, 360] [ 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 310] [ 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, 140] [ 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, -1, 0, 100] [ 0, 0, 0, 0, 0, -1, 0, -1, 0, 1, 0, 0, 90] [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] r_B = 8 fori = 1 2 3 4 5 6 7 8 9

数值分析实验报告总结

数值分析实验报告总结 随着电子计算机的普及与发展,科学计算已成为现代科 学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。 算法算法是指由基本算术运算及运算顺序的规定构成的完 整的解题步骤。算法可以使用框图、算法语言、数学语言、自然语言来进行描述。具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。 误差 计算机的计算结果通常是近似的,因此算法必有误差, 并且应能估计误差。误差是指近似值与真正值之差。绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。误差来源见表 第三章泛函分析泛函分析概要 泛函分析是研究“函数的函数”、函数空间和它们之间 变换的一门较新的数学分支,隶属分析数学。它以各种学科

如果 a 是相容范数,且任何满足 为具体背景,在集合的基础上,把客观世界中的研究对象抽 范数 范数,是具有“长度”概念的函数。在线性代数、泛函 分析及相关的数学领域,泛函是一个函数,其为矢量空间内 的所有矢量赋予非零的正长度或大小。这里以 Cn 空间为例, Rn 空间类似。最常用的范数就是 P-范数。那么 当P 取1, 2 ,s 的时候分别是以下几种最简单的情形: 其中2-范数就是通常意义下的距离。 对于这些范数有以下不等式: 1 < n1/2 另外,若p 和q 是赫德尔共轭指标,即 1/p+1/q=1 么有赫德尔不等式: II = ||xH*y| 当p=q=2时就是柯西-许瓦兹不等式 般来讲矩阵范数除了正定性,齐次性和三角不等式之 矩阵范数通常也称为相容范数。 象为元素和空间。女口:距离空间,赋范线性空间, 内积空间。 1-范数: 1= x1 + x2 +?+ xn 2-范数: x 2=1/2 8 -范数: 8 =max oo ,那 外,还规定其必须满足相容性: 所以

数值分析实验报告

实验五 解线性方程组的直接方法 实验5.1 (主元的选取与算法的稳定性) 问题提出:Gauss 消去法是我们在线性代数中已经熟悉的。但由于计算机的数值运算是在一个有限的浮点数集合上进行的,如何才能确保Gauss 消去法作为数值算法的稳定性呢?Gauss 消去法从理论算法到数值算法,其关键是主元的选择。主元的选择从数学理论上看起来平凡,它却是数值分析中十分典型的问题。 实验内容:考虑线性方程组 编制一个能自动选取主元,又能手动选取主元的求解线性方程组的Gauss 消去过程。 实验要求: (1)取矩阵?? ? ?? ?? ?????????=????????????????=1415157,6816816816 b A ,则方程有解T x )1,,1,1(* =。取n=10计算矩阵的 条件数。让程序自动选取主元,结果如何? (2)现选择程序中手动选取主元的功能。每步消去过程总选取按模最小或按模尽可能小的元素作为主元,观察并记录计算结果。若每步消去过程总选取按模最大的元素作为主元,结果又如何?分析实验的结果。 (3)取矩阵阶数n=20或者更大,重复上述实验过程,观察记录并分析不同的问题及消去过程中选择不同的主元时计算结果的差异,说明主元素的选取在消去过程中的作用。 (4)选取其他你感兴趣的问题或者随机生成矩阵,计算其条件数。重复上述实验,观察记录并分析实验结果。 思考题一:(Vadermonde 矩阵)设 ?? ??????????????????????=? ? ? ?????????????=∑∑∑∑====n i i n n i i n i i n i i n n n n n n n x x x x b x x x x x x x x x x x x A 0020 10022222121102001111 ,, 其中,n k k x k ,,1,0,1.01 =+=, (1)对n=2,5,8,计算A 的条件数;随n 增大,矩阵性态如何变化? (2)对n=5,解方程组Ax=b ;设A 的最后一个元素有扰动10-4,再求解Ax=b (3)计算(2)扰动相对误差与解的相对偏差,分析它们与条件数的关系。 (4)你能由此解释为什么不用插值函数存在定理直接求插值函数而要用拉格朗日或牛顿插值法的原因吗? 相关MATLAB 函数提示: zeros(m,n) 生成m 行,n 列的零矩阵 ones(m,n) 生成m 行,n 列的元素全为1的矩阵 eye(n) 生成n 阶单位矩阵 rand(m,n) 生成m 行,n 列(0,1)上均匀分布的随机矩阵 diag(x) 返回由向量x 的元素构成的对角矩阵 tril(A) 提取矩阵A 的下三角部分生成下三角矩阵

实验2:线性代数实验

撰写人姓名:周建文撰写时间:2011.10.29 审查人姓名: 实验全过程记录 实验 名称线性代数实验 时间2学时 地点 数学实验 室 姓名周建文学号1005010622 测控10-6班组 同实验者学号班组 一、实验目的 1、熟练掌握矩阵的基本运算; 2、熟练掌握一般线性方程组的求解; 3、掌握最小二乘法的MA TLAB实现,矩阵特征值、特征向量的求解以及化二次型为标准型。 二、实验内容: 1、利用MATLAB实现矩阵的基本运算; 2、利用MATLAB求解一般线性方程组,利用最小二乘法求解超定方程组; 3、利用MATLAB化二次型为标准型。 三、实验用仪器设备及材料 软件需求: 操作系统:Windows XP或更新的版本; 实用数学软件:MATLAB 7.0或更新的版本。 硬件需求: Pentium IV 450以上的CPU处理器、512MB以上的内存、5000MB的自由硬盘空间、 CD-ROM驱动器、打印机、打印纸等。 四、实验原理: 线性代数理论 五、实验步骤: 1、计算下列行列式: ⑴ 4124 1202 10520 0117 ;⑵ 100 110 011 001 a b c d - - - 。 >> A=[4 1 2 4;1 2 0 2;10 5 2 0;0 1 1 7]; >> det(A)

ans = >> syms a b c d; >> A=[a 1 0 0;-1 b 1 0;0 -1 c 1;0 0 -1 d]; >> det(A) ans = a*b*c*d+a*b+a*d+c*d+1 2、设 212 122 221 A ?? ?? = ?? ?? ?? ,求1098 ()65 A A A A ?=-+。 >> A=[2 1 2;1 2 2;2 2 1]; >> A^10-6*A^9+5*A^8 ans = 2 2 -4 2 2 -4 -4 -4 8 3、求下列矩阵的逆矩阵:⑴ 121 342 541 - ?? ?? - ?? ?? - ?? ;⑵ 10 01 00 λ λ λ ?? ?? ?? ?? ?? 。 >> A=[2 1 2;1 2 2;2 2 1]; >> A^10-6*A^9+5*A^8 ans = 2 2 -4 2 2 -4 -4 -4 8 >> A=[1 2 -1;3 4 -2;5 -4 1]; >> inv(A) ans = -2.0000 1.0000 -0.0000

数值线性代数第二版徐树方高立张平文上机习题第三章实验报告.doc

第三章上机习题 用你所熟悉的的计算机语言编制利用QR分解求解线性方程组和线性最小二乘问题的通 用子程序,并用你编制的子程序完成下面的计算任务: (1)求解第一章上机习题中的三个线性方程组,并将所得的计算结果与前面的结果相比较,说 明各方法的优劣; (2)求一个二次多项式y=at 2+bt+c ,使得在残向量的 2 范数下最小的意义下拟合表中的 数据; 表 t i -1 0 y i 1 1 (3)在房产估价的线性模型 y x0 a1x1 a2 x2 a11x11 中, a1 ,a2 ,, a11分别表示税、浴室数目、占地面积、车库数目、房屋数目、居室数目、房 龄、建筑类型、户型及壁炉数目,y 代表房屋价格。现根据表和表给出的28 组数据,求出模型中参数的最小二乘结果。 (表和表见课本P99-100 ) 解分析: (1)计算一个 Householder 变换 H: 由于H I 2ww T Ivv T,则计算一个Householder 变换 H 等价于计算相应的、 v 。 其中 v x || x || 2 e1 , 2 /( T ) v v 。 在实际计算中, 为避免出现两个相近的数出现的情形,当x1 0 时,令v1 - ( x22 x n2 ) ; x1 || x ||2 为便于储存,将v 规格化为 v v / v1,相应的,变为2v2 /(v T v) 1 为防止溢出现象,用x / || x || 代替 (2) QR分 解: 利用 Householder 变换逐步将 A m n , m n 转化为上三角矩阵H n H n 1 H 1 A ,则有

R A Q,其中Q H1H 2 H n, R (1: n,:) 。 ~ 在实际计算中,从j 1: n ,若j m ,依次计算x A(( j : m, j )) 对应的( H j)( m k 1) ( m k 1) 即对应的 v j,j,将 v j (2 : m j 1) 储存到 A( j 1: m, j) ,j储存到 d ( j) ,迭代结束 后再次计算 Q ,有 H j I j 1 0 H n( n m 时 Q H 1H 2 ~ , Q H1H 2 H n-1 )0 H j (3)求解线性方程组Ax b 或最小二乘问题的步骤为 i计算 A 的QR分解; ii计算 c1Q1T b ,其中 Q1Q (:,1: n) iii利用回代法求解上三角方程组 Rx c1 (4)对第一章第一个线性方程组,由于 R 的结果最后一行为零,故使用前代法时不计最后一行,而用运行结果计算 x84。 运算 matlab 程序为 1 计算 Householder变换[v,belta]=house(x) function [v,belta]=house(x) n=length(x); x=x/norm(x,inf); sigma=x(2:n)'*x(2:n); v=zeros(n,1); v(2:n,1)=x(2:n); if sigma==0 belta=0; else alpha=sqrt(x(1)^2+sigma); if x(1)<=0 v(1)=x(1)-alpha; else v(1)=-sigma/(x(1)+alpha); end belta=2*v(1)^2/(sigma+v(1)^2); v=v/v(1,1); end end

数值线性代数实验

数值线性代数实验 题目:数值线性代数 专业:信息与计算科学班级:班姓名: 山东科技大学 2013年 1 月16日

实验报告说明 学院:信息学院专业:信息班级10-2 姓名: 一、主要参考资料: (1)《Matlab数值计算-案例分析》北京航空出版(2)《Matlab数值分析》机械工业出版 二、课程设计应解决的主要问题: (1)平方根 (2)QR方法 (3)最小二乘法 三、应用软件: (1)Matlab7.0 (2)数学公式编辑器 四、发出日期:课程设计完成日期: 指导教师签字:系主任签字:

指导教师对课程设计的评语 指导教师签字: 年月日

一、问题描述 先用你所熟悉的计算机语言将平方根和改进的平方根法编成写通用的子程序,然后用你编写的程序求解对称正定方程组b x =A ,其中 (1)b 随机的选取,系数矩阵位100阶矩阵 ?? ? ??? ???? ????????????1011101110111011101110 (2)系数矩阵为40阶Hilbert 矩阵,即系数矩阵A 的第i 行第j 列元素为 11-+=j i a ij ,向量b 的第i 个分量为∑=-+=n j i j i b 11 1 。 二、分析与程序 1. 平方根法函数程序如下: function [x,b]=pingfanggenfa(A,b) n=size(A); n=n(1); x=A^-1*b; disp('Matlab 自带解即为x'); for k=1:n A(k,k)=sqrt(A(k,k)); A(k+1:n,k)=A(k+1:n,k)/A(k,k); for j=k+1:n; A(j:n,j)=A(j:n,j)-A(j:n,k)*A(j,k); end end for j=1:n-1 b(j)=b(j)/A(j,j);

相关文档
相关文档 最新文档