追赶法解三对角阵方程组
来源:互联网 发布:unity3d ui 高科技 编辑:程序博客网 时间:2024/05/01 14:01
//追赶法解三对角阵方程组Ax=b。
//n---方程组的阶数。
//a1,a2,a3依次为三对角阵的三对角。
//成功返回1,失败返回0。
int RunEq(int n,double *a1,double *a2,double *a3,double *b,double *x)
{
int i;
double l;
for(i=1;i<n;i++)
{
if(fabs(a2[i-1])<0.00000000001) return 0;
l=a1[i]/a2[i-1];
a2[i]-=a3[i-1]*l;
b[i]-=b[i-1]*l;
}
if(fabs(a2[n-1])<0.00000000001) return 0;
x[n-1]=b[n-1]/a2[n-1];
for(i=n-2;i>=0;i--)
{
x[i]=(b[i]-a3[i]*x[i+1])/a2[i];
}
return 1;
}
//n---方程组的阶数。
//a1,a2,a3依次为三对角阵的三对角。
//成功返回1,失败返回0。
int RunEq(int n,double *a1,double *a2,double *a3,double *b,double *x)
{
int i;
double l;
for(i=1;i<n;i++)
{
if(fabs(a2[i-1])<0.00000000001) return 0;
l=a1[i]/a2[i-1];
a2[i]-=a3[i-1]*l;
b[i]-=b[i-1]*l;
}
if(fabs(a2[n-1])<0.00000000001) return 0;
x[n-1]=b[n-1]/a2[n-1];
for(i=n-2;i>=0;i--)
{
x[i]=(b[i]-a3[i]*x[i+1])/a2[i];
}
return 1;
}
注意:a1的第一个元素需要空出来,因为矩阵第一行不含第一各对角的元素,同样a3的最后一个元素也要空出来
- 追赶法解三对角阵方程组
- 追赶法求解三对角方程组
- 追赶法求解三对角方程组
- 追赶法解三对角线性方程组(Matlab)
- 求解三对角方程组的追赶法(Matlab程序)
- [NA]Lab3:免费午餐-求解周期性三对角阵方程组
- 三对角阵的LU分解和三对角方程组的求解(C语言)
- 追赶法求三角方程组
- 数值计算-线性方程组求解(2)-追赶法解三对角矩阵-MATLAB实现
- 数值分析 追赶法求解三对角线性方程组 MATLAB实现
- Matlab实现——严格对角占优三对角方程组求解(高斯赛尔德Gauss-Seidel迭代、超松弛)
- Guass列主元、平方根法、追赶法求解方程组的C++实现
- 对角阵、特征值与特征向量
- 关于matlab中的diag函数(矩阵对角元素的提取和创建对角阵)
- 追赶法
- 追赶问题
- 追赶法
- 追赶法
- 重开博客
- 快速傅立叶变换程序与反变换程序
- 单反相机
- ERP面试题之解答[作者:Yuanhy]
- Guass消元法和Guass列主元素消元法解线性方程组
- 追赶法解三对角阵方程组
- 牛顿插值法
- 解决关于页面空间disable之后服务器端取值问题
- 最小二乘法程序
- 处理JQuery和My97DatePicker的冲突
- mount/umount 详解
- 在ubuntu 下升级内核就是这么简单。。。。
- Windows的远程注册表服务(RemoteRegistry)的两个隐藏的依赖关系
- 推荐曹济的FPA培训课程