数值分析Matlab作业

上传人:m**** 文档编号:506245891 上传时间:2023-03-14 格式:DOC 页数:18 大小:377.50KB
返回 下载 相关 举报
数值分析Matlab作业_第1页
第1页 / 共18页
数值分析Matlab作业_第2页
第2页 / 共18页
数值分析Matlab作业_第3页
第3页 / 共18页
数值分析Matlab作业_第4页
第4页 / 共18页
数值分析Matlab作业_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《数值分析Matlab作业》由会员分享,可在线阅读,更多相关《数值分析Matlab作业(18页珍藏版)》请在金锄头文库上搜索。

1、数值分析数值分析编程作业2012年12月第二章14.考虑梯形电阻电路的设计,电路如下: 电路中的各个电流i1,i2,i8须满足下列线性方程组:这是一个三对角方程组。设V=220V,R=27,运用追赶法,求各段电路的电流量。Matlab程序如下:function chase () %追赶法求梯形电路中各段的电流量a=input(请输入下主对角线向量a=);b=input(请输入主对角线向量b=);c=input(请输入上主对角线向量c=);d=input(请输入右端向量d=);n=input(请输入系数矩阵维数n=);u(1)=b(1);for i=2:n l(i)=a(i)/u(i-1); u

2、(i)=b(i)-c(i-1)*l(i);endy(1)=d(1);for i=2:n y(i)=d(i)-l(i)*y(i-1);endx(n)=y(n)/u(n);i=n-1;while i0 x(i)=(y(i)-c(i)*x(i+1)/u(i); i=i-1;endx输入如下: chase请输入下主对角线向量a=0,-2,-2,-2,-2,-2,-2,-2;请输入主对角线向量b=2,5,5,5,5,5,5,5;请输入上主对角线向量c=-2,-2,-2,-2,-2,-2,-2,0;请输入方程组右端向量d=220/27,0,0,0,0,0,0,0;请输入系数矩阵阶数n=8运行结果如下:x

3、= 8.1478 4.0737 2.0365 1.0175 0.5073 0.2506 0.1194 0.0477第三章14.试分别用(1)Jacobi迭代法;(2)Gauss-Seidel迭代法解线性方程组迭代初始向量。(1)雅可比迭代法程序如下:function jacobi() %Jacobi迭代法a=input(请输入系数矩阵a=);b=input(请输入右端向量b=);x0=input(请输入初始向量x0=);n=input(请输入系数矩阵阶数n=);er=input(请输入允许误差er=);N=input(请输入最大迭代次数N=);for i=1:n for j=1:n if i=

4、j d(i,j)=a(i,j); else d(i,j)=0; end endendm=eye(5)-da; %迭代矩阵g=db;x=m*x0+g;k=1;while ker x=m*x+g; k=k+1; else x return end end continueendx程序执行如下:jacobi请输入系数矩阵a=10 1 2 3 4;1 9 -1 2 -3;2 -1 7 3 -5;3 2 3 12 -1;4 -3 -5 -1 15请输入右端向量b=12 -27 14 -17 12请输入初始向量x0=0 0 0 0 0请输入系数矩阵阶数n=5请输入允许误差er=1.0e-6请输入最大容许迭

5、代次数N=60x = 1.0000 -2.0000 3.0000 -2.00001.0000(2)高斯赛德尔迭代法程序如下:function gs_sdl() %gauss-seiddel迭代法a=input(请输入系数矩阵a=);b=input(请输入右端向量b=);x0=input(请输入初始向量x0=);n=input(请输入系数矩阵阶数n=);er=input(请输入允许误差er=);N=input(请输入最大迭代次数N=);for i=1:n for j=1:n if i=j l(i,j)=0; else l(i,j)=-a(i,j); end endendfor i=1:n for

6、 j=1:n if ij u(i,j)=-a(i,j); else u(i,j)=0; end endendfor i=1:n for j=1:n if i=j d(i,j)=a(i,j); else d(i,j)=0; end endendm=(d-l)u; %迭代矩阵g=(d-l)b;x=m*x0+g;k=1;while ker x=m*x+g; k=k+1; else x return end end continueendx执行结果如下: gs_sdl请输入系数矩阵a=10 1 2 3 4;1 9 -1 2 -3;2 -1 7 3 -5;3 2 3 12 -1;4 -3 -5 -1 1

7、5请输入右端向量b=12 -27 14 -17 12请输入初始向量x0=0 0 0 0 0请输入系数矩阵阶数n=5请输入允许误差er=1.0e-6请输入最大容许迭代次数N=60x = 1.0000 -2.0000 3.0000 -2.0000 1.0000第四章已知如下矩阵,试用幂法求按模最大的特征值与特征向量。Matlab程序代码如下:function mifa ()A=input(请输入系数矩阵A=);x0=input(请输入初始列向量x0=);n=input(请输入向量维数n=);er=input(请输入允许误差er=);N=input(请输入最大容许迭代次数N=);k=1;mu=0;w

8、hile k mifa请输入系数矩阵A=190 66 -84 30;66 303 42 -36;336 -168 147 -112;30 -36 28 291请输入初始列向量x0=0 0 0 1请输入向量维数n=4请输入允许误差er=1.0e-6请输入最大容许迭代次数N=100lamda = 343.0000x0 = 114.3333 343.0000 -0.0000 -171.5002第五章试编写MATLAB函数实现Newton插值,要求能输出插值多项式。对函数在区间-5,5上实现10次多项式插值。Matlab程序代码如下:%此函数实现y=1/(1+4*x2)的n次Newton插值,n由调用

9、函数时指定%函数输出为插值结果的系数向量(行向量)和插值多项式function t y=func5(n)x0=linspace(-5,5,n+1);y0=1./(1.+4.*x0.2);b=zeros(1,n+1);for i=1:n+1 s=0; for j=1:i t=1; for k=1:i if k=j t=(x0(j)-x0(k)*t; end; end; s=s+y0(j)/t; end; b(i)=s;end; t=linspace(0,0,n+1);for i=1:n s=linspace(0,0,n+1); s(n+1-i:n+1)=b(i+1).*poly(x0(1:i);

10、 t=t+s;end;t(n+1)=t(n+1)+b(1);y=poly2sym(t);10次插值运行结果: b Y=func5(10)b = Columns 1 through 4 -0.0000 0.0000 0.0027 -0.0000 Columns 5 through 8 -0.0514 -0.0000 0.3920 -0.0000 Columns 9 through 11 -1.1433 0.0000 1.0000Y = - (7319042784910035*x10)/147573952589676412928 + x9/18446744073709551616 + (256*x

11、8)/93425 - x7/1152921504606846976 - (28947735013693*x6)/562949953421312 - (3*x5)/72057594037927936 + (36624*x4)/93425 - (5*x3)/36028797018963968 - (5148893614132311*x2)/4503599627370496 + (7*x)/36028797018963968 + 1b为插值多项式系数向量,Y为插值多项式。插值近似值: x1=linspace(-5,5,101); x=x1(2:100); y=polyval(b,x)y = Columns 1 through 12 2.7003 3.9994 4.3515 4.0974 3.4926 2.7237 1.9211 1.1715 0.5274 0.0154 -0.3571 -0.5960 Columns 13 through 24 -0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号