如何用matlab求解下面这个带三角函数的超定方程组 5
1个回答
展开全部
如何用matlab求解下面这个带三角函数的超定方程组?
这个问题一般可以用非线性最小二乘来求解。求解方法:
1、创建自定义函数,fun(R,θ),即
y=[0.2872*R-R*cos(θ)+0.0789;
0.3810*R-R*sin(θ)+0.2137;
0.8052*R-R*cos(θ)+0.0879;
0.3522*R-R*sin(θ)+0.2190];
2、初定R,θ的初始值,这个可以先用rand函数初定,然后再用最接近R,θ的值
3、确定R,θ的上下限,即lb、ub的值
4、使用lsqnonlin函数求解,即
[x,resnorm,residual,exitflag] = lsqnonlin(@(x)fun(x),x0,lb,ub)
这里R,θ分别用x(1)和x(2)替代
5、要向得到较理想的近似解,必须反复执行上述过程,其过程中主要调整初值
6、下面是一组近似解结果
从结果来看,是不理想的。不理想的主要原因有,1、方程系数可能有误差;2、本身关系有问题等
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询