如何用给定的部分解决这样的系统? (枫)

时间:2010-12-26 14:32:12

标签: math vector maple

所以我有一个系统

#for given koefs 
k:=3; n:=3; 
#let us solve system:
koefSolution:= solve({
 sum(a[i], i = 0 .. k) = 0,
 sum(a[i], i = 0 .. k)-(sum(b[i], i = 0 .. k)) = 0,
 sum(i^n*a[i], i = 0 .. k)-(sum(i^(n-1)*b[i], i = 0 .. k)) = 0
});

所以我有一个像

这样的矢量
koefSolution := {  a[0] = 7*a[2]+26*a[3]-b[1]-4*b[2]-9*b[3], 
                   a[1] = -8*a[2]-27*a[3]+b[1]+4*b[2]+9*b[3], 
                   a[2] = a[2], 
                   a[3] = a[3], 
                   b[0] = -b[1]-b[2]-b[3], 
                   b[1] = b[1], b[2] = b[2], 
                   b[3] = b[3]}

我有a[0]所以我尝试solve({koefSolution, a[0] = 1});为什么它不能解决给定a[0]的系统? (这里的要点是用给定的[]和b []来填充koefSolution并进行优化。)

2 个答案:

答案 0 :(得分:1)

如果你有比方程更多的未知数,你可以做的最好的是最小二乘拟合。

答案 1 :(得分:1)

您可以使用2参数eval评估[]和b []的给定值。例如,

eval(koefSolution, [a[0]=1, b[2]=3, a[3]=11]);

这里的“优化”是什么意思?你是说a []和b []的已知值可能产生一个不一致的系统(因此需要数值优化和最佳拟合,而不是精确的solve调用?)