| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3555 人关注过本帖
标题:高斯消去法求上三角矩阵
只看楼主 加入收藏
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
结帖率:58.18%
收藏
已结贴  问题点数:20 回复次数:4 
高斯消去法求上三角矩阵
感觉没错啊,可结果最后一个元素却不对
程序代码:
#include<stdio.h>

int main()
{
    int i,j,k ;
    int n ;
    int a[100][101] , b[100];

    printf("请输入矩阵阶数\n");
    scanf("%d",&n) ;

    //输入系数矩阵
    printf("请输入系数矩阵\n");
    for(i=1 ; i<=n ; i++)
        for(j=1 ; j<=n ; j++)
            scanf("%d" , &a[i][j]);

    //建立增广矩阵
    printf("请输入方程组右边的值\n");
    for(i=1; i<=n ; i++)
    {
        scanf("%d" , &b[i]) ;
        a[i][n+1] = b[i] ;
    }
    
    //输出增广矩阵
    for(i=1 ; i<=n ; i++)
    {
        for(j=1 ; j<=n+1 ; j++)
            printf("%d\t" , a[i][j]);
        printf("\n");
    }
    printf("\n");

    //高斯消去
    for(i=1 ; i<=n-1 ; i++ )
        for(j=i+1 ; j<=n ; j++)
            for(k=n+1 ; k>=i ; k--)
                a[j][k] = a[j][k] - a[i][k] * a[j][i] /a[i][i] ;

    //输出消去后的上三角矩阵
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=n+1; j++)
         printf("%d\t",a[i][j]) ;
      
        printf("\n") ;
    }
}

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: color 高斯 元素 
2016-03-03 14:31
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2016-3-3 14:52编辑过]

2016-03-03 14:50
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
收藏
得分:0 
知道哪里错了,原来是数据类型错了,计算的时候会出现小数
程序代码:
#include<stdio.h>

int main()
{
    int i,j,k ;
    int n ;
    float a[100][101] , b[100];

    printf("请输入矩阵阶数\n");
    scanf("%d",&n) ;

    //输入系数矩阵
    printf("请输入系数矩阵\n");
    for(i=1 ; i<=n ; i++)
        for(j=1 ; j<=n ; j++)
            scanf("%f" , &a[i][j]);

    //建立增广矩阵
    printf("请输入方程组右边的值\n");
    for(i=1; i<=n ; i++)
    {
        scanf("%f" , &b[i]) ;
        a[i][n+1] = b[i] ;
    }
    
    //输出增广矩阵
    for(i=1 ; i<=n ; i++)
    {
        for(j=1 ; j<=n+1 ; j++)
            printf("%3.2f\t" , a[i][j]);
        printf("\n");
    }
    printf("\n");

    //高斯消去
    for(i=1 ; i<=n-1 ; i++ )
        for(j=i+1 ; j<=n ; j++)
            for(k=n+1 ; k>=i ; k--)
                a[j][k] = a[j][k] - a[i][k] * a[j][i] /a[i][i] ;

    //输出消去后的上三角矩阵
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=n+1; j++)
         printf("%3.2f\t",a[i][j]) ;
      
        printf("\n") ;
    }
}
2016-03-03 15:08
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:20 
线性代数都忘完了😱

一片落叶掉进了回忆的流年。
2016-03-09 11:52
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
收藏
得分:0 
回复 4楼 诸葛欧阳
这个不用线代的,会解方程就行。。。
2016-03-10 13:43
快速回复:高斯消去法求上三角矩阵
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027657 second(s), 12 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved