追赶法求解块三对角矩阵以及matlab代码实现

您所在的位置:网站首页 追赶法求解三角阵 追赶法求解块三对角矩阵以及matlab代码实现

追赶法求解块三对角矩阵以及matlab代码实现

2023-08-23 04:16| 来源: 网络整理| 查看: 265

数值分析课的作业

单从题目来看,矩阵A和矩阵B都是三对角矩阵

参考资料:块三对角矩阵方程的追赶法及其应用 - 豆丁网Docin

推导过程如下:

 求解matlab程序:

function x=tridiagsolver_block(n) c=(1:n^2); for i=1:n, a{i}=c(i:i+n-1); b{i}=a{i}'; end B=diag(repmat([4], 1, n))+diag(repmat([-1], 1, n-1), 1)+diag(repmat([-1], 1, n-1), -1);%矩阵B G{1}=B; D{1}=-inv(G{1}); y{1}=inv(B)*b{1}; for i=2:n-1, G{i}=B+D{i-1}; D{i}=-inv(G{i}); y{i}=inv(G{i})*(b{i}+y{i-1}); end G{n}=B+D{n-1}; D{n}=-inv(G{n}); y{n}=inv(G{n})*(b{n}+y{n-1}); x{n}=y{n}; for i=n-1:-1:1, x{i}=y{i}-D{i}*x{i+1}; end

注意,此处要使用cell数据类型将矩阵存储到A中,所以均采用“{}”,最后调用函数输入n就行啦^_^ 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3