Python解方程demo:scipy.optimize -root

该代码利用Python实现解方程功能
使用了scipy.optimize root 求解方程

  • 可以正常调用numpy提供的数学计算函数
  • 可以给创建的方程传参
# 导入所需的模块
from scipy.optimize import root
import numpy as np# 定义待求解方程
def Equation1(n_eff2, b_1, n_0, n_1, n_2, mode_n):# 参数定义k_0 = 1. / 1550e-9# 计算方程中的中间变量K_y = (k_0 ** 2 * n_1 ** 2 - k_0 ** 2 * n_eff2 ** 2) ** 0.5p_y = (k_0 ** 2 * n_eff2 ** 2 - k_0 ** 2 * n_0 ** 2) ** 0.5q_y = (k_0 ** 2 * n_eff2 ** 2 - k_0 ** 2 * n_2 ** 2) ** 0.5# 定义方程eq = mode_n * np.pi - np.arctan(K_y / p_y) - np.arctan(K_y / q_y) - (K_y * b_1)return eq  # 返回方程def Cal_Ex_MODE_neff(a, b_1, b_2, n_0, n_1, n_2, n_3, mode_m, mode_n):# 初始猜测值n_eff2 = np.array([3.2])# 参数打包,供root函数使用args = (b_1, n_0, n_1, n_2, mode_n)# 使用root函数来求解该方程sol = root(Equation1, n_eff2, args=args)# 打印求解结果的有效折射率print(sol.x)# 主程序代码
if __name__ == "__main__":n_0 = 3.1 n_1 = 3.3 n_2 = 1.44 n_3 = 3.1  a = 1.5e-6 b_1 = 500e-9 b_2 = 1000e-9mode_n = 1  # 调用计算函数Cal_Ex_MODE_neff(a=a,b_1=b_1,b_2=b_2,n_0=n_0,n_1=n_1,n_2=n_2,n_3=n_3,mode_m=0, mode_n=0  )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/20568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RK3588搭建QT开发环境

目录 1 我的RK3588开发板 2安装opencv 3 安装QT 4 摄像头节点 1 我的RK3588开发板 我把它放客厅了,连接电视。然后我在书房远程登录做开发, 2安装opencv 这里不下载源码编译了,直接用apt-get安装opencv sudo apt-get update sudo apt-g…

使用eclipse自动生成实体类

前言 在软件开发过程中,经常需要创建大量的实体类来映射数据库表或者表示业务模型。手动编写实体类既费时又容易出错,因此许多集成开发环境(IDE)提供了自动生成实体类的功能。本篇博客将介绍如何在 Eclipse 中内置功能来快速生成实…

最新的CleanMyMac X4.15.4中文破解版新功能介绍及CleanMyMac 安装激活指南

知名的Mac系统清理软件CleanMyMac发布了最新的CleanMyMac X4.15.4,更换了矩形图标,更好的融合和兼容macOS Snoma系统。新版CleanMyMac 支持Intel芯片和苹果M1/M2芯片的Mac。 优化 Mac 电脑,用 CleanMyMac X4.15.4中文版 就够了!强…

std::string :我是真的不想拼接字符串啊~~~那就“汉阳造”吧

一、场景和炼狱 我想,你肯定也遇到过这样的场景,传入的多个参数要通过字符串拼接成一条指令,各种数据类型(我们先只说基本数据类型),然后一通转换,一通拼接。如果处理的多了,这也将…

三丰云评测:免费虚拟主机和免费云服务器体验

今天我来为大家分享一下我的三丰云评测体验。三丰云是一家提供免费虚拟主机和免费云服务器的服务商,为了方便大家了解他们的服务,我特地注册了他们的免费虚拟主机和免费云服务器进行试用。在实际体验中,我发现三丰云的服务表现非常出色。首先…

Multipass虚拟机磁盘扩容

Multipass 是一个用于轻松创建和管理 Ubuntu 虚拟机的工具,特别适合开发环境。要使用 Multipass 扩大虚拟机的磁盘容量,你需要经历几个步骤,因为 Multipass 自身并不直接提供图形界面来调整磁盘大小。不过,你可以通过结合 Multipa…

HTTP的系统登录页面,如何避免明文传输用户密码?

对于系统登录页面来说,我们作为开发人员,应该没有陌生的吧。就像下面这样子。 点击登录,调用/login 接口。来看下面截图中的 载荷(payload)数据,其中,密码 password 的值是明文。 如果你的站点使用的是HTTPS协议&…

SO3控制器原理与实现(对飞行器的控制实践)

SO3控制器原理与实现 1. 概述 SO3Control是一个基于SO(3)特殊正交群的姿态控制器,用于控制四旋翼等飞行器的姿态。该控制器输入期望的位置、速度、加速度以及偏航角,输出期望的力和四元数表示的姿态。 具体应用为当有一条三维轨迹的时候,控…

Adobe InDesign 专业桌面排版软件下载安装,Id软件丰富的排版和设计工具!

Adobe InDesign这款革命性的应用程序不仅彻底改变了出版业的生产流程,更引领着设计领域向前迈进。 在Adobe InDesign的众多强大功能中,对OpenType字体的支持堪称其一大亮点。OpenType字体不仅拥有更加丰富的字体样式和字符集,还具备更为灵活…

Qt Designer工具如何修改MainWindow窗口的标题

Qt Designer工具如何修改MainWindow窗口的标题 在MainWindow的属性编辑器中选择“windowTitle”后面一栏修改成期望的窗口标题名称即可。 按住“ctrlR”即可查看可视化界面的窗口标题

单片机超声波测距+WTD588D语音播报的设计

第一章 绪论 1.1 课题设计目的及意义 1.1.1设计的目的 随着科学技术的快速发展,超声波在测距中的应用越来越广。但就目前的急速水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术…

智能办公本如何选择

智能办公本如何选择 引言 随着科技的不断发展,智能办公本已成为现代职场人士的重要工具。它们不仅具备传统纸质笔记本的书写体验,还融入了先进的智能技术,让办公变得更加高效便捷。在选择智能办公本时,我们需要关注多个方面&…

【通信专题】I2C通信硬件概述

通信协议在组织设备之间通信时扮演着重要角色。它基于系统要求而以不同方式进行设计。此类协议具有明确的、为实现成功通信而协商一致的规则。 I2C历史 I2C,即Inter-Integrated Circuit,是一种常用的串行通信协议。I2C总线创建于1982年,由飞利浦公司设计,旨在利用简单、稳…

BCS2024│云原生安全论坛启动

云原生凭借敏捷、高可用、弹性扩展等优点,已经成当前IT基础设施重点采用的云计算技术。然而,随着云原生业务的快速发展,诸多安全问题随之而来,如云原生开发流程缺乏安全监管;容器的动态变化和API访问增加了安全风险&am…

【Python打包成exe】

Python打包成exe 前言一、理论知识打底二、实操开始----pyinstaller【Base环境下】【这是一个失败案例】规规矩矩 总结 前言 先放点参考 这个字多,写得很详细⇨用 Pyinstaller 模块将 Python 程序打包成 exe 文件(全网最全面最详细,万字详述…

红队内网攻防渗透:内网渗透之数据库权限提升技术

红队内网攻防渗透 1. 内网权限提升技术1.1 数据库权限提升技术1.1.1 数据库提权流程1.1.1.1 先获取到数据库用户密码1.1.1.2 利用数据库提权工具进行连接1.1.1.3 利用建立代理解决不支持外联1.1.1.4 利用数据库提权的条件及技术1.1.2 Web到Win-数据库提权-MSSQL1.1.3 Web到Win-…

Neural Filters:风景混合器

Ps菜单:滤镜/Neural Filters/创意/风景混合器 Neural Filters/CREATIVE/Landscape Mixer 风景混合器 Landscape Mixer滤镜通过与另一个图像混合或改变诸如时间和季节等属性,神奇地改变景观。 “风景混合器”滤镜利用人工智能和机器学习技术,首…

Java 多线程的创建

Java 多线程的创建 Java元的JVM允许程序运行多个线程,使用java.lang.Thread类代表线程,所有的线程对象都必须是Thread类或其子类 线程的创建方式有两种,一者为继承Thread类,一者为实现Runnable接口 实现方式之一:继承T…

【LeetCode算法】第111题:二叉树的最小深度

目录 一、题目描述 二、初次解答 三、官方解法 四、总结 一、题目描述 二、初次解答 1. 思路:二叉树的先序遍历。求出左子树的最小高度,求出右子树的最小高度,最终返回左子树和右子树的最小高度1。关键:若左子树的高度为0&…

【Linux】命名管道

一、命名管道的原理 在前面的博客中,我们学习了匿名管道,了解到了两个具有血缘关系的进程之间是如何进行通信的?那么在没有血缘关系(毫不相关)的进程之间是如何进行通信的? 大致思路是一样的,我…