求帮忙 一个算法问题

[复制链接]
查看11 | 回复5 | 2021-1-27 06:00:18 | 显示全部楼层 |阅读模式
毕业没几年,数学知识忘得差不多了。。现在遇到这么一个问题:
x*z=a;
y*sqrt(1-z*z)=b;
x*sqrt(1-z*z)=c;
y*z=d;
其中x,y,z为未知数,a,b,c,d为已知数。
本来3个未知数3个方程就有解,现在是多出了一个约束,可能会导致无解。
在无解的情况下,要求出近似解,也就是误差平方和最小的解。
具体该采用何种数学方法,给出提示就好,具体推导我去做~

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:00:18 | 显示全部楼层
高斯牛顿法求解数值解。
回复

使用道具 举报

千问 | 2021-1-27 06:00:18 | 显示全部楼层
假设z=cosα
则x*cosα=a
x*sinα=c
y*cosα=d
y*sinα=b
所以问题转化为(a,c),(0,0),(d,b)三点的拟合直线,最小二乘法。
回复

使用道具 举报

千问 | 2021-1-27 06:00:18 | 显示全部楼层
引用2楼的回复:假设z=cosα
则x*cosα=a
x*sinα=c
y*cosα=d
y*sinα=b
所以问题转化为(a,c),(0,0),(d,b)三点的拟合直线,最小二乘法。

明白了,我试试~
回复

使用道具 举报

千问 | 2021-1-27 06:00:18 | 显示全部楼层
2楼的可参考。
回复

使用道具 举报

千问 | 2021-1-27 06:00:18 | 显示全部楼层
找一本数值计算的书,看看差分约束,松弛,高斯
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行