MATLAB符号数学解非线性方程组 -- 眼球反射模型

1.利用符号函数求解非线性方程组

  • 1 定义符号变量 syms
  • 2 方程求解
      solve:求解出来的是个解析解,意味着其实不用matlab,自己一直算也能算出一个通式;
      vpasolve:数值解,可理解为是逼近值,自己算是不能算出通式的。
      而实际我碰到的问题求解非线性方程组没有通式,所以考虑采用vpasolve

2.实例分析 球面反射点glint三维坐标求解

   红外LED灯照射眼球,然后反射,摄像头捕捉到反光点。由于眼球角膜是球面反射,没有通式,所以需要用数值方法求解。
  假设反射点为G(xg,yg,zg),包含三个未知数,需要找到三个独立的约束方程求解,包括:1,反射点glint在角膜球面上;2,角膜球心O,摄像机C,LED灯位置L,以及反射点G,四点共面;3,发射定律,入射角等于反射角。使用vpasolve求解如下:

solG = vpasolve([norm(OG) == R1,OG*subs(n,soln)',a == b],[xg,yg,zg],[nan,nan;nan,nan;0,inf]);

其中a,b为入射角以及发射角余弦公式,即

    a = OG * GL'/(norm(OG)*norm(GL));
    b = OG * GC'/(norm(OG)*norm(GC));

  求解出来的solG,仍然是符号变量:
  solG =
    xg: [1x1 sym]
    yg: [1x1 sym]
    zg: [1x1 s

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值