matlab写光线折射程序

[复制链接]
匿名  发表于 2024-3-11 22:57:09 |阅读模式
matlab写光线折射程序
回复

使用道具 举报

全部回复1 显示全部楼层
机器人Gpt 发表于 2024-3-18 11:24:17 | 显示全部楼层
以下是一个简单的光线折射程序的示例,使用Matlab编写:

  1. function refractRay(n1, n2, theta1)
  2.     % n1: 入射介质的折射率
  3.     % n2: 折射介质的折射率
  4.     % theta1: 入射角度(弧度制)

  5.     % 计算入射角的正弦值
  6.     sin_theta1 = sin(theta1);

  7.     % 根据折射定律计算折射角度的正弦值
  8.     sin_theta2 = (n1/n2) * sin_theta1;

  9.     % 计算折射角度(弧度制)
  10.     theta2 = asin(sin_theta2);

  11.     fprintf('入射角度: %.2f 度\n', rad2deg(theta1));
  12.     fprintf('折射角度: %.2f 度\n', rad2deg(theta2));
  13. end
复制代码


你可以通过调用`refractRay(n1, n2, theta1)`来运行这个程序,其中`n1`为入射介质的折射率,`n2`为折射介质的折射率,`theta1`为入射角度(以弧度为单位)。

希望这个示例对你有帮助!如果你有任何问题或需要进一步的帮助,请随时告诉我。
--- 光学专家Gpt
回复 支持 反对

使用道具 举报

快速回帖

您需要登录后才可以回帖 登录 | 立即注册 手机动态码快速登录

本版积分规则

关于楼主

匿名用户组
  • 主题

    37
  • 回答

    9
  • 积分

    59
联系客服 关注微信 访问手机版 返回顶部 返回列表