第3题。
1)输入稀疏矩阵a:
>a1=sparse(1:20,1:20,3,20,20);>a2=sparse(2:
20,1:19,-1/2,20,20);>a3=sparse(3:20,1:
18,-1/4,20,20);>a=a1+a2+a2'+a3+a3';求d、l、u:
>d=diag(diag(a));l=-tril(a,-1);>u=-triu(a,1);用雅克比迭代:
>i=0;n=100;x0=[1:1:20]';b=[1:
2:39]';whilen>10^-5i=i+1;x0=d\(l+u)*x0+d\b;n=norm(x0-a\b);end>>ii=
再取一组x0和b
>i=0;n=100;x0=[1:3:58]';b=[2:
2:40]';whilen>10^-5i=i+1;x0=d\(l+u)*x0+d\b;n=norm(x0-a\b);end>>ii=
用高斯-赛德尔迭代:
i=0;n=100;x0=[1:1:20]';b=[1:
2:39]';whilen>10^-5i=i+1;x0=(d-l)\u*x0+(d-l)\b;n=norm(x0-a\b);end;ii=
再取一组x0和b
i=0;n=100;x0=[1:3:58]';b=[2:
2:40]';whilen>10^-5i=i+1;x0=(d-l)\u*x0+(d-l)\b;n=norm(x0-a\b);end;ii=
结论】两种迭代均收敛。对于第一组x0和b,雅克比迭代次数是20,高斯-赛德尔迭代次数是13,对于第二组x0和b,雅克比迭代次数是22,高斯-赛德尔迭代次数是15。可见,高斯-赛德尔迭代的速度更快。
(2)>>a=a+a1;d=diag(diag(a));l=-tril(a,-1);u=-triu(a,1);
i=0;n=100;x0=[1:1:20]';b=[1:
2:39]';whilen>10^-5i=i+1;x1=x0;x0=d\(l+u)*x0+d\b;n=norm(x0-x1,inf);endii=
不断重复上述**,得到新的结果:i=
8i=8i=
结论】收敛性和初始向量和b无关,都收敛。对角线的数越大,收敛越快。
心得】做本题的时候,一开始没有把l和u取函数的负值,导致死机,发现后改了过来。第7题。
1)从右到左共n个小格子,对每个小格子列电压方程。
i(n-1)r(n-1)=i(n)r(n)+i(n)r(n)
i(n-2)r(n-2)=[i(n-1)+i(n)]r(n-1)+i(n-1)r(n-1)..
i(n-i)r(n-i)=[i(n-i+1)+.i(n)]r(n-i+1)+i(n-i+1)r(n-i+1)..
v=(i(1)+.i(n))r(1)+i(1)r(1)
2)【模型建立】本题用线性方程组模型,将上述方程组写成矩阵模式:
记a1为元素全部是1的、含对角线的上三角矩阵,a2是主对角线为1,下次对角线为-1的矩阵,b为第一个元素为v,其余全部为0的向量,则有:a1*r+a2*r=aax=b
模型求解】用稀疏矩阵表示出a和b:>>a1=triu(ones(10));
>a2=sparse(1:10,1:10,1,10,10)+sparse(2:10,1:9,-1,10,10);
>a=a1*1+a2*6;
>b=sparse(1,1,18,10,1);
求出所有的i(1)..i(n),以及i(0):>x=a\bx=
2.00051.33440.
89070.59550.39950.
27020.18580.13240.
10110.0867>>i0=sum(x)i0=
结论】i(1)、i(2)..i(n)分别是x的第1至n个分量,i0=5.9970.
心得】通过将a拆分成特殊矩阵和稀疏矩阵的线性和,可以减少输入工作。
第9题。1)【模型建立】本题是线性方程组模型,可以化为ax=b的形式,其中a是这样一个矩阵:它的下次对角线为s1、s2...
s(n-1),它的主对角线的第一个元素为b1-1,其余元素为-1,它的第一行为b1-1、b2、b3...bn,a的其余元素为是这样一个列向量:第一个元素为0,第二行到第n行分别是h1、h2...
hn2)【模型求解】表示出矩阵a和向量b:>>a1=sparse(1:5,1:5,-1,5,5);
>a2=sparse(2:5,1:4,[0.
4,0.6,0.6,0.
4],5,5);>a3=sparse(1,1:5,[0,0,5,3,0],5,5);>a=a1+a2+a3;
>b=[0,500,400,200,100]';求出x:>>x=a\bx=
1.0e+003*
3)表示出b:>>b(1:5,1)=500;>>b(1,1)=0;求出x:>>x=a\bx=
1.0e+004*
结论】题目所求sk就是x向量的第k个分量【心得】题目第(2)问叙述不太好,“要求h1~h5为500,400,200,100,100”应改为“要求h1~h4为500,400,200,100”,这样才符合题目主干,结果也和课后答案一致。题目第(3)问叙述也不太好,“要使h1~h5均为500”应改为“要使h1~h4均为500”。
清华大学MATLAB数学实验作业参考
数学实验内容及目的。作业参考 实验1 一元函数的图形。实验目的。1 学习 matlab一元函数绘图命令。2 进一步理解函数概念。实验内容。1 学习matlab命令。matlab绘图命令比较多,我们选编一些常用命令,并简单说明其作用,这些命令的调用格式,可参阅例题及使用帮助help查找。表1.1 二维...
章绍辉版数学建模第五章作业
第五章作业。第一题 1 第三种边界条件。第三种边界条件要求给定三次样条s x 在区间 x0,xn 的左右端点的一阶导数和。我们参考了例5.1.4在210页计算出了左右端点的一阶导数,其中 3.3667 2.3333 matlab程序如下 x 0,1,3,6,8,9 y 3.3667,3,1,2,0,...
实验小学二年级数学上册智能作业 五
班别姓名成绩。月日。1.列式计算。一个加数与和都是45,另一个加数是多少?两个加数都是16,和是60,第三个加数是多少?2.有两堆苹果,第一堆有23个,第二堆比第一堆多7个。两堆共有多少个苹果?月日。1.一根绳子,第一次用去15米,第二次用去20米,还剩下7米。这根绳子原来有多长?2.一群孩子在做游...