请解个方程~A,B,C,D是未知数~求A,B,C,D

请解个方程~A,B,C,D是未知数~求A,B,C,D
1706.4216AC+1.2051BC+D=4583
1618.4493AC+1.2051BC+D=4378
1612.4238AC+1.2051BC+D=4364
1697.9859AC+1.2051BC+D=4564
wrrtt 1年前 已收到4个回答 举报

qqqpppwwwooo 花朵

共回答了25个问题采纳率:76% 举报

由线性代数理论知,求解线性方程组时,当方程式的个数多于未知数的时候,方程组往往无解,此类方程组称为“矛盾方程组”或称“超定方程组”.而最小二乘法就是用来解矛盾方程组的一个常用方法.用最小二乘法解矛盾方程组AX=b的步骤可归纳如下:(1)计算AT A 和ATb ,得法方程组 ATAX=ATb;(2)求解法方程组,得出矛盾方程组的最优近似解.AT(表示矩阵A的转置);这是理论上的,如果想借助软件来解的话,MATLAB是个很强大很好用的工具,在MATLAB中运行A=[
1706.4216,1.2051,1;
1618.4493,1.2051,1;
1612.4238,1.2051,1;
1697.9859,1.2051,1;
];
b=[4583;
4378;
4364;
4564];
x=Ab
Warning:Rank deficient,rank = 2,tol = 2.9477e-012.
x =
2.3334
499.1448
0
也就是说最优解为:AC=2.3334;BC=499.1448;D=0;A、B、C的值不维一.
我想这应该是你想要的答案了吧,希望能帮到你^-^

1年前

6

promise8431 幼苗

共回答了1个问题 举报

任意两项相减求出AC的值
AC的值有三个 不唯一,所以这个四元一次方程无解

1年前

2

人事部的hh事 幼苗

共回答了1个问题 举报

你会C吗?调试一下很容易得出结果
#include"stdio.h"
int main(void){
double A,B,C,D;
1706.4216A*C+1.2051B*C+D=4583
1618.4493A*C+1.2051B*C+D=4378
1612.4238A*C+1.2051B*C+D=4364
1697.9859A*C+1.2051B*C+D=4564
printf("A=%f,B=%f,C=%f,D=%f",A,B,C,D);
return 0;
}

1年前

2

流浪的小孩0 幼苗

共回答了8个问题 举报

用四阶行列式吧!

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 19 q. 0.042 s. - webmaster@yulucn.com