西安交通大学计算方法实验报告——基于matlab
- 格式:docx
- 大小:2.30 MB
- 文档页数:44
概率论与数理统计上机实验报告一、实验内容使用MATLAB 软件进行验证性实验,掌握用MATLAB 实现概率统计中的常见计算。
本次实验包括了对二维随机变量,各种分布函数及其图像以及频率直方图的考察。
1、列出常见分布的概率密度及分布函数的命令,并操作。
2、掷硬币150次,其中正面出现的概率为0.5,这150次中正面出现的次数记为X ,(1) 试计算45=X 的概率和45≤X 的概率;(2) 绘制分布函数图形和概率分布律图形。
3、用Matlab 软件生成服从二项分布的随机数,并验证泊松定理。
4、设22221),(y x e y x f +-=π是一个二维随机变量的联合概率密度函数,画出这一函数的联合概率密度图像。
5、来自某个总体的样本观察值如下,计算样本的样本均值、样本方差、画出频率直方图。
A=[16 25 19 20 25 33 24 23 20 24 25 17 15 21 22 26 15 23 2220 14 16 11 14 28 18 13 27 31 25 24 16 19 23 26 17 14 30 21 18 16 18 19 20 22 19 22 18 26 26 13 21 13 11 19 23 18 24 28 13 11 25 15 17 18 22 16 13 12 13 11 09 15 18 21 15 12 17 13 14 12 16 10 08 23 18 11 16 28 13 21 22 12 08 15 21 18 16 16 19 28 19 12 14 19 28 28 28 13 21 28 19 11 15 18 24 18 16 28 19 15 13 22 14 16 24 20 28 18 18 28 14 13 28 29 24 28 14 18 18 18 08 21 16 24 32 16 28 19 15 18 18 10 12 16 26 18 19 33 08 11 18 27 23 11 22 22 13 28 14 22 18 26 18 16 32 27 25 24 17 17 28 33 16 20 28 32 19 23 18 28 15 24 28 29 16 17 19 18] 6. 利用Matlab 软件模拟高尔顿板钉试验。
基于matlab的实验报告实验报告:基于MATLAB 的实验一、实验目的通过使用MATLAB 软件,掌握如何进行数据分析、图像处理、算法实现等一系列实验操作,提高实验者的实践能力和动手能力。
二、实验原理MATLAB 是一种在科学计算和技术开发领域广泛应用的计算机软件。
它能进行矩阵计算、绘制函数和数据图像、实现算法以及进行数据分析等。
通过掌握MATLAB 的使用,能够快速、高效地解决各种科学和工程问题。
三、实验内容1. 数据分析:使用MATLAB 的数据分析工具进行数据的导入、处理和分析。
2. 图像处理:利用MATLAB 的图像处理工具包对图像进行滤波、增强、分割等操作。
3. 算法实现:使用MATLAB 实现常用的算法,如排序、搜索、图像压缩等。
四、实验步骤1. 数据分析:(1)使用MATLAB 的读取数据函数将数据导入MATLAB 环境中。
(2)利用MATLAB 的数据处理函数进行数据清洗和预处理。
(3)使用MATLAB 的统计工具进行数据分析,如求平均值、标准差等。
(4)利用MATLAB 的绘图函数将分析结果可视化。
2. 图像处理:(1)使用MATLAB 的读取图像函数将图像导入MATLAB 环境中。
(2)利用MATLAB 的图像处理工具包进行滤波操作,如均值滤波、中值滤波等。
(3)使用MATLAB 的图像增强函数对图像进行锐化、变换等操作。
(4)利用MATLAB 的图像分割算法对图像进行分割。
3. 算法实现:(1)使用MATLAB 编写排序算法,如冒泡排序、快速排序等。
(2)使用MATLAB 编写搜索算法,如二分查找、线性搜索等。
(3)使用MATLAB 实现图像压缩算法,如离散余弦变换(DCT)。
五、实验结果实验中,我们使用MATLAB 完成了数据分析、图像处理和算法实现的一系列实验操作。
通过数据分析,我们成功导入了数据并对其进行了清洗和预处理,最后得到了数据的统计结果。
在图像处理方面,我们对图像进行了滤波、增强和分割等操作,最终得到了处理后的图像。
《计算方法》实验报告指导教师:学院:班级:团队成员:一、题目例2.7应用Newton 迭代法求方程210x x --=在1x =附近的数值解k x ,并使其满足8110k k x x ---<原理:在方程()0f x =解的隔离区间[],a b 上选取合适的迭代初值0x ,过曲线()y f x =的点()()00x f x ,引切线()()()1000:'l y f x f x x x =+-其与x 轴相交于点:()()0100 'f x x x f x =-,进一步,过曲线()y f x =的点()()11x f x , 引切线()()()2111: 'l y f x f x x x =+-其与x 轴相交于点:()()1211 'f x x x f x =-如此循环往复,可得一列逼近方程()0f x =精确解*x 的点01k x x x ,,,,,其一般表达式为:()()111 'k k k k f x x x f x ---=-该公式所表述的求解方法称为Newton 迭代法或切线法。
程序:function y=f(x)%定义原函数y=x^3-x-1;endfunction y1=f1(x0)%求导函数在x0点的值syms x;t=diff(f(x),x);y1=subs(t,x,x0);endfunction newton_iteration(x0,tol)%输入初始迭代点x0及精度tol x1=x0-f(x0)/f1(x0);k=1;%调用f函数和f1函数while abs(x1-x0)>=tolx0=x1;x1=x0-f(x0)/f1(x0);k=k+1;endfprintf('满足精度要求的数值为x(%d)=%1.16g\n',k,x1);fprintf('迭代次数为k=%d\n',k);end结果:二、题目例3.7试利用Jacobi 迭代公式求解方程组1234451111101112115181111034x x x x ----⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪--- ⎪ ⎪ ⎪= ⎪ ⎪ ⎪--- ⎪ ⎪ ⎪---⎝⎭⎝⎭⎝⎭ 要求数值解()k X 满足()4210k --≤X X ,其中T (1,2,3,4)=X 为方程组的精确解。
计算方法实验报告matlab《使用MATLAB进行计算方法实验报告》摘要:本文利用MATLAB软件进行了一系列计算方法实验,包括数值积分、微分方程求解、线性代数计算等。
通过实验结果分析,我们验证了各种计算方法的准确性和稳定性,为进一步研究和应用这些方法提供了可靠的数值支持。
引言:计算方法是现代科学和工程中不可或缺的一部分,它们通过数值计算的方式解决了许多复杂的数学问题。
MATLAB作为一种强大的数值计算工具,被广泛应用于各种计算方法的实验和研究中。
本文将利用MATLAB进行一系列计算方法实验,验证其在数值计算中的有效性和实用性。
实验一:数值积分在本实验中,我们将使用MATLAB对一些常见的积分问题进行数值求解,比较不同数值积分方法的精度和收敛速度。
通过实验结果的分析,我们将评估各种数值积分方法的适用范围和优缺点。
实验二:微分方程求解微分方程是自然界和工程领域中常见的数学模型,其数值求解方法对于模拟和预测系统行为至关重要。
在本实验中,我们将使用MATLAB对一些典型的微分方程进行数值求解,并比较不同数值方法的稳定性和精度。
实验三:线性代数计算线性代数是现代科学和工程中的基础学科,其在数据处理、信号处理、优化等领域中有着广泛的应用。
在本实验中,我们将利用MATLAB进行一些常见的线性代数计算,比如矩阵求逆、特征值分解等,验证其数值计算的准确性和效率。
结论:通过以上一系列的实验,我们验证了MATLAB在计算方法实验中的有效性和实用性。
我们发现,MATLAB提供了丰富的数值计算工具和函数库,能够满足各种计算方法实验的需求。
同时,我们也发现不同的计算方法在不同的问题上有着各自的优势和局限性,需要根据具体问题选择合适的方法。
希望本文的实验结果能够为相关领域的研究和应用提供一定的参考和借鉴。
clc,clear% 初始化,定义各参量和初值n=24;%网格划分dx=1;%网格步长t=10*ones(1,n);t1=10*ones(1,n);% 分别存储t与t+dt时刻各点的温度值tc=zeros(1,n);% 存储各点累加温度补偿值k=0.00627*ones(1,n);%存储各点导热系数,数值全部初始化为铸型特性,在循环中再更改rou=1.55*ones(1,n);% 存储各点密度,数值全部初始化为铸型特性,在循环中再更改cp=0.8987*ones(1,n);% 存储各点比热,数值全部初始化为铸型特性,在循环中再更改kw=zeros(1,n);% 存储当量导热系数的调和系数1ke=zeros(1,n);% 存储当量导热系数的调和系数2m1=zeros(1,n);%存储差分系数1m2=zeros(1,n);%存储差分系数2dt=0.05;%时间步长,单位秒,满足稳定性条件time=0;ddt=50;Ts=660.0;%凝固温度delta_t=398/1.09;%凝固阶段需补偿的温度值%主程序for i=1:24 % 中间6个点为铝液物性if i>9&&i<16t(i)=700.0;t1(i)=700.0;k(i)=10.0;cp(i)=1.09;rou(i)=2.38;endendtmax=0.0;num=0;%tmax记录最终凝固时间while t(12)>=Tstmax=tmax+dt;for i=2:23kw(i)=2/(1/k(i)+1/k(i-1));ke(i)=2/(1/k(i)+1/k(i+1));m1(i)=kw(i)*dt/(rou(i)*cp(i)*dx^2);m2(i)=ke(i)*dt/(rou(i)*cp(i)*dx^2);t1(i)=m1(i)*t(i-1)+m2(i)*t(i+1)+(1-m1(i)-m2(i))*t(i);if i<16&&i>9if t1(i)<Ts %判断下一时刻计算的温度是否低于Tsif tc(i)<delta_t % 再判断温度累计补偿值是否超出tc(i)=tc(i)+Ts-t1(i); % 若没超出,继续累积t1(i)=Ts; % 温度继续保持Tselsek(i)=2.28;cp(i)=1.17;rou(i)=2.702;endendendendfor i=2:23t(i)=t1(i);endif tmax>=timetime=time+ddt;% 50s输出一次温度值num=num+1;% 记录输出次数tt(num)=t(12);% 50s一次记录中心点温度for kk=1:24ttt(kk,num)=t(kk); % ttt中第i列表示第i次输出的温度场值endendenddisp('凝固结束时间tmax为:\n');fprintf('%f\n',tmax);xlswrite('每50s记录的温度场.xls',ttt);% 将记录的温度场输出到excel文件中figure(1);i=1:24;plot(i,t(i),'-*');title('最后凝固时刻的温度场','fontsize',18);xlabel('x','fontsize',18);ylabel('温度/℃','fontsize',18);figure(2);i=1:length(tt);plot(ddt*i,tt,'k-p');axis([0 2200 650 700]);title('中心点的冷却曲线','fontsize',18);xlabel('时间/s','fontsize',18);ylabel('温度/℃','fontsize',18);温度/℃最后凝固时刻的温度场02004006008001000120014001600180020002200650655660665670675680685690695700时间/s温度/℃一维传热铸件凝固数值模拟不同时刻的温度场(单位:℃)温馨提示:最好仔细阅读后才下载使用,万分感谢!。
基于MATLAB数值分析实验报告班级:072115姓名:李凯学号:20111003943实验二:矩阵与向量运算实验目的:在MATLAB里,会对矩阵与向量进行加、减、数乘、求逆及矩阵特征值运算,以及矩阵的LU分解。
设A是一个n×n方阵,X是一个n维向量,乘积Y=AX可以看作是n维空间变换。
如果能够找到一个标量λ,使得存在一个非零向量X,满足:AX=λX (3.1)则可以认为线性变换T(X)=AX将X映射为λX,此时,称X 是对应于特征值λ的特征向量。
改写式(3.1)可以得到线性方程组的标准形式:(A-λI)X=0 (3.2)式(3.2)表示矩阵(A-λI)和非零向量X的乘积是零向量,式(3.2)有非零解的充分必要条件是矩阵(A-λI)是奇异的,即:det(A-λI)=0该行列式可以表示为如下形式:a11–λa12 (1)a21 a22 –λ…a2n =0 (3.3)…………A n1 a n2 …a nn将式(3.3)中的行列式展开后,可以得到一个n阶多项式,称为特征多项式:f(λ)=det(A-λI)=(-1)n(λn+c1λn-1+c2λn-2+…+c n-1λ+c n) (3.4) n阶多项式一共有n个根(可以有重根),将每个根λ带入式(3.2),可以得到一个非零解向量。
习题:求下列矩阵的特征多项式的系数和特征值λj:3 -1 0A= -1 2 -10-1 3解:在MATLAB中输入命令:A=【3 -1 0;-1 2 -1;0 -1 3】;c=poly(A)roots(c)得到:实验四:Lagrange插值多项式实验目的:理解Lagrange插值多项式的基本概念,熟悉Lagrange插值多项式的公式源代码,并能根据所给条件求出Lagrange插值多项式,理解龙格现象。
%功能:对一组数据做Lagrange插值%调用格式:yi=Lagran_(x,y,xi)%x,y:数组形式的数据表%xi:待计算y值的横坐标数组%yi:用Lagrange还擦之算出y值数组function fi=Lagran_(x,f,xi)fi=zeros(size(xi));np1=length(f);for i=1:np1z=ones(size(xi));for j=i:np1if i~=j,z=z.*(xi-x(j))/(x(i)-x(j));endendfi=fi+z*f(i);endreturn习题:已知4对数据(1.6,3.3),(2.7,1.22),(3.9,5.61),(5.6,2.94)。
实验报告(二)完成人:L.W.Yohann注:本次实验主要学习了用MATLAB绘制二维、三维图形的基本命令、图形的标识与修饰以及用符号函数绘图,在学习完成后小组对52页的上机练习题进行了程序编辑和运行。
1.绘制数列变化趋势图.解:在编辑窗口输入:n=1:100;an=(1+1./n).^n;plot(n,an,'r*')grid并保存,命名为lab1;在命令窗口中输入lab1,得:2.绘制数列变化趋势图.解:在编辑窗口输入:n=1:0.1:50;an=n.^(1./n);plot(n,an,'r*')grid并保存,命名为lab2;在命令窗口中输入lab2,得:3.绘制函数在无定义点处的变化趋势.解:在编辑窗口输入:x=-10:0.05:10;y=sin(x)./x;plot(x,y,'r*')grid并保存,命名为lab3;在命令窗口中输入lab3,得:4.在同一坐标系中画出函数及其Taylor多项式的图像解:y=sinx在编辑窗口输入:syms xf=sin(x);T6=taylor(f,x);T8=taylor(f,x,'Order',8);T10=taylor(f,x,'Order',10);T12=taylor(f,x,'Order',12);fplot([T6 T8 T10 T12 f])xlim([-8 8])grid onlegend('approximation of sin(x) up to O(x^6)',...'approximation of sin(x) up to O(x^8)',...'approximation of sin(x) up to O(x^{10})',...'approximation of sin(x) up to O(x^{12})',...'sin(x)','Location','Best')title('Taylor Series Expansion')并保存,命名为lab4sin;在命令窗口中输入lab4sin,得:y=exp(x)在编辑窗口输入:syms xf=exp(x);T6=taylor(f,x);T8=taylor(f,x,'Order',8);T10=taylor(f,x,'Order',10);T12=taylor(f,x,'Order',12);fplot([T6 T8 T10 T12 f])xlim([-8 8])grid onlegend('approximation of exp(x) up to o(x^6)',...'approximation of exp(x) up to o(x^8)',...'approximation of exp(x) up to o(x^{10})',...'approximation of exp(x) up to o(x^{12})',...'exp(x)','Location','Best')title('Taylor Series Expansion')并保存,命名为lab4exp;在命令窗口中输入lab4exp,得:5.符号函数绘图.注:在matlab r2010b 和matlab r2019b中对绘制函数图像的输入方法有不同的要求,故此类题分两个版本来求解。
西安交通大学计算方法实验报告基于Matlab学院:机械工程学院姓名:XXX学号:指导老师:XXX目录问题1 (3)一、计算100000211kSk==∑,要求误差小于610-,给出实现算法。
(3)1.1 问题分析 (3)1.2 实验结果 (3)1.3 结果分析 (4)问题2 (5)二、编写实现对N阶非奇矩阵A进行LU分解的程序。
(5)2.1 问题分析 (5)2.2 实验结果 (6)2.3 结果分析 (7)问题3 (8)三、编写程序实现大规模方程组的列主元高斯消去法程序,并对所附的方程组进行求解。
具体的要求参见所附的相关文档。
针对本专业中所碰到的实际问题,提炼一个使用方程组进行求解的例子,并对求解过程进行分析、求解。
(8)3.1 问题分析 (8)3.2 实验结果 (9)3.3 结果分析 (13)3.4 工程实例 (13)问题4 (16)四、已知某产品从1900年到2010年每隔10年的产量,用多项式插值和三次样条插值的方法,画出每隔一年的插值曲线的图形, 试计算并比较在不同方法下的2005年以及2015年的产量。
(16)4.1 问题分析 (16)4.2 实验结果 (19)4.3 结果分析 (20)问题5 (21)五、假定某天的气温变化记录如下表所示,试用最小二乘法找出这一天的气温变化的规律,试计算这一天的平均气温。
(21)5.1 问题分析 (21)5.2 实验结果 (24)5.3 结果分析 (27)附录 (28)附录一 (28)附录二 (29)附录三 (30)附录四 (34)附录五 (39)问题1一、 计算100000211k S k ==∑,要求误差小于610-,给出实现算法。
1.1 问题分析在保证计算精度的前提下,为了减少计算量,可以考虑截取计算式子的一部分作为计算结果。
因此解决此问题可以采用以下算法:第一步:截取前k 项,估计计算误差范围,使误差范围满足题目要求。
假设累加到第n-1项满足要求,可用下式评估误差范围,∑1n(n+1)100000n <∑1n 2100000n <∑1n(n−1)100000n,即1n −1100001<∑1n 100000n <1n−1−1100000,因此若计算到第n-1项,然后加上(1n −1100001+1n−1−1100000)/2,误差e ≤|(1n−1−1100000)−(1n −1100001)|/2;第二步:计算满足要求的前k 项的精确值,并给出最大误差,实际最大误差取ess =|(1n−1−1100000)−(1n −1100001)|/2;第三步:评估算法的能否达到要求,可以通过计算准确值来评估,以及算法的效率,主要指浮点运算量。
Matlab 求解见附录一。
1.2 实验结果最大误差: e1 = 1.0017e-006 截取的项数: b = 706 估算值: 1.6449240678 准确值: 1.6449240669 实际误差:ess = 5.7464e-0101.3结果分析从实际误差ess = 5.7464e-010可以看出,上述算法达到了精度要求;该算法实际进行的运算量约为5X706flop,与直接计算2X100000flop相比,效率还是挺高的,可以达到要求。
问题2二、 编写实现对N 阶非奇矩阵A 进行LU 分解的程序。
2.1 问题分析算法如下:设矩阵*A ()ij n n a =的各阶顺序主子式均不为零,即:()0(1,2,3,)i ij a i k ≠=L ,设n 阶方阵A 的顺序主子式121,,,n D D D -L 均不为零,则A 的LU 分解存在且唯一。
可得:A 有分解式111212122212n n n n nn a a a a a a a a a ⎛⎫⎪ ⎪ ⎪⎪⎝⎭LL M M M L=2112111n n l l l ⎛⎫⎪ ⎪ ⎪⎪⎝⎭M O L11121222n n nn u u u u u u ⎛⎫⎪⎪ ⎪ ⎪⎝⎭L L O M =LU (1)对比等式左边和右边乘积矩阵LU 的第r 行主对角元(含主对角元)的对应元素,得1rri rk ki k a l u ==∑ (,,;1,2,,).i r n r n ==L L (2)再对比等式两边第r 列主对角元以下(不含主对角元)的对应元素,得1rir ik krk a l u ==∑ (1,,;1,2,,1).i r n r n =+=-L L (3)当r=1时,由(2)和(3)式分别解出11i i u a = (1,2,,),i n =L (4) 1111i i a l u =(2,3,,).i n =L (5) 假设已求出U 的第1至r-1行,L 的第1至r-1列,由式(2)和式(3)分别得出计算U 的第r 行、L 的第r 列元素的计算公式:11r ri ri rk kik u a l u -==-∑ (,,;2,3,),i r n r n ==L L (6)11r ir rk krk ir rra l u l u -=-=∑ (1,,;2,3,1).i r n r n =+=-L L (7)称由(4)~(7)式所表示的矩阵分解为Doolittle 分解,也称为LU 分解。
Matlab 程序求解见附录二。
2.2 实验结果输入任意非奇矩阵进行验证。
请输入矩阵A请输入系数矩阵A=:[2 -2 -1;1 -3 5;4 -2 -1] A =2 -2 -1 1 -3 54 -2 -1 L =1.0000 0 0 0.5000 1.0000 02.0000 -1.0000 1.0000 U =2.0000 -2.0000 -1.0000 0 -2.0000 5.5000 0 0 6.50002.3结果分析输入A非奇矩阵,与计算结果相同,达到了要求,可以实现对N阶非奇矩阵的LU分解。
问题3三、 编写程序实现大规模方程组的列主元高斯消去法程序,并对所附的方程组进行求解。
具体的要求参见所附的相关文档。
针对本专业中所碰到的实际问题,提炼一个使用方程组进行求解的例子,并对求解过程进行分析、求解。
3.1 问题分析有线性方程组Ax b =,设A 是可逆矩阵。
列主元消去法的基本思想就是通过列主元的选取将初等行变换作用于方程组的增广矩阵[]|B A b =,将其中的A 变换成一个上三角矩阵,然后求解这个三角形方程组。
将方程组用增广矩阵[]()(1)|ij n n B A b a ⨯+==表示。
第一步:消元过程,对1,2,,1k n =-L 选主元,找{},1,,k i k k n ∈+L 使得,max k i k ikk i na a ≤≤=如果,0k i k a =,则矩阵A 奇异,程序结束;否则执行(3); 如果k i k≠,则交换第k 行与第ki 行对应元素位置,k kj i j a a ↔,,,1j k n =+L ;消元,对,,i k n =L ,计算/,ik ik kk l a a =对1,,1j k n =++L ,计算.ij ij ik kj a a l a =-第二步:回代过程: 若0,nn a =则矩阵奇异,程序结束;否则执行(2);,1/;n n n nn x a a +=对1,,2,1i n =-L ,计算,11/n i i n ij j iij i x a a x a +=+⎛⎫=- ⎪⎝⎭∑对较小规模的系数矩阵A 可按正常方法求解,但对于所给的43200阶矩阵,不可能有那么大的储存空间来储存,考虑到带状矩阵的算法不对零元进行计算,因此只需要储存非零元的即可。
可采用“对角线”存储方式,按下列方式存放。
其中下带宽p=1,上带宽q=3.( 0a 11a 12a 13a 14a 21a 22a 23a 24a 25a 32a 33a 34a 35a 36⋮⋮⋮⋮⋮a n,n−1a nn0)它需要n ×(p +q +1)个数组,节省了很大存储空间,适合解决大规模带状压缩矩阵的问题,fun004、fun005就是按照这种方式求解的。
按这种方式存放,矩阵的(i ,j )元在数组中的(i ,j-i+p+1)位置。
Matlab 求解程序见附录三。
3.2 实验结果3.2.1fun003.dat 调试程序用id =F1E1D1A0 ver =102 n = 10 方程组的解: x[1]=1.000000 x[2]=1.000000 x[3]=1.000000 x[4]=1.000000 x[5]=1.000000 x[6]=1.000000 x[7]=1.000000 x[8]=1.000000x[9]=1.000000x[10]=1.0000003.2.2fun001.dat用时50s。
id =F1E1D1A0ver =101n = 10243.2.3fun002.dat用时75s。
id =F1E1D1A0ver =102n =15603.2.4fun004.dat测试矩阵id =F1E1D1A0ver =201n =10q=3方程组的解:x[1]=1.895000x[2]=1.895000x[3]=1.895000x[4]=1.895000x[5]=1.895000x[6]=1.895000x[7]=1.895000x[8]=1.895000x[9]=1.895000x[10]=1.895000将系数矩阵转换成正常矩阵存储,验证结果一样。
3.2.5fun005.dat用时60s。
id =F1E1D1A0ver =201n =43200q =33.3结果分析由上面结果可以看出,所编写程序可以解决正常系数矩阵方程组,同时能解决带状系数矩阵方程组,并且在解决该类系数矩阵时具有很高的效率。
3.4工程实例在工程技术中所遇到的电路,大多数是很复杂的,这些电路是由电器元件按照一定方式互相连接而构成的网络。
在电路中,含有元件的导线称为支路,而三条或三条以上的支路的会合点称为节点。
以下图为例,求解电路网络中各条支路上的电流。
解:a)问题分析:对于这类问题的计算,通常采用基尔霍夫(Kirchhoff)定律来解决。
设各节点的电流如图所示,则由基尔霍夫第一定律(简记为KCL)回路电压的关系,任何一个闭合回路的电流服从希尔霍夫电压定律:沿某个方向环绕回路一周的所有电压降U的代数和等于沿同一方向环绕该回路一周的电源电压的代数和。
b)算法:回路1的电路方程为12I1−4I2−7I3=40;回路2的电路方程为−4I1+13I2−5I4=−10;回路3的电路方程为−7I1+15I3−6I4=30;回路4的电路方程为−5I2−6I3+14I4=20.于是求各个支路的电流就归结为下面齐次线性方程组的求解{12I1−4I2−7I3=40−4I1+13I2−5I4=−10−7I1+15I3−6I4=30−5I2−6I3+14I4=20 c)Matlab求解:利用列主元高斯消去法函数>> clc;>>clear all;>> A=[12,-4,-7,0;-4,13,0,-5;-7,0,15,-6;0,-5,-6,14]; >> b=[40;-10;30;20];>> gauss(A,b) 方程组的解:x[1]=11.434157 x[2]=5.839611 x[3]=10.550205 x[4]=8.035663问题4四、 已知某产品从1900年到2010年每隔10年的产量,用多项式插值和三次样条插值的方法,画出每隔一年的插值曲线的图形, 试计算并比较在不同方法下的2005年以及2015年的产量。