用matlab解一个简单的超定方程
1.24a+1.27b+c=11.36a+1.74b+c=11.38a+1.64b+c=11.38a+1.82b+c=11.38a+1.90b+c=11.40a+1.70...
1.24a+1.27b+c=1
1.36a+1.74b+c=1
1.38a+1.64b+c=1
1.38a+1.82b+c=1
1.38a+1.90b+c=1
1.40a+1.70b+c=1
1.48a+1.82b+c=1
1.54a+1.82b+c=1
1.56a+2.08b+c=1
1.14a+1.78b+c=-1
1.18a+1.96b+c=-1
1.20a+1.86b+c=-1
初学matlab ,大家帮忙用matlab解这个超定方程,拟和成一条直线。谢谢大家了。。 展开
1.36a+1.74b+c=1
1.38a+1.64b+c=1
1.38a+1.82b+c=1
1.38a+1.90b+c=1
1.40a+1.70b+c=1
1.48a+1.82b+c=1
1.54a+1.82b+c=1
1.56a+2.08b+c=1
1.14a+1.78b+c=-1
1.18a+1.96b+c=-1
1.20a+1.86b+c=-1
初学matlab ,大家帮忙用matlab解这个超定方程,拟和成一条直线。谢谢大家了。。 展开
2个回答
展开全部
对于方程组Ax=b,A为n×m矩阵,如果A列满秩,且n>m。则方程组没有精确解,此时称方程组为超定方程组。线性超定方程组经常遇到的问题是数据的曲线拟合。对于超定方程,在MATLAB中,利用左除命令(x=A\b)来寻求它的最小二乘解;还可以用广义逆来求,即x=pinv(A),所得的解不一定满足Ax=b,x只是最小二乘意义上的解。左除的方法是建立在奇异值分解基础之上,由此获得的解最可靠;广义逆法是建立在对原超定方程直接进行householder变换的基础上,其算法可靠性稍逊与奇异值求解,但速度较快;
A=[...
1.24 1.27 1
1.36 1.74 1
1.38 1.64 1
1.38 1.82 1
1.38 1.90 1
1.40 1.70 1
1.48 1.82 1
1.54 1.82 1
1.56 2.08 1
1.14 1.78 1
1.18 1.96 1
1.20 1.86 1]
b=[1 1 1 1 1 1 1 1 1 -1 -1 -1]'
rank=rank(A)
abc=A\b
结果:
rank =
3
abc =
6.1049
-2.3561
-3.5622
A=[...
1.24 1.27 1
1.36 1.74 1
1.38 1.64 1
1.38 1.82 1
1.38 1.90 1
1.40 1.70 1
1.48 1.82 1
1.54 1.82 1
1.56 2.08 1
1.14 1.78 1
1.18 1.96 1
1.20 1.86 1]
b=[1 1 1 1 1 1 1 1 1 -1 -1 -1]'
rank=rank(A)
abc=A\b
结果:
rank =
3
abc =
6.1049
-2.3561
-3.5622
展开全部
这个是解答矛盾方程:
A'*A*x=A'*B
A'*A A'*B 两个矩阵是方阵!!!
A=[1.24 1.27 1;
1.36 1.74 1 ;
1.38 1.64 1;
1.38 1.82 1;
1.38 1.90 1;
1.40 1.70 1;
1.48 1.82 1;
1.54 1.82 1;
1.56 2.08 1;
1.14 1.78 1;
1.18 1.96 1;
1.20 1.86 1];
B=[1 1 1 1 1 1 1 1 1 -1 -1 -1]';
a=A'*A;
b=A'*B;
x=a^(-1)*b
x =
6.1049
-2.3561
-3.5622
A'*A*x=A'*B
A'*A A'*B 两个矩阵是方阵!!!
A=[1.24 1.27 1;
1.36 1.74 1 ;
1.38 1.64 1;
1.38 1.82 1;
1.38 1.90 1;
1.40 1.70 1;
1.48 1.82 1;
1.54 1.82 1;
1.56 2.08 1;
1.14 1.78 1;
1.18 1.96 1;
1.20 1.86 1];
B=[1 1 1 1 1 1 1 1 1 -1 -1 -1]';
a=A'*A;
b=A'*B;
x=a^(-1)*b
x =
6.1049
-2.3561
-3.5622
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |