东南大学线性代数实验报告
线性代数实验报告
2.输入:for
n=20:80 p1(n)=prod(365-n+1:365)/365^n; p(n)=1-p1(n); end plot(p)
输出:
3
3: (1) (2) 输入: R = binornd(20,0.25,3,6) 输出: R= 9 8 3 4 6 6 6 3 4 5 6 2 5 6 6 4 7 4 (3)(4) R = binopdf([0:9],20,0.45) R= 0.0000 0.0001 0.0008 0.0040 0.0746 0.1221 0.1623 0.1771
0.0139
0.0365
4:输入: 1.在单元格 A1 中输入“样本数据” ,在单元格 B4 中输入“指标名称” ,在 单元格 C4 中输入“指标数值” ,并在单元格 A2:A21 中输入样本数据。 2.在单元格 B5 中输入“样本容量” ,在单元格 C5 中输入“20” 。 3.计算样本平均行驶里程。在单元格 B6 中输入“样本均值” ,在单元格 C6 中输入公式: “=AVERAGE(A2,A21), ” 4.计算样本标准差。在单元格 B7 中输入“样本标准差” ,在单元格 C7 中 输入公式: “=STDEV(A2,A21)” ,
4
输出:
5: 输入: R = normrnd(0.5,0.015) load 0.497,0.506 0.518
0.524
0.498
0.511
0.520
0.515
0.512
histfit(0.497 0.506 0.518 0.524 0.498 0.511 0.520 0.515 0.512 ); normplot(0.497 0.506 0.518 0.524 0.498 0.511 0.520 0.515 0.512 ); 输出: R = 0.5066
最新东南大学高等数学数学实验报告资料
高等数学A(下册)数学实验实验报告姓名:刘川学号:02A13306实验一:空间曲线与曲面的绘制实验题目利用参数方程作图,作出由下列曲面所围成的立体(1)Z =,= x及xOy面;(2)z = xy, x + y – 1 = 0及z = 0.实验方案:(1)输入如下命令:s1=ParametricPlot3D[{u,v,u*v},{u,-1,1},{v,-1,2},DisplayFuncti on→Identity];s2=ParametricPlot3D[{1-u,u,v},{u,-1,1},{v,-1,2},DisplayFuncti on→Identity];s3=ParametricPlot3D[{u,v,0},{u,-1,1},{v,-1,1},DisplayFunction →Identity];Show[s3,s2,s1,DisplayFunction→$DisplayFunction] 运行输出结果为:(2)输入如下命令:s1=ParametricPlot3D[{u,v,u*v},{u,-1,1},{v,-1,2},DisplayFuncti on→Identity];s2=ParametricPlot3D[{1-u,u,v},{u,-1,1},{v,-1,2},DisplayFuncti on→Identity];s3=ParametricPlot3D[{u,v,0},{u,-1,1},{v,-1,1},DisplayFunction →Identity];Show[s3,s2,s1,DisplayFunction→$DisplayFunction] 运行输出结果为:实验二:无穷级数与函数逼近实验题目1、观察级数的部分和序列的变化趋势,并求和。
实验方案输入如下命令:s[n_]:=Sum[k!/k k,{k,1,n}];data=Table[s[n],{n,0,20}];ListPlot[data]运行输出结果为:1.81.71.61.55101520输入如下命令:运行输出结果为:实验结论:由上图可知,该级数收敛,级数和大约为 1.87;运行求和命令后,得近似值:1.887985.实验题目:2、改变函数中m及x0的数值来求函数的幂级数及观察其幂级数逼近函数的情况:实验方案:输入如下命令:m=-3;f[x_]:=(1+x)^m;x0=1;g[n_,x0_]:=D[f[x],{x,n}]/.x→x0;s[n_,x_]:=Sum[g[k,x0]/k!*(x-x0)^k,{k,0,n}];t=Table[s[n,x],{n,20}];p1=Plot[Evaluate[t],{x,-1/2,1/2}];p2=Plot[(1+x)^m,{x,-1/2,1/2},PlotStyle→RGBColor[0,0,1]];Show[p1,p2]运行输出结果为:543210.40.20.20.4输入如下命令:m=-2;f[x_]:=(1+x)^m;x0=2;g[n_,x0_]:=D[f[x],{x,n}]/.x→x0;s[n_,x_]:=Sum[g[k,x0]/k!*(x-x0)^k,{k,0,n}];t=Table[s[n,x],{n,20}];p1=Plot[Evaluate[t],{x,-1/2,1/2}];p2=Plot[(1+x)^m,{x,-1/2,1/2},PlotStyle→RGBColor[0,0,1]]; Show[p1,p2]运行输出结果为:3.53.02.52.01.51.00.50.40.20.20.4输入如下命令:m=-5;f[x_]:=(1+x)^m;x0=2;g[n_,x0_]:=D[f[x],{x,n}]/.x→x0;s[n_,x_]:=Sum[g[k,x0]/k!*(x-x0)^k,{k,0,n}];t=Table[s[n,x],{n,20}];p1=Plot[Evaluate[t],{x,-1/2,1/2}];p2=Plot[(1+x)^m,{x,-1/2,1/2},PlotStyle→RGBColor[0,0,1]];Show[p1,p2]运行输出结果为:43210.40.20.20.4实验结论:由以上各图可知:当x趋近于某个值时,幂级数逼近原函数实验题目:3、观察函数展成的Fourier级数的部分和逼近的情况。
东南大学几何与代数matlab实验报告1
数学实验报告学号: 04211702 , 姓名: 武亚文, 得分:实验1 求解线性方程组实验内容: 用MATLAB求解如下线性方程组Ax = b, 其中A =5600000015600000015600000015600000015600000015600000015600000015⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦, b = [04211702] T.实验目的: 1. 了解MATLAB软件, 学会MATLAB软件的一些基本操作;2. 熟悉MATLAB软件的一些数值计算功能,如在矩阵方面的运算;3. 练习编写简单的MATLAB程序。
实验原理: 1. 对于齐次线性方程组Ax = b, 根据gramer法则, 其解为X i=D i/D;2. 当A可逆,即|A|≠0时, 方程组Ax = b的解为X=inv(A)*B;3. 当……时, 对增广矩阵[A, b]进行初等行变换, 把它化为最简形, 则原矩阵b对应的地方即为A-1*b,取最简形的最后一列赋给X即得线性方程组的解。
实验方案: 1. 在MATLAB命令窗口中输入如下命令:A=[5 6 0 0 0 0 0 0;1 5 6 0 0 0 0 0;0 1 5 6 0 0 0 0;0 0 1 5 6 0 0 0;0 0 0 1 5 6 0 0;0 0 0 0 1 5 6 0;0 0 0 0 0 1 5 6;0 0 0 0 0 0 1 5;];b=[0 4 2 1 1 7 0 2]';%输入矩阵A与bX=[]; %声明一个名为X的空矩阵D=det(A); %把A的行列式的值求出来赋给Dfor i=1:8 %开始循环语句A=[5 6 0 0 0 0 0 0;1 5 6 0 0 0 0 0;0 1 5 6 0 0 0 0;0 0 1 5 6 0 0 0;0 0 0 1 5 6 0 0;0 0 0 0 1 5 6 0;0 0 0 0 0 1 5 6;0 0 0 0 0 0 1 5;];b=[04211702]';A(:,i)=b; %把A的第i列替换成bX=[X,det(A)/D]; %把求出的每个值填入空矩阵X对应的列中i=i+1; %让i递增一控制循环的结束end %结束for循环X=X’%输出矩阵X的转置,即为线性方程组的解2. 在MATLAB命令窗口中输入如下命令:A=[5 6 0 0 0 0 0 0;1 5 6 0 0 0 0 0;0 1 5 6 0 0 0 0;0 0 1 5 6 0 0 0;0 0 0 1 5 6 0 0;0 0 0 0 1 5 6 0;0 0 0 0 0 1 5 6;0 0 0 0 0 0 1 5];b=[0 4 2 1 1 7 0 2]';%输入矩阵A和bX=inv(A)*b%把A逆与b相乘的结果赋给X,即为线性方程组的解3. 在MATLAB命令窗口中输入如下命令:A=[5 6 0 0 0 0 0 0;1 5 6 0 0 0 0 0;0 1 5 6 0 0 0 0;0 0 1 5 6 0 0 0;0 0 0 1 5 6 0 0;0 0 0 0 1 5 6 0;0 0 0 0 0 1 5 6;0 0 0 0 0 0 1 5];b=[0 4 2 1 1 7 0 2]'; %输入矩阵A和bC=rref([A,b]); %将A的增广矩阵[A,b]化为最简形并赋给CX=C(:,9) %取C的第九列并赋给X,即为线性方程组的解实验结果: 1. 2. 3.X =-15187/1877783/115-4515/1074238/175-2116/1637011/1009-401/163727/815 X =-15187/1877783/115-4515/1074238/175-2116/1637011/1009-401/163727/815X =.-15187/1877783/115-2152/51557/23-701/54674/97-123/5033/375对实验结果的分析:在上述3种方案中,前两种的结果完全相同,而与第三种方案的结果稍有不同,但差距极小,只要是由于不同的计算方法导致运算过程中近似程度不同,导致最终的精度不同。
东南大学计算方法实验报告
计算方法与实习实验报告学院:电气工程学院指导老师:***班级:160093******学号:********实习题一实验1 拉格朗日插值法一、方法原理n次拉格朗日插值多项式为:L n(x)=y0l0(x)+y1l1(x)+y2l2(x)+…+y n l n(x)n=1时,称为线性插值,L1(x)=y0(x-x1)/(x0-x1)+ y1(x-x0)/(x1-x0)=y0+(y1-x0)(x-x0)/(x1-x0)n=2时,称为二次插值或抛物线插值,精度相对高些L2(x)=y0(x-x1)(x-x2)/(x0-x1)/(x0-x2)+y1(x-x0)(x-x2)/(x1-x0)/(x1-x2)+y2(x-x0)(x-x1)/(x2-x0)/(x2-x1)二、主要思路使用线性方程组求系数构造插值公式相对复杂,可改用构造方法来插值。
对节点x i(i=0,1,…,n)中任一点x k(0<=k<=n)作一n 次多项式l k(x k),使它在该点上取值为1,而在其余点x i(i=0,1,…,k-1,k+1,…,n)上为0,则插值多项式为L n(x)=y0l0(x)+y1l1(x)+y2l2(x)+…+y n l n(x) 上式表明:n 个点x i(i=0,1,…,k-1,k+1,…,n)都是l k(x)的零点。
可求得l k三.计算方法及过程:1.输入节点的个数n2.输入各个节点的横纵坐标3.输入插值点4.调用函数,返回z函数语句与形参说明程序源代码如下:#include<iostream>#include<math.h>using namespace std;#define N 100double fun(double *x,double *y, int n,double p);void main(){int i,n;cout<<"输入节点的个数n:";cin>>n;double x[N], y[N],p;cout<<"please input xiangliang x= "<<endl;for(i=0;i<n;i++)cin>>x[i];cout<<"please input xiangliang y= "<<endl;for(i=0;i<n;i++)cin>>y[i];cout<<"please input LagelangrichazhiJieDian p= "<<endl;cin>>p;cout<<"The Answer= "<<fun(x,y,n,p)<<endl;system("pause") ;}double fun(double x[],double y[], int n,double p){double z=0,s=1.0;int k=0,i=0;double L[N];while(k<n){ if(k==0){ for(i=1;i<n;i++)s=s*(p-x[i])/(x[0]-x[i]);L[0]=s*y[0];k=k+1;}else{s=1.0;for(i=0;i<=k-1;i++)s=s*((p-x[i])/(x[k]-x[i]));for(i=k+1;i<n;i++) s=s*((p-x[i])/(x[k]-x[i]));L[k]=s*y[k];k++;}}for(i=0;i<n;i++)z=z+L[i];return z;}五.实验分析n=2时,为一次插值,即线性插值n=3时,为二次插值,即抛物线插值n=1,此时只有一个节点,插值点的值就是该节点的函数值n<1时,结果都是返回0的;这里做了n=0和n=-7两种情况3<n<100时,也都有相应的答案常用的是线性插值和抛物线插值,显然,抛物线精度相对高些n次插值多项式Ln(x)通常是次数为n的多项式,特殊情况可能次数小于n.例如:通过三点的二次插值多项式L2(x),如果三点共线,则y=L2(x)就是一条直线,而不是抛物线,这时L2(x)是一次式。
线性代数实验报告[1].doc
线性代数实验报告
专业班级姓名学号
实验日期年月日星期
成绩评定教师签名批改日期
题目1:交通流量问题:
下图给出某城市部分街道的交通流量(单位:辆/小时):
假设:(1)全部流入网络的流量等于全部流出网络的流量;
(2)全部流入一个节点的流量等于全部流出此节点的流量. 试建立数学模型,以确定该交通网络未知部分的具体流量.
(要求:1. 模型建立(即:列出线性方程组),2. 求解,3. 输出结果,4. 结果综述.)
题目2:求一个正交变换,将二次型:434241312
1242322211262421993x x x x x x x x x x x x x x f --++-+++=
化为标准型 ,判断此二次型的正定性。
东南大学高数实验报告(程全新班专用)
高等数学数学实验报告学号: 姓名:1、 根据上面的实验步骤,通过作图,观察重要极限:e nnn =+∞→)11(lim 。
解:输入命令如下aa 1111,1122,1133Do aaAppend aa,11ii;ListPlot aa,PlotRange 1,3,PlotStylePointSize 0.018,i,5,20程序运行结果如下由运行结果和图像可知,重要极限在2.5到2.75之间,无限趋近于e 。
2、 已知函数)45( 21)(2≤≤-++=x cx x x f ,作出并比较当c 分别取0,2时的图形,并从图上观察极值点、驻点、单调区间、凹凸区间以及渐近线。
解:c=0时,输入命令与运行结果如下f x_:1x 22xPlot f x ,x,5,4,GridLines Automatic,Frame True,PlotStyleRGBColor 1,0,0-10Plot f'x ,x,5,4,GridLines Automatic,Frame True,PlotStyle RGBColor 1,0,0,PlotLabel"a graph of f'x "-4-224-75-50-250255075a graphof f'xPlot f''x ,x,5,4,GridLines Automatic,Frame True,PlotStyle RGBColor 1,0,0,PlotLabel"a graph of f''x "-4-224-400-200200400a graphof f''xSolve f'x0,xx 1Solve f''x0,xx1333,x1333c=2时,输入命令与运行结果如下f x_:1x 22x2Plot f x ,x,5,4,GridLines Automatic,Frame True,PlotStyleRGBColor 1,0,00.20.40.6Plot f'x ,x,5,4,GridLines Automatic,Frame True,PlotStyle RGBColor 1,0,0,PlotLabel"a graph of f'x "-4-224-0.6-0.4-0.200.20.40.6a graphof f'xPlot f''x ,x,5,4,GridLines Automatic,Frame True,PlotStyle RGBColor 1,0,0,PlotLabel"a graph of f''x "-4-224-2-1.5-1-0.500.5a graphof f''xSolve f'x 0,xx1Solve f''x0,xx 1333,x13333、 对x x f cos )( 重复上面的实验。
线性代数实验报告
线性代数实验报告一、实验目的线性代数是一门重要的数学基础课程,它在工程、科学、计算机等领域都有着广泛的应用。
本次实验的目的是通过实际操作和计算,加深对线性代数基本概念和方法的理解,提高运用线性代数知识解决实际问题的能力。
二、实验环境本次实验使用了软件名称软件进行计算和绘图。
三、实验内容(一)矩阵的运算1、矩阵的加法和减法给定两个矩阵 A 和 B,计算它们的和 A + B 以及差 A B。
观察运算结果,验证矩阵加法和减法的规则。
2、矩阵的乘法给定两个矩阵 C 和 D,其中 C 的列数等于 D 的行数,计算它们的乘积 CD。
分析乘法运算的结果,理解矩阵乘法的意义和性质。
(二)行列式的计算1、二阶和三阶行列式的计算手动计算二阶和三阶行列式的值,熟悉行列式的展开法则。
使用软件验证计算结果的正确性。
2、高阶行列式的计算选取一个四阶或更高阶的行列式,利用软件计算其值。
观察行列式的值与矩阵元素之间的关系。
(三)线性方程组的求解1、用高斯消元法求解线性方程组给定一个线性方程组,将其增广矩阵通过初等行变换化为行阶梯形矩阵。
求解方程组的解,并验证解的正确性。
2、用矩阵的逆求解线性方程组对于系数矩阵可逆的线性方程组,计算系数矩阵的逆矩阵。
通过逆矩阵求解方程组,并与高斯消元法的结果进行比较。
(四)向量组的线性相关性1、判断向量组的线性相关性给定一组向量,计算它们的线性组合是否为零向量。
根据计算结果判断向量组的线性相关性。
2、求向量组的极大线性无关组对于给定的向量组,通过初等行变换找出极大线性无关组。
(五)特征值和特征向量的计算1、计算矩阵的特征值和特征向量给定一个矩阵,计算其特征值和对应的特征向量。
验证特征值和特征向量的定义和性质。
2、利用特征值和特征向量进行矩阵对角化对于可对角化的矩阵,将其化为对角矩阵。
四、实验步骤(一)矩阵的运算1、首先在软件中输入矩阵 A 和 B 的元素值。
2、然后使用软件提供的矩阵加法和减法功能,计算 A + B 和 A B 的结果。
数学实验报告线性代数
数学实验报告(线性代数) 数学实验报告(线性代数)一、实验目的本次实验旨在通过对线性代数基本概念的探究,熟悉并掌握矩阵运算、向量空间、特征值与特征向量等核心概念,培养我们的数学思维与解决实际问题的能力。
二、实验内容1.矩阵运算我们首先通过Excel或其他数学软件,进行矩阵的加减法、乘法、转置等基本运算,并计算矩阵的行列式、逆矩阵等。
通过这些运算,我们深入理解矩阵这一基本概念以及其在线性代数中的重要性。
2.向量空间我们对向量空间进行深入的研究,包括向量的加减法、数乘等基本运算,以及向量空间的各种性质,如封闭性、结合律、分配律等。
通过具体的计算和证明,我们对向量空间有了更深入的理解。
3.特征值与特征向量在本次实验中,我们通过计算矩阵的特征多项式,找到矩阵的特征值,并求出相应的特征向量。
我们通过这种方法,理解了特征值和特征向量的物理意义,也掌握了求解特征值和特征向量的基本方法。
三、实验过程记录实验开始时间:XXXX年XX月XX日实验地点:数学实验室参与人员:小组成员1、小组成员2、小组成员3实验具体过程:1.矩阵运算:我们利用Excel软件进行矩阵的加减法、乘法等基本运算,通过具体的计算,我们发现矩阵的乘法并不满足交换律,而且矩阵的乘积的行列式并不等于原来两个矩阵行列式的乘积。
这让我们更深入的理解了矩阵乘法的规则和其意义。
2.向量空间:我们首先对向量的加减法、数乘等基本运算进行计算,以深入理解向量空间的基本性质。
接着我们对向量空间的封闭性、结合律、分配律等进行了证明。
通过这一系列的操作,我们明白了向量空间是一个具有丰富性质的数学结构。
3.特征值与特征向量:首先我们计算了矩阵的特征多项式,然后用求根公式求出了特征值。
接着我们根据定义求出了相应的特征向量。
在这个过程中,我们明白了特征值和特征向量的物理意义,也掌握了求解特征值和特征向量的基本方法。
实验结束时间:XXXX年XX月XX日四、实验总结及感想通过这次实验,我们更深入地理解了线性代数的基本概念和性质。
东南大学几代数学实验(比赛排名问题)
《几何与代数》数学实验报告比赛排名问题在有n 位选手参加的单循环比赛中,比赛胜一场得1分,负一场得0分,我们可以构造一个对角线元素为零的n 阶矩阵()ij m M =表示比赛结果,其中⎩⎨⎧=ji j i m ij 负于选手选手胜选手选手01矩阵M 的第i 行表示选手i 的比赛胜负情况,该行元素之和为选手i 的取胜次数,即选手i 在比赛中的积分。
如果e 表示元素全为1的n 维列向量,则向量e M s ⋅=1的每个元素就是每位选手的积分。
可以根据每位选手的积分高低确定比赛名次。
如果有多位选手积分相同,则需要考虑第二级积分e M s M s ⋅=⋅=212,即所战胜选手的积分之和。
根据第二级积分,选手名次的排列可能会出现波动,继续计算第三级、第四级积分……,一般地由e M s M s k k k ⋅=⋅=-1计算第k 级积分。
根据竞赛图理论,如果比赛至少有4位选手参加、并且任意两位选手比赛的负者都可以间接“战胜”其胜者,则对于矩阵M 的最大的特征值)0(>λ和特征向量s ,成立s e M kk =⋅⎪⎭⎫⎝⎛∞→λlim (1) 这表明在一定条件下,积分向量序列收敛到一个固定的排列,我们可以根据积分向量s 各分量的大小确定各选手的成绩排名。
在计算时可以将特征向量s 或者k s 各个分量同时除以一个数,保证s 的分量的绝对值在迭代过程中不趋向于无穷大(零)。
一种常用的方法是对向量进行归一化处理,即使向量各分量绝对值的和为1。
具体求出积分向量s 的方法有两种:方法一:直接计算矩阵M 的最大特征值,及其对应的特征向量s ,并对它们进行归一化处理,并根据特征向量s 确定选手的名次排列;方法二:依次计算各级积分向量,并对它们进行归一化处理,直至相邻两次计算的结果小于指定的精度,并根据最后的积分向量s 确定选手的名次排列。
问题:请自行构造有8名选手参加的单循环比赛成绩矩阵M ,要求有两组选手,他们的积分分别相同,比如一组4人都得4分,一组4人都得3分。
线性代数实验报告
线性代数实验报告
本次实验我们主要学习了线性代数的基础知识,包括向量的表示、矩阵的表示、线性方程组的求解以及线性变换的性质等方面。
在实验中,我们使用MATLAB进行计算及可视化操作。
具体来说,我们学习了以下几个方面的内容:
1. 向量的表示
向量是线性代数的基本概念之一,表示一个有向线段。
而在计算机中,可以通过向量的坐标来表示向量。
本次实验中,我们学习了如何使用MATLAB求出向量的模长、单位向量以及两个向量之间的夹角等。
矩阵是线性代数中的另一个重要概念,常用于表示线性方程组的系数矩阵。
在MATLAB 中,矩阵可以通过嵌套的向量来表示。
我们学习了如何求矩阵的行列式、逆矩阵、特征值等。
3. 线性方程组的求解
线性方程组是线性代数中的一个重要概念,其解法有很多种,包括高斯消元法、LU分解法、Jacobi迭代法等。
本次实验中,我们学习了如何使用MATLAB求解线性方程组,并对几种求解方法进行了比较和分析。
4. 线性变换的性质
线性变换是线性代数中的另一个重要概念,可以将一个向量空间变换成另一个向量空间。
在MATLAB中,可以通过矩阵乘法的方式来表示线性变换。
我们学习了线性变换的一些基本性质,如线性、保持原点等,并通过可视化的方式观察线性变换的效果。
通过本次实验,我们不仅掌握了线性代数的一些基础知识,也学会了使用MATLAB进行线性代数方面的计算和可视化操作。
这对于学习和研究线性代数都有着重要的意义。
大学数学实验五_线性代数方程组的数值解法
【实验目的】 1、学会用 MATLAB 软件数值求解线性代数方程组,对迭代法的收敛性和解
的稳定性作初步分析。 2、通过实例学习用线性代数方程组解决简化的实际问题。
【实验内容】
3 已知方程组 Ax=b,其中
,定义为
试通过迭代法求解此方程组,认识迭代法收敛的含义以及迭代初值和方程组系数矩阵性质对 收敛速度的影响。实验要求: (1) 选取不同的初始向量 x(0)和不同的方程组的右端项向量 b,给定迭代误差要求,用雅
k=k+1; xj=Bj*xj+fj; 多输出了矩阵 P,矩阵 P 可视为一个行向量,其每个元素均为迭代 k 次后得到的 xk。这样以 k 为横轴,解向量为纵轴,可输出图形观察 xk 是否收敛。函数 GaussSeidel 也需作同样修改,修改后的函数在此不再赘述。
模型: 已知某年该植物的数量为 x0,记第 k 年的植物数量为 xk,那么有 xk + pxk-1 + qxk-2 = 0 (k = 2, 3, …… , n)
其中 p = -a1bc,q = -a2b(1-a1)bc。若要求 n 年后数量达到 xn,则 Ax = b
其中
,
,
7
① 用稀疏系数矩阵求解。
这个函数中,n 表示矩阵 A 的阶数,在本题中恒取 20,a 表示主对角线元素的值,b 在 本题中恒取-1/4,c 在本题中恒取-1/2。
编写用雅可比迭代法求方程解的函数 Jacobi。
function [xj,k]=Jacobi(A,X0,b,e) D=diag(diag(A)); n=length(A); L=-(tril(A)-D); U=-(triu(A)-D); fj=D\b; Bj=D\(L+U); xj=X0; k=0; while norm(A*xj-b)/norm(b)>e
数学建模实验报告1 张雯豪
东南大学数学建模与实验实验报告04012443 张雯豪1. 用Matlab求解线性方程组Ax=b, 其中A是8*8的三对角矩阵,主对角线元素为5,主对角线上方的次对角线元素为6,主对角线下方的次对角线元素为1,b的8个分量取自个人的学号。
例如,某人学号为02107656,则列向量b为 (0 2 1 0 7 6 5 6)的转置。
用Cramer法则、作为矩阵方程、Gauss 消元法三种方式分别求解。
学号是04012443,故b=[0,4,0,1,2,4,4,3]’,而A=[ 5 6 0 0 0 0 0 01 5 6 0 0 0 0 00 1 5 6 0 0 0 00 0 1 5 6 0 0 00 0 0 1 5 6 0 00 0 0 0 1 5 6 00 0 0 0 0 1 5 60 0 0 0 0 0 1 5] Cramer法则求解:M文件程序段如下:A =[5,6,0,0,0,0,0,0;1,5,6,0,0,0,0,0;0,1,5,6,0,0,0,0;0,0,1,5,6,0,0,0;0,0,0,1,5,6,0,0;0,0,0,0,1,5,6,0;0,0,0,0,0,1,5,6;0,0,0,0,0,0,1,5];b=[0,4,0,1,2,4,4,3]';x=[0,0,0,0,0,0,0,0]'; for n=1:8C=A;C(:,n)=b;x(n)=det(C)/det(A); endformat ratx'运行结果为:M文件会在附件中给出。
矩阵方程求解:M文件程序段如下:A =[5,6,0,0,0,0,0,0; 1,5,6,0,0,0,0,0; 0,1,5,6,0,0,0,0; 0,0,1,5,6,0,0,0; 0,0,0,1,5,6,0,0; 0,0,0,0,1,5,6,0; 0,0,0,0,0,1,5,6; 0,0,0,0,0,0,1,5]; b=[0,4,0,1,2,4,4,3]'; A=inv(A);x=A*b;x'运行结果如下:M文件会在附件中给出。
线性代数实验报告汇总
数学实验报告题目第一次实验题目一、 实验目的1.熟悉MATLAB 的矩阵初等运算;2.掌握求矩阵的秩、逆、化最简阶梯形的命令;3.会用MABLAB 求解线性方程组二、 问题求解和程序设计流程1. 已知⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=351503224A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=112302431B ,在MATLAB 命令窗口中建立A 、B 矩阵并对其进行以下操作:(1) 计算矩阵A 的行列式的值det()?A =(2) 分别计算下列各式:B A -2 、 B A *和B A *.、 1-AB 、 B A 1-、 2A 、 TA解: (1) 编写程序如下:A=[4 -2 2;-3 0 5;1 5 3];B=[1 3 4;-2 0 -3;2 -1 1];a=det(A)运行结果:a =-158(2)编写程序如下:C=2*A-BD=A*BE=A.*BF=A/BG=A\BH=A*AK=A'运行结果:C =7 -7 0-4 0 130 11 5D =12 10 247 -14 -7-3 0 -8E =4 -6 86 0 -152 -5 3F =0 0 2.0000-2.7143 -8.0000 -8.14292.42863.0000 2.2857G =0.4873 0.4114 1.00000.3671 -0.4304 0-0.1076 0.2468 0H =24 2 4-7 31 9-8 13 36K =4 -3 1-2 0 52 5 32.在MATLAB中分别利用矩阵的初等变换及函数rank、函数inv求下列矩阵的秩:(1) ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=4211104532361A 求 Rank(A)=? (2) 3501120010201202B ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦求?1=-B 解: (1)编写程如下:format ratA=[1 -6 3 2;3 -5 4 0;-1 -11 2 4];rref(A)运行结果:ans =1 0 0 -8/50 1 0 00 0 1 6/5由A 经初等变换后得到的行最简型可知:A 的秩为3。
线性代数报告
与 B 的乘积 X, 即 :
205000
X=
210000 80000
29000
275000 220000 115000 50000
295000 240000 120000 42000
பைடு நூலகம்200000
200000
75000
26000
根据矩阵 X, 可以得到各类产品总成本分类表, 如表三。
成本(元)
线性代数是一个数学分支,是代数的一个重要学科它对于培养学生严谨的逻 辑推理和抽象思维能力起着不可或缺的作用。线性代数研究最多的是矩阵。矩阵 是一个数表,而这个数表可以进行变换,以形成新的数表。也就是说如果抽象出 某种变化规律,就可以用代数的理论对研究的数表进行变换,并得出想要的 一些结论。所以,矩阵是一种方便的计算工具,可以以简单的形式表示复杂的公 式,比如数字图像处理、计算机图形学、计算几何学、人工智能、网络通信以及 一般的算法设计和分析等。因此,矩阵的应用日趋广泛,很多领域都要用到矩阵 的知识。
数字1-26代替,叹号用27代替,构成一个对照表。此时,“Welcome!Tianjindaxue” 可译为:23 5 12 3 15 13 5 27 20 9 1 14 10 9 14 4 1 24 21 5 将发送数字排
线性代数实验报告范例
《线性代数》实验报告学号: 姓名: 得分:实验1 化学方程式配平实验内容: 配平下列反应式FeS + KMnO 4 + H 2SO 4 —— K 2SO 4 + MnSO 4 + Fe 2(SO 4)3 + H 2O + S ↓实验目的: 1. 掌握MATLAB 中若干基本命令.2. 利用MATLAB 求解齐次线性方程组, 并应用于化学方程式的配平.实验原理: 利用线性方程组配平化学方程式是一种待定系数法. 关键是根据化学方程式两边所涉及到的各种元素的量相等的原则列出方程. 所得到的齐次线性方程组Ax = 0中所含方程的个数等于化学方程式中元素的种数s , 未知数的个数就是化学方程式中的项数n .当r(A ) = n -1时, Ax = 0的基础解系中含有1个(线性无关的)解向量. 这时在通解中取常数k 为各分量分母的最小公倍数即可.当r(A ) ≤ n -2时, Ax = 0的基础解系中含有2个以上的线性无关的解向量. 这时可以根据化学方程式中元素的化合价的上升与下降的情况, 在原线性方程组中添加新的方程.设x 1 FeS + x 2 KMnO 4 + x 3 H 2SO 4=== x 4 K 2SO 4 + x 5 MnSO 4 + x 6 Fe 2(SO 4)3 + x 7 H 2O + x 8S ↓,考察方程式两边各种元素可得1613456824252 ......F e 3 ......S 2 ......K x x x x x x x x x x x x =+=+++==23456737 ......M n 444412 ......O22 ......Hx x x x x x x x ⎧⎪⎪⎪⎪⎨⎪⎪+=+++⎪=⎪⎩, 即1613456824252345673720302004444120220x x x x x x x x x x x x x x x x x x x x -=⎧⎪+----=⎪⎪-=⎪⎨-=⎪⎪+----=⎪-=⎪⎩注意到FeS 中Fe 的化合价为+2, S 的化合价为-2, KMnO 4中Mn 的化合价为+7, 反应后它们的化合价分别变为+3, 0, +2. 因此有3x 1 - 5x 2 = 0.综上所述, 可得如下齐次线性方程组161345682425234567371220302004444120220350x x x x x x x x x x x x x x x x x x x x x x -=⎧⎪+----=⎪⎪-=⎪-=⎨⎪+----=⎪⎪-=⎪-=⎪⎩ (*)实验方案: 1. 在MATLAB 命令窗口中输入如下命令:>> A = [1,0,0,0,0,-2,0,0;1,0,1,-1,-1,-3,0,-1;0,1,0,-2,0,0,0,0;0,1,0,0,-1,0,0,0;0,4,4,-4,-4,-12,-1,0;0,0,2,0,0,0,-2,0; 3,-5,0,0,0,0,0,0];>> r = rank(A), x = null(A,’r ’); format rat, x ’实验结果: Matlab 执行上述命令后得r = 7 ans =1 3/5 12/5 3/10 3/5 1/2 12/5 1 可见上述齐次线性方程组的通解为x = k (1, 3/5, 12/5, 3/10, 3/5, 1/2, 12/5, 1)T .取k = 10得x = (10, 6, 24, 3, 6, 5, 24, 10)T . 可见配平后的化学方程式如下10 FeS + 6 KMnO 4 + 24 H 2SO 4=== 3 K 2SO 4 + 6 MnSO 4 + 5 Fe 2(SO 4)3 + 24 H 2O + 10 S ↓对实验结果的分析:上述化学方程式中左右两边的原子团(SO 4)的数目也是一致的. 这意味着原子团(SO 4)在反应前后总量未变.如果事先考察原子团(SO 4)的数目, 则可以得到x 3 = x 4 + x 5 + 3x 6, 即x 3 - x 4 - x 5 - 3x 6 = 0.将上面的方程组(*)中的最后一个方程换成x 3 - x 4 - x 5 - 3x 6 = 0可得1613456824252345673734562030200444412022030x x x x x x x x x x x x x x x x x x x x x x x x -=⎧⎪+----=⎪⎪-=⎪-=⎨⎪+----=⎪⎪-=⎪---=⎪⎩ (**)用MATLAB 求解(**)所得到的结果与上述结果完全一致.实验2 人员流动问题实验内容: 某地区甲、乙两公司经营同一业务. 经验表明甲公司的客户每年有1/3继续留作甲的客户, 而2/3转作乙的客户; 乙的客户有3/5转作甲的客户, 而2/5继续留作乙的客户, 假定客户的总量不变, 起始年甲、乙两公司拥有的客户份额分别为2/3和1/3, 求第n 年客户市场分配情况.实验目的: 1. 掌握MATLAB 中若干基本命令.2. 利用矩阵A 的相似标准形计算A n , 并应用于人员流动问题.实验原理: 设第n 年甲、乙两公司拥有的客户份额分别为x n 和y n , 记成向量n n x y ⎛⎫⎪⎝⎭. 根据已知条件可得11x y ⎛⎫⎪⎝⎭=2/31/3⎛⎫⎪⎝⎭,⎪⎪⎭⎫ ⎝⎛++11n n y x =1/33/52/32/5⎛⎫⎪⎝⎭⎪⎪⎭⎫⎝⎛n n y x .令A =1/33/52/32/5⎛⎫⎪⎝⎭, 则⎪⎪⎭⎫ ⎝⎛++11n n y x = A ⎪⎪⎭⎫ ⎝⎛n n y x = A 211n n x y --⎛⎫⎪⎝⎭= … = An 11x y ⎛⎫⎪⎝⎭.实验方案: 在MATLAB 命令窗口中输入如下命令: >> A = [1/3,3/5;2/3,2/5]; format rat >> [P,D] = eig(A) Matlab 执行后得 P =-985/1393 -5919/8848 985/1393 -3353/4511 D =-4/15 0 0 1可见P -1AP = D 为对角矩阵, 且A n = PD n P -1.为了进一步计算⎪⎪⎭⎫ ⎝⎛++11n n yx , 即P Λn P-111x y ⎛⎫⎪⎝⎭, 在Matlab 命令窗口输入以下命令>> syms n %定义符号变量>> P*[(-4/15)^n,0;0,1]*P^(-1)*[2/3;1/3]Matlab执行后得ans =[ 11/57*(-4/15)^n+9/19][ -11/57*(-4/15)^n+10/19]实验结果: 第n年甲、乙两公司拥有的客户份额分别为114 5715n-⎛⎫ ⎪⎝⎭+919和1145715n-⎛⎫- ⎪⎝⎭+1019.对实验结果的分析:当n→∞时, 1145715n-⎛⎫ ⎪⎝⎭+919→919, -1145715n-⎛⎫⎪⎝⎭+1019→1019. 这意味着, 随着n增加, 甲、乙两公司拥有的客户份额趋于稳定, 分别趋向于919和1019.。
东南大学计算方法与实习实验报告
东南大学计算方法与实习实验报告计算方法与实习实验报告学院:学号:姓名:完成日期:实习题一4、设2211Nn j S j ==-∑,已知其精确值为。
1)编制按从大到小的顺序计算S n 的程序; 2)编制按从小到大的顺序计算S n 的程序;3)按两种顺序分别计算S 1000,S 10000,S 30000,并指出有效位数。
● 实验代码 C 语言程序如下:#include #include using namespace std; int main(){ float Sn=0; int N; cin>>N; for(float j=2;j<=N;j++){ Sn=1/(j*j-1)+Sn; } cout<<"从小到大计算的结果为"<<sn<for(j=N;j>=2;j--){ Sn=1/(j*j-1)+Sn;}cout<<"从大到小计算的结果为"<<sn<<=""> ● 运行窗口实习题二1、用牛顿法求下列方程的根:1) 20xx e -=实验代码C 语言程序代码如下:#include #include #define N 100 #define eps 1e-6 #define eta 1e-8using namespace std;float Newton(float f(float),float fl(float),float x0){ float x1,d; int k=0;do{x1=x0-f(x0)/fl(x0);if(k++>N||fabs(fl(x1))<eps){cout<<"发散"<<endl;break;}< p="">d=fabs(x1)<1?x1-x0:(x1-x0)/x1;x0=x1;cout<<"x="<<x0<<endl;< p="">}while(fabs(d)>eps&&fabs(f(x1))>eta);return x1;}float f(float x){return x+log10(x)-2;}float fl(float x){return 1+1/x;}void main(){float x0,y0;cin>>x0;y0=Newton(f,fl,x0);cout<<"方程的根为"<<y0<<endl;< p="">}运行窗口实习题三1、用列主元消去法解方程组:1)12434x x x ++= 123421x x x x +-+=1234333x x x x --+=-1234234x x x x -++-=实验代码C 语言程序代码如下: #include #include using namespace std;void ColPivot(float *c,int n,float x[]) { int i,j,t,k; float p; for(i=0;i<=n-2;i++){ k=i; for(j=i+1;j<=n-1;j++) if(fabs(*(c+j*(n+1)+i))>(fabs(*(c+k*(n+1)+i)))) k=j; if(k!=j) for(j=i;j<=n;j++){ p=*(c+i*(n+1)+j); *(c+i*(n+1)+j)=*(c+k*(n+1)+j); *(c+k*(n+1)+j)=p; } for(j=i+1;j<=n-1;j++){ p=(*(c+j*(n+1)+i))/(*(c+i*(n+1)+i)); for(t=i;t<=n;t++)*(c+j*(n+1)+t)-=p*(*(c+i*(n+1)+t)); } } for(i=n-1;i>=0;i--){ for(j=n-1;j>=i+1;j--) (*(c+i*(n+1)+n))-=x[j]*(*(c+i*(n+1)+j)); x[i]=*(c+i*(n+1)+n)/(*(c+i*(n+1)+i)); } } int main(){ void ColPivot(float*,int,float[]); int i;float x[4];float c[4][5]={1,1,0,3,4,2,1,-1,1,1,3,-1,-1,3,-3,-1,2,3,-1,4};ColPivot(c[0],4,x);for(i=0;i<=3;i++)printf("[x%d]=%f\n",i,x[i]);return 0;}●运行窗口4、编写用追赶法解三对角线性方程组的程序,并解下列方程组:,其中2)Ax bA10x10=-4 11 -4 11 -4 1. . .. . .1 -4 11 -4b= -27-15…-15●实验代码C语言程序如下:#include#includeusing namespace std;void ColPivot(float *c,int n,float x[]){int i,j,t,k;float p;for(i=0;i<=n-2;i++){k=i;for(j=i+1;j<=n-1;j++)if(fabs(*(c+j*(n+1)+i))>(fabs(*(c+k*(n+1)+i)))) k=j; if(k!=j)for(j=i;j<=n;j++){p=*(c+i*(n+1)+j);*(c+i*(n+1)+j)=*(c+k*(n+1)+j);*(c+k*(n+1)+j)=p;}for(j=i+1;j<=n-1;j++){p=(*(c+j*(n+1)+i))/(*(c+i*(n+1)+i));for(t=i;t<=n;t++)*(c+j*(n+1)+t)-=p*(*(c+i*(n+1)+t)); }}for(i=n-1;i>=0;i--){for(j=n-1;j>=i+1;j--)(*(c+i*(n+1)+n))-=x[j]*(*(c+i*(n+1)+j));x[i]=*(c+i*(n+1)+n)/(*(c+i*(n+1)+i));}}int main(){void ColPivot(float*,int,float[]);int i;float x[10];float c[10][11]={-4,1,0,0,0,0,0,0,0,0,-27, 1,-4,1,0,0,0,0,0,0,0,-15,0,1,-4,1,0,0,0,0,0,0,-15,0,0,1,-4,1,0,0,0,0,0,-15,0,0,0,1,-4,1,0,0,0,0,-15,0,0,0,0,1,-4,1,0,0,0,-15,0,0,0,0,0,1,-4,1,0,0,-15,0,0,0,0,0,0,1,-4,1,0,-15,0,0,0,0,0,0,0,1,-4,1,-15,0,0,0,0,0,0,0,0,1,-4,-15};ColPivot(c[0],10,x);for(i=0;i<=9;i++)printf("[x%d]=%f\n",i,x[i]); return 0;}●运行窗口实习题四123●实验代码C语言程序如下:#include#includeusing namespace std;#define N 5void Difference(float x[],float y[],int n){float *f=new float[n+1];int k,i;for(k=1;k<=n;k++){f[0]=y[k];for(i=0;i<k;i++)< p="">f[i+1]=(f[i]-y[i])/(x[k]-x[i]);y[k]=f[k];}delete f;return;}int main(){int i;float a,b,c,varx=0.46,vary=0.55,varz=0.60;float x[N+1]={0.30,0.42,0.50,0.58,0.66,0.72};floaty[N+1]={1.04403,1.08462,1.11803,1.15603,1.19817,1.23223};Difference(x,y,N); a=y[N];b=y[N];c=y[N]; for(i=N-1;i>=0;i--) a=a*(varx-x[i])+y[i]; for(i=N-1;i>=0;i--) b=b*(vary-x[i])+y[i]; for(i=N-1;i>=0;i--) c=c*(varz-x[i])+y[i];printf("Nn(%f)=%f\n",varx,a); printf("Nn(%f)=%f\n",vary,b); printf("Nn(%f)=%f\n",varz,c); return 0;}● 运行窗口实习题六1、用复化梯形公式和复化辛卜生公式计算积分I 1(f )=?+202x cos 1πdx 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10-11-3《线性代数》
数学实验报告
学号:05A10525 姓名:姜忠帅得分:.
要求:报告中应包含实验中你所输入的所有命令及运算结果,用
4
A纸打印.并在第14周之前交给任课老师。
实验一:
某市有下图所示的交通图,每条道路都是单行线,需要调查每条道路每小时的车流量。
图中的数字表示该路段的车流数。
如果每个道口进入和离开的车辆数相同,整个街区进入和离开的车辆数也相同。
(1)建立描述每条道路车流量的线性方程组;
x1+x7=400
x1-x2+x9=300
x2-x11=200
x3+x7-x8=350
x3-x4+x9-x10=0
x4-x11+x12=500
x5+x8=310
x5-x6+x10=400
-x6+x12=140
(2)分析哪些流量数据是多余的;
x3-x4+x9-x10=0
删除前:
删除后:
(3)为了确定未知流量,需要增添哪几条道路的车流量统计?
X10,x11,x12;
实验二:“eigshow”是Matlab中平面线性变换的演示函数。
对于22
⨯矩阵A,键入eigshow (A),分别显示不同的单位向量x及经变换后的向量y Ax
=。
用鼠标拖动x旋转,可以使x产生一个单位圆,并显示Ax所产生的轨迹。
分别对矩阵
123131
,,
212323
A B C
-
⎛⎫⎛⎫⎛⎫
===
⎪ ⎪ ⎪
⎝⎭⎝⎭⎝⎭
,考察单位向量x变化时,变换
后所得向量y的轨迹,回答下列问题,并用代数方法解释。
(1)问:x和y会不会在同一直线上?(2)如果x和y在同一直线上,它们的长度之比是多少?(3)对什么样的矩阵,y的轨迹是一直线段?(4)你还发现什么有什么规律?
(1)A B 会C不会
A的图形:
(2)A:设比值为λ1,运行程序eig(A)可得
则λ1=1或3 B:设比值为λ2,运行程序eig(B)可得
则λ2=4.4142或1.5858
(4)设矩阵X=[k1,k2;k3,k4],则当k1*k4=k2*k3
(k1,k2,k3,k4实数范围内取任意值)
如下图
(4)“eigshow ”演示函数只能运行2×2的矩阵。