其中 no 是空气的折射率,01是入射角, nx 是待测介质的折射率,02是 no sin 01= nx sin 02 折射角。 如图4.10所示,本实验忽略亚克力板厚度,以 a 待测场的宽度,由几 何关系可知: a (4-4) t cos02 sin (01-02),用Lingo
时间: 2023-07-16 09:13:09 浏览: 159
空气折射率的测量原理及方法
对于这个问题,我们需要使用 Lingo 进行求解。首先,我们需要定义变量和参数:
```
nx = 1.5 ! 待测介质的折射率
no = 1.0 ! 空气的折射率
t = 0.0 ! 亚克力板厚度,本实验忽略
a = ? ! 待测场的宽度
o1 = 30 ! 入射角度,单位为度
o2 = asin(no * sin(o1) / nx) ! 折射角度,使用反正弦函数计算
```
在这里,我们使用 `asin` 函数来计算折射角度 `o2`,它的参数是一个弧度值,因此我们需要将 `o1` 转换为弧度。接下来,我们需要使用 Lingo 的数学函数来计算等式右边的值:
```
right_value = t * cos(o2) * sin(o1 - o2)
```
最后,我们可以使用 Lingo 的求解器来解决等式左边的值和右边的值相等的问题:
```
minimize f(a)
subject to
a - right_value = 0
end
```
在这里,我们使用了 `minimize` 函数来最小化 `a` 的值,同时满足等式 `a - right_value = 0`。求解器会自动找到符合要求的最小值,并将其赋值给变量 `a`。完整的 Lingo 代码如下所示:
```
nx = 1.5 ! 待测介质的折射率
no = 1.0 ! 空气的折射率
t = 0.0 ! 亚克力板厚度,本实验忽略
o1 = 30 ! 入射角度,单位为度
o2 = asin(no * sin(o1) / nx) ! 折射角度,使用反正弦函数计算
right_value = t * cos(o2) * sin(o1 - o2)
minimize f(a)
subject to
a - right_value = 0
end
```
运行这段代码后,Lingo 会输出符合要求的最小值,即待测场的宽度 `a`。
阅读全文