鱼C论坛

 找回密码
 立即注册
查看: 3272|回复: 35

解多元一次方程组

[复制链接]
发表于 2021-12-15 21:45:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 村里小黑 于 2021-12-15 21:51 编辑

再进行解多元一次方程组的时候,采用转换成矩阵的方法,得出的结果与实际有偏差

参考数据
18526.000000         17234.000000    18016.000000    5206.000000     19384.000000    86170.000000   
19864.000000         14435.000000    19001.000000    7128.000000     19386.000000    90530.000000   
13065.000000         13652.000000    18162.000000    5872.000000     18088.000000    77650.000000   
11366.000000                14517.000000    12878.000000    7636.000000     19333.000000    77190.000000   
17521.000000         19798.000000    16263.000000    5871.000000     18069.000000    86330.000000   
11883.000000         13295.000000    10642.000000    6524.000000     16062.000000    68190.000000   


本人实现方法
    int i, j, m, t; //i,j,m,k,t 作为循环计数变量;n表示有n个未知数,即n元;r表示有r个方程组成方程组。 
    float b = 0; 
    float temp = {0};

    if(r<n)   
        sh_printf("方程有无穷解\n"); 
    if(r==n) 
    {   
        sh_printf("方程有唯一解\n"); 
        for(t=0; t<n-1; t++)      //循环次数:当t=0时,仅将a[1][0],a[2][0],a[2][1]的值转换为0;t=1时,才将其转换成最简型阶梯矩阵。   
            for(m=0; m<n; m++){   //m表示第m列     
                while(1){
                    if(buf[m][m] != 0)
                        break;
                    if((m + 1) >= n)
                        break;
                    for(i = 0; i < n + 1; i++){
                        temp = buf[m][i];
                        buf[m][i] = buf[m + 1][i];
                        buf[m + 1][i] = temp;
                    }
                }
                for(j=0; j<n; j++)       //j表示第j行      
                    if(j!=m)     
                    {  
                        b= buf[j][m]/buf[m][m]; 
                        for(i=0; i<n+1; i++) //因为一行的每个元素均要进行运算等式两边才会相等。        
                            buf[j][i] -= buf[m][i]*b;                      
                        b = 0;
                    } 
            }
        for(j=0; j<n; j++)      //为了将其转换成单位矩阵,见《线性代数》
            {    
                buf[j][n] /=buf[j][j];    
                buf[j][j] /=buf[j][j]; 
            }
    }
    for(j=0; j<r; j++)   
        result[j] = buf[j][n];


求大佬帮助,给出一个更优的可以直接测试的算法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-16 08:34:57 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-16 09:48:32 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-16 10:06:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-16 10:15:52 | 显示全部楼层

回帖奖励 +2 鱼币

所得额
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-16 10:30:56 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-16 11:56:24 | 显示全部楼层
不会,帮顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-16 13:35:24 From FishC Mobile | 显示全部楼层

回帖奖励 +2 鱼币

你的参数哪个是常量?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-16 14:01:45 | 显示全部楼层

回帖奖励 +2 鱼币

不会,帮顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-16 14:46:24 | 显示全部楼层
傻眼貓咪 发表于 2021-12-16 13:35
你的参数哪个是常量?

每一行,前五项分别是方程式的系数,最后一个是方程式的结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-16 15:32:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-16 19:02:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-16 23:21:17 | 显示全部楼层

回帖奖励 +2 鱼币

要不你用matlab试试?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-17 08:56:12 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-17 10:39:40 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-17 12:40:31 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-18 21:45:29 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-25 21:49:45 | 显示全部楼层

回帖奖励 +2 鱼币

nb
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-25 23:08:26 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-26 07:42:27 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 00:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表