没有合适的资源?快使用搜索试试~ 我知道了~
100阶以下的三对角矩阵逆矩阵计算
需积分: 49 8 下载量 42 浏览量
2011-01-14
09:43:53
上传
评论 1
收藏 2KB TXT 举报
温馨提示
试读
3页
本程序亲手编写 心酸血泪 不多说 只能计算100阶以下三对角矩阵的求逆 截取于三次样条计算的一部分
资源推荐
资源详情
资源评论
//本程序只能求100(包括)阶以下的逆矩阵(1000的时候栈溢出) 已经过测试在vs2008 的mfc环境下
//直接粘贴到按钮单击事件就可实现
float a[100][200];//
//在这地方将a数组赋初值
//a[行][列]从0开始
int Pnum=;//矩阵的阶数要求自己填 <=100
for(int y=0;y<Pnum;y++)
{
a[Pnum+y][y]=1;
}
////////////////////////////////////////////////////////////////下面开始求逆矩阵
for (int y=1;y<Pnum;y++)
{
float mul=a[y][y-1]/a[y-1][y-1];
for (int x=0;x<(2*Pnum);x++)
{
if((a[y][x]-a[y-1][x]*mul) < (1.0E-6)&&(a[y][x]-a[y-1][x]*mul)>-(1.0E-6))
{
a[y][x]=0;
}
else
{
a[y][x]=a[y][x]-a[y-1][x]*mul;
}
}
//直接粘贴到按钮单击事件就可实现
float a[100][200];//
//在这地方将a数组赋初值
//a[行][列]从0开始
int Pnum=;//矩阵的阶数要求自己填 <=100
for(int y=0;y<Pnum;y++)
{
a[Pnum+y][y]=1;
}
////////////////////////////////////////////////////////////////下面开始求逆矩阵
for (int y=1;y<Pnum;y++)
{
float mul=a[y][y-1]/a[y-1][y-1];
for (int x=0;x<(2*Pnum);x++)
{
if((a[y][x]-a[y-1][x]*mul) < (1.0E-6)&&(a[y][x]-a[y-1][x]*mul)>-(1.0E-6))
{
a[y][x]=0;
}
else
{
a[y][x]=a[y][x]-a[y-1][x]*mul;
}
}
资源评论
xiang562
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功