村里小黑 发表于 2021-12-15 21:45:20

解多元一次方程组

本帖最后由 村里小黑 于 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,a,a的值转换为0;t=1时,才将其转换成最简型阶梯矩阵。   
            for(m=0; m<n; m++){   //m表示第m列   
                while(1){
                  if(buf != 0)
                        break;
                  if((m + 1) >= n)
                        break;
                  for(i = 0; i < n + 1; i++){
                        temp = buf;
                        buf = buf;
                        buf = temp;
                  }
                }
                for(j=0; j<n; j++)       //j表示第j行      
                  if(j!=m)   
                  {
                        b= buf/buf;
                        for(i=0; i<n+1; i++) //因为一行的每个元素均要进行运算等式两边才会相等。      
                            buf -= buf*b;                     
                        b = 0;
                  }
            }
      for(j=0; j<n; j++)      //为了将其转换成单位矩阵,见《线性代数》
            {   
                buf /=buf;   
                buf /=buf;
            }
    }
    for(j=0; j<r; j++)   
      result = buf;



求大佬帮助,给出一个更优的可以直接测试的算法

阿萨德按时 发表于 2021-12-16 08:34:57

{:10_254:}

myqf123 发表于 2021-12-16 09:48:32

{:5_103:}

伽羅~ 发表于 2021-12-16 10:06:22

{:10_254:}

刘乐乐 发表于 2021-12-16 10:15:52

所得额

100gram 发表于 2021-12-16 10:30:56

{:10_257:}

specail 发表于 2021-12-16 11:56:24

{:10_277:}不会,帮顶

傻眼貓咪 发表于 2021-12-16 13:35:24

你的参数哪个是常量?

1molHF 发表于 2021-12-16 14:01:45

不会,帮顶

村里小黑 发表于 2021-12-16 14:46:24

傻眼貓咪 发表于 2021-12-16 13:35
你的参数哪个是常量?

每一行,前五项分别是方程式的系数,最后一个是方程式的结果

ohhohh 发表于 2021-12-16 15:32:10

{:10_254:}

hornwong 发表于 2021-12-16 19:02:15

{:5_95:}

我爱小师妹 发表于 2021-12-16 23:21:17

要不你用matlab试试?

ohhohh 发表于 2021-12-17 08:56:12

{:10_254:}

小bai学c 发表于 2021-12-17 10:39:40

{:10_254:}

tianlai7266 发表于 2021-12-17 12:40:31

{:10_254:}

AdiosSpike 发表于 2021-12-18 21:45:29

{:10_297:}

何世昭 发表于 2021-12-25 21:49:45

nb

zhh123321123 发表于 2021-12-25 23:08:26

{:10_249:}

yangyiheng 发表于 2021-12-26 07:42:27

{:5_103:}
页: [1] 2
查看完整版本: 解多元一次方程组