当前位置: 首页 > news >正文

Ansys Zemax | 在 MATLAB 中使用 ZOS-API 的技巧

附件下载

联系工作人员获取附件

本文将介绍一些在MATLAB中使用 ZOS-API 的技巧,以提高您的工作效率并充分利用 ZOS-API 的功能。

简介

OpticStudio开发了应用程序接口 (API) ,用户可以使用API与不同的脚本环境进行连接和交互。使用API,用户可以与已打开的OpticStudio例程进行通信(交互扩展 ( Interactive Extension ) )或在后台运行OpticStudio(独立应用程序 ( Standalone Application ) )。这对于进行重复计算或用户处理OpticStudio生成的数据非常实用。本文只讨论ZOS-API与MATLAB相连接,并重点介绍一些技巧。

语法提示

在MATLAB中,可以使用语法提示完成代码或列出成员(如图所示):

图片

图片

这对于通过减少拼写错误和其他常见错误来提高编码的速度特别实用。但是,当MATLAB脚本完成时,不能访问变量内部的内容。可以运行示例文件的一部分——示例01:创建新文件并使用快速聚焦 ( New File and QuickFocus ) ,以及安装OpticStudio并进行检查。如果想要在MATLAB脚本已经终止时访问TheLDE,就会得到一条消息——“没有找到已完成文件”。

图片

为了避免这个问题,必须运行MATLAB脚本并插入断点来阻止脚本运行结束。这适用于独立应用程序或将代码放在用于交互扩展的MATLABZOSConnection脚本中。通过在MATLAB中点击:编辑器 ( Editor ) > 断点 ( Breakpoints ) > 设置/清除 ( Set/Clear ) 插入断点:

图片

在MATLAB中,断点由行号旁边的红色圆圈表示。本例中,在第44行输入断点:

图片

现在可以通过在MATLAB的 (.) 语句后按TAB键,并在脚本编辑器 ( Script Editor ) 或命令窗口 ( Command Window ) 使用语法提示:

图片

图片

另外,将代码放在单独的脚本中进行交互扩展,将路径添加到MATLABZOSConnection脚本中,并将TheApplication定义为相同的MATLABZOSConnection,而不是将代码放在OpticStudio中生成的交互扩展的MATLABZOSConnection脚本中。本例中,连接号是21。如下为可以使用的代码示例:


addpath('\\zmefs01\redirectedfolders\alastair.humphrey\Documents\Zemax\ZOS-API Projects\MATLABZOSConnection21\')
TheApplication = MATLABZOSConnection21;
 

使用上述的任何一种方法。可以通过OpticStudio进行API命令测试,实时观察命令的运行结果。另外,命令窗口可用作实用的调试工具。因为这两种情况下主函数并没有运行结束,仍然可以通过点击工作空间中的任何对象来研究已声明的对象:

图片

使用带有'out'参数的 .NET方法

以下是使用带有 ' out ' 参数和GetIndex的 .NET方法的示例:

图片

当在MATLAB中使用带有 ' out '  参数的 .NET 方法时,必须确保将方法提供给的对象是正确的类型。在这种情况下,需要长度等于波长数量的双数组。下面的代码是返回表面 2 在三个波长下的折射率的示例:


surf_num = 2;
num_waves = 3; % probably shouldn't hard code thisindex = NET.createArray('System.Double', 3);
TheApplication.PrimarySystem.LDE.GetIndex(surf_num, num_waves, index);
index_data = index.double;
 

MATLAB 函数 methods和 methodsview

MATLAB函数methods和methodsview可以用来查看类方法名称。例如,代码可以写为:

MySag=TheApplication.PrimarySystem.Analyses.New_Analysis(ZOSAPI.Analysis.AnalysisIDM.SurfaceSag);methods(MySag)

运行得到的结果为:

图片

在MATLAB中读取枚举

有时在OpticStudio中,可能需要在MATLAB中循环枚举来读取数据。例如,要将偶次非球面(Even Asphere)的系数读入MATLAB。

偶数非球面的表面矢高为:

图片

可以使用偶次非球面示例文件 

"{Zemax}\Samples\Sequential\Objectives\Even Asphere.zmx" 读取系数:

图片

可以使用eval函数并循环枚举将数据读入MATLAB:

TheSystem = TheApplication.PrimarySystem;
TheLDE = TheSystem.LDE;
for no_coeff=1:8
EA_coeff(no_coeff) = eval(['TheLDE.GetSurfaceAt(2).GetSurfaceCell(ZOSAPI.Editors.LDE.SurfaceColumn.Par' num2str(no_coeff) ').DoubleValue']);
end
 

图片

MATLAB中的时间性能函数

MATLAB中有一些实用的有关时间的函数,能够估计代码或部分代码运行所需的时间。在使用ZOS-API时,这些函数有助于检查优化或公差分析所需的时间。

方法一 :使用 timeit 函数,它将多次运行同一个函数并返回执行代码所需时间的中位数。

方法二:使用 profile 函数,它将返回特定函数执行时间的统计信息。

方法三:使用秒表计时器功能。以下将讨论秒表计时器功能,使用 tic 函数启动秒表, toc 停止秒表:

如下代码摘录自示例代码:"{Zemax}\ZOS-API SampleCode\MATLAB\MATLABStandalone_15_Seq_Optimization.m"。


tic
TheMFE = TheSystem.MFE;
OptWizard = TheMFE.SEQOptimizationWizard;
%Optimize for smallest RMS Spot, which is "Data" = 1
OptWizard.Data = 1;
OptWizard.OverallWeight = 1;
%Gaussian Quadrature with 3 rings (refers to index number = 2)
OptWizard.Ring = 2;
%Set air & glass boundaries
OptWizard.IsGlassUsed = true;
OptWizard.GlassMin = 3.0;
OptWizard.GlassMax = 15.0;
OptWizard.GlassEdge = 3.0;
OptWizard.IsAirUsed = true;
OptWizard.AirMin = 0.5;
OptWizard.AirMax = 1000.0;
OptWizard.AirEdge = 0.5;
%And click OK!
OptWizard.Apply();
toc
tic;LocalOpt = TheSystem.Tools.OpenLocalOptimization();if ~isempty(LocalOpt)LocalOpt.Algorithm = ZOSAPI.Tools.Optimization.OptimizationAlgorithm.DampedLeastSquares;LocalOpt.Cycles = ZOSAPI.Tools.Optimization.OptimizationCycles.Automatic;LocalOpt.NumberOfCores = 8;fprintf('Local Optimization...\n');fprintf('Initial Merit Function %6.3f\n', LocalOpt.InitialMeritFunction);LocalOpt.RunAndWaitForCompletion();fprintf('Final Merit Function %6.3f\n', LocalOpt.CurrentMeritFunction);LocalOpt.Close();end  % Get the elapsed time as a TimeSpan value.toc;

进行局部优化 ( Local Optimization )……

初始评价函数值为:0.363

最终评价函数值为:0.170

运行时间为:1.765178秒。

MATLAB 实时编辑器 ( Live Editor )

MATLAB实时编辑器是很实用的工具,可以在其中创建实时脚本,该脚本可以与代码并行显示输出。此外,还可以添加文本、方程、图像和超链接。关于MATLAB实时编辑器的更多信息可以联系我们工作人员获取。

图片

已经从OpticStudio中检索出如下示例中的库克三片式镜头的波前图(Wavefront Map)和FFTMTF,并绘制成MATLAB图形。本例中使用的MLX文件(MATLAB实时脚本文件格式)在本文的附件中。

图片

MATLAB 实时编辑器的实用功能是分节符,可以将代码分节并独立运行。

图片

例如,使用库克三片式镜头,可以选中计算每个表面主光线的AOI 的代码部分,然后单击“ 分节符 ”图标。如果点击“查看每个表面上主光线的AOI”部分(此部分周围会出现蓝色的方框),然后点击“运行小节 ( Run Section) ”图标,可以分别计算该节的代码。

图片

相关文章:

Ansys Zemax | 在 MATLAB 中使用 ZOS-API 的技巧

附件下载 联系工作人员获取附件 本文将介绍一些在MATLAB中使用 ZOS-API 的技巧,以提高您的工作效率并充分利用 ZOS-API 的功能。 简介 OpticStudio开发了应用程序接口 (API) ,用户可以使用API与不同的脚本环境进行连接和交互。使用API,用…...

js 生成pdf 并上传文件

js 生成pdf 并上传文件 使用 JsPDF html2Canvas 代码直接使用 注意注释 import JsPDF from jspdf import html2Canvas from html2canvas // 上传文件的方法 import { handleUploadImage } from /utils/uploadQuillEditdownPDF() {// 要打印元素的idconst cloneDom document.…...

刷刷刷刷刷sql题

NSSCTF 【SWPUCTF 2021 新生赛】easy_sql 这题虽然之前做过,但为了学习sql,整理一下就再写一次 打开以后是杰哥的界面 注意到html网页标题的名称是 “参数是wllm” 那就传参数值试一试 首先判断注入类型(数字型或字符型) 传1 …...

JavaScript 中的 this 及 this 指向的改变方法

在 JavaScript 的世界里,this是一个既强大又容易让人困惑的概念。它的指向在不同的函数调用场景下会动态变化,而call()、apply()和bind()这三个方法则为我们提供了精确控制this指向的能力。本文将从基础概念出发,结合具体案例,带大…...

安卓模拟器绕过检测全解析:雷电、MuMu、蓝叠、逍遥、夜神与WSA完整指南

安卓模拟器绕过检测全解析:雷电、MuMu、蓝叠、逍遥、夜神与WSA完整指南 模拟器过检测合集雷电mumu蓝叠逍遥夜神WSA 转自风车2025 前言 随着手机游戏和应用的普及,越来越多的用户选择在PC上通过模拟器来运行安卓应用。然而,许多应用和游戏为…...

VSCode中安装GitGraph

前提是先安装git,官方下载地址:Git - Downloads 1. 在VSCode中安装GitGraph插件 2. 文件->首选项->设置,打开设置界面,在设置界面搜索git path 3. 打开配置文件配置git安装路径: 4. 打开源代码管理,…...

StartAI「万物迁移」功能设计师实操教程:模特换衣场景应用

一、功能核心优势解析 智能识别与场景融合 基于迁移学习算法,精准定位服装轮廓(支持复杂材质如蕾丝、镂空设计),自动匹配目标场景的光影方向与色温。 效率革命 传统PS手动换衣需2-3小时,使用万物迁移可压缩至2-5分…...

【RK3588 嵌入式图形编程】-SDL2-扫雷游戏-放置标记

放置标记 文章目录 放置标记1、概述2、更新Globals.h3、放置标记4、渲染标记5、标记计数6、完整代码7、改进建议8、总结在本文中,我们实现标记放置和跟踪以完成的扫雷游戏项目。 1、概述 在我们扫雷游戏文章系列的最后部分中,我们将添加玩家在可疑的地雷位置放置标记的功能。…...

【Python】Selenium切换网页的标签页的写法(全!!!)

在使用selenium做网站爬取测试的时候,我们经常会遇到一些需要点击的元素,才能点击到我们想要进入的页面, 于是我们就要模拟 不断地 点点点击 鼠标的样子。 这个时候网页上就会有很多的标签页,你的浏览器网页标签栏 be like: 那…...

Spring Boot多环境配置详解

一、为什么需要多环境配置 在实际项目开发中,我们通常需要将应用部署到不同的环境中,比如: 开发环境(dev) - 开发人员本地开发调试使用测试环境(test) - 测试人员功能测试使用生产环境&#x…...

进阶篇 第 6 篇:时间序列遇见机器学习与深度学习

进阶篇 第 6 篇:时间序列遇见机器学习与深度学习 (图片来源: Tara Winstead on Pexels) 在上一篇中,我们探讨了如何通过精心的特征工程,将时间序列预测问题转化为机器学习可以处理的监督学习任务。我们学习了如何创建滞后特征、滚动统计特征…...

RHCE 作业二(密钥登录实验)

1.进入ssh主配置文件恢复配置: 2.vim进入ssh子文件夹查看配置 3.重启服务 /etc/ssh/ key结尾或者.pub结尾的文件全部都是密钥 sshd_confg.d目录是服务的子配置文件 ssh_confg.d目录是客户端你的子配置文件 ~/.ssh/ 是当前用户的配置文件 4.服务器和客户端分别…...

android contentProvider 踩坑日记

写此笔记原因 学习《第一行代码》到第8章节实现provider时踩了一些坑,因此记录下来给后来人和自己一个提示,仅此而已。 包含内容 Sqlite数据库CURD内容provider界面provider项目中书籍管理provider实现逻辑用adb shell确认providercontentResolver接收…...

K8s:概念、特点、核心组件与简单应用

一、引言 在当今云计算和容器技术蓬勃发展的时代,Kubernetes(简称 K8s)已成为容器编排领域的事实标准。它为管理容器化应用提供了高效、可靠的解决方案,极大地简化了应用的部署、扩展和运维过程。无论是小型初创公司还是大型企业…...

基于表面肌电信号sEMG的手势识别——以Ninapro DB1数据集使用CNN网络识别为例

完整代码获取 评论区或者私信留邮箱 接论文辅导!中文核心辅导!SCI三四区辅导! 可接模型改进 任务描述 表面肌电信号( sEMG ) 是一种生物电信号,存在于肌肉神经。 当大脑下达肌肉动作指令,肌肉会产生控制信号&#xff…...

黑盒测试——等价类划分法实验

任务&#xff1a; 设某程序有两个输入&#xff1a;整数x1和整数x2&#xff0c;计算Yf(x1,x2)。x1和x2的取值范围为1< x1<500,1< x2<500。当x1在[1,200) 取值且x2在[1,300] 取值时&#xff0c;Yf(x1,x2) x1x2&#xff1b;当x1在[200,500] 取值且x2在[1,300] 取值时&…...

深度学习4月22笔记

1、过拟合与欠拟合 在训练深层神经网络时&#xff0c;由于模型参数较多&#xff0c;在数据量不足时很容易过拟合。而正则化技术主要就是用于防止过拟合&#xff0c;提升模型的泛化能力(对新数据表现良好)和鲁棒性&#xff08;对异常数据表现良好&#xff09;。 1. 概念认知 …...

【MySQL数据库入门到精通-03 数据类型及案列】

文章目录 一、三类数据类型二、数值类型三、字符串类型四、日期时间类型五、日期时间类型 一、三类数据类型 MySQL中的数据类型有很多&#xff0c;主要分为三类&#xff1a;数值类型、字符串类型、日期时间类型。 二、数值类型 比如&#xff1a; 1). 年龄字段 – 不会出现负数…...

【机器学习】决策树算法中的 “黄金指标”:基尼系数深度剖析

一、基尼系数的基本概念 基尼系数&#xff08;Gini Impurity&#xff09;在决策树分类算法中&#xff0c;是用于衡量数据纯度的重要指标&#xff0c;与信息熵有着相似的功能。在样本集合里&#xff0c;基尼系数代表随机选取一个样本时&#xff0c;该样本被分错的概率 。假设一…...

植被参数遥感反演技术革命!AI+Python支持向量机/随机森林/神经网络/CNN/LSTM/迁移学习在植被参数反演中的实战应用与优化

在全球气候变化与生态环境监测的重要需求下&#xff0c;植被参数遥感反演作为定量评估植被生理状态、结构特征及生态功能的核心技术&#xff0c;正面临诸多挑战。随着遥感技术的发展&#xff0c;数据复杂度不断提升&#xff0c;模型精度的要求也越来越高。同时&#xff0c;多源…...

【AI】SpringAI 第四弹:接入本地大模型 Ollama

Ollama 是一个开源的大型语言模型服务工具。它的主要作用是帮助用户快速在本地运行大模型&#xff0c; 简化了在 Docker 容器内部署和管理大语言模型&#xff08;LLM&#xff09;的过程。 1. 确保Ollama 已经启动 # 查看帮助文档 ollama -h# 自动下载并启动 ollama run deeps…...

C# MP3 伴奏

使用建议&#xff1a; 参数调节指南&#xff1a; 低频人声残留&#xff1a;降低CenterFrequency(800-1500Hz) 高频人声残留&#xff1a;提高CenterFrequency(2500-3500Hz) 消除力度不足&#xff1a;提高EliminationStrength(0.9-1.0) 伴奏失真&#xff1a;降低EliminationSt…...

【springsecurity oauth2授权中心】将硬编码的参数提出来放到 application.yml 里 P3

在application.yml里添加配置 application.yml oauth2:client:id: clientsecret: secretauthentication-method: client_secret_basicgrant-types: authorization_code,refresh_tokenredirect-uris:- http://localhost:8081/login/oauth2/code/client- http://localhost:8081…...

【Ansible】批量管理 Windows自动化运维

一&#xff0c;前期准备 1&#xff0c;控制端&#xff08;Linux&#xff09;的要求 Ansible可以在安装了Python 2&#xff08;2.7版&#xff09;或Python 3&#xff08;3.5及更高版本&#xff09;的任何机器上运行。控制端计算机不支持Windows。 2&#xff0c;客户端&#x…...

AES-128、AES-192、AES-256 简介

AES&#xff08;Advanced Encryption Standard&#xff09; 是一种广泛使用的对称加密算法&#xff0c;由美国国家标准与技术研究院&#xff08;NIST&#xff09;于2001年正式采纳&#xff0c;用于替代旧的 DES 和 3DES。AES 基于 Rijndael 算法&#xff0c;支持 128 位、192 位…...

osxcross 搭建 macOS 交叉编译环境

1. osxcross 搭建 macOS 交叉编译环境 1. osxcross 搭建 macOS 交叉编译环境 1.1. 安装依赖1.2. 安装 osxcross 及 macOS SDK 1.2.1. 可能错误 1.3. 编译 cmake 类工程1.4. 编译 configure 类工程1.5. 单文件编译及其他环境编译1.6. 打包成 docker 镜像1.7. 使用 docker 编译 …...

联通余额查询接口

接口名称 1) 请求地址 https://ucbss.10010.cn/npfweb/NpfWeb/Mustpayment/getMustpayment?number13112345586&province051&commonBean.phoneNo13112345586&channelType101https://ucbss.10010.cn/npfweb/NpfWeb/Mustpayment/getMustpayment?number13112345586&…...

Python 设计模式:桥接模式

1. 什么是桥接模式&#xff1f; 桥接模式是一种结构型设计模式&#xff0c;它通过将抽象部分与其实现部分分离&#xff0c;使得两者可以独立变化。桥接模式的核心思想是将抽象和实现解耦&#xff0c;从而提高系统的灵活性和可扩展性。 桥接模式的核心思想是将一个类的接口与其…...

7.6 GitHub Sentinel后端API实战:FastAPI高效集成与性能优化全解析

GitHub Sentinel Agent 用户界面设计与实现:后端 API 集成 关键词:前后端分离架构、RESTful API 设计、数据序列化、命令行工具开发、集成测试 后端 API 集成关键技术实现 本阶段需要完成前端界面与后端服务的无缝对接,实现以下核心功能: #mermaid-svg-FFnzT13beWV52dtx …...

Smart AI:在AI浪潮中崛起的智能NFT生态革命者

技术引领&#xff0c;智能进化&#xff1a;Smart AI强势登场 在全球AI技术浪潮席卷之际&#xff0c;由澳大利亚顶尖技术团队倾力打造的Smart AI平台横空出世&#xff0c;以其革命性的NFT智能进化系统&#xff0c;正在彻底重塑数字资产的未来图景。Smart AI不仅是一个平台&…...

Linux——基于socket编程实现简单的Tcp通信

前言1&#xff1a;想要实现一个简单的Tcp通信不难&#xff0c;对于初学者而言&#xff0c;难点在于使用了大量未曾接触过的函数调用&#xff0c;所以本篇重点在于详解每部分代码中相关函数的功能。 1. 简单认识一下TCP传输 TCP通信协议是面向字节流的、可靠的、有连接的传输&a…...

STL C++详解——priority_queue的使用和模拟实现 堆的使用

priority_queue的使用 std::priority_queue 是 C 标准模板库&#xff08;STL&#xff09;中的一个容器适配器&#xff0c;提供了优先队列的功能。 优先队列&#xff1a;是一种特殊的队列&#xff0c;队列中的每个元素都有与之关联的优先级&#xff0c;优先级高的元素会先出队…...

是否可以使用非被动 S4P 文件进行反嵌?

AEDT 电路去嵌入算法使用假定线性时不变 &#xff08;LTI&#xff09; 行为的转换。如果非被动 S 参数块不是 LTI&#xff0c;则倒数函数将无法按预期工作。...

GAEA的技术优势:分层加密与去中心化数据治理

GAEA采用分层加密架构&#xff0c;将用户数据分为三个层级&#xff1a; 基础层&#xff08;链上数据&#xff09;&#xff1a;用户身份哈希、资源贡献记录等核心数据通过零知识证明&#xff08;ZK-SNARKs&#xff09;进行链上加密&#xff0c;确保不可篡改和匿名性。 情感层…...

使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第九讲)

这一期讲解GUI_guider中的容器控件的使用以及相关函数&#xff0c;容器本质上是具有布局和自动调整大小功能的基本对象 &#xff0c;通常用来装载其他子控件。 打开上一期的项目&#xff0c;在工具栏中选中容器控件拖拽到界面中&#xff0c;具体如图所示&#xff1a; 容器默认…...

SparkStreaming概述

SparkStreaming主要用于流式计算&#xff0c;处理实时数据。 DStream是SparkStreaming中的数据抽象模型&#xff0c;表示随着时间推移收到的数据序列。 SparkStreaming支持多种数据输入源&#xff08;如Kafka、Flume、Twitter、TCP套接字等&#xff09;和数据输出位置&#xf…...

LeetCode---整数反转

整数反转 给你一个 32 位的有符号整数 x &#xff0c;返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] &#xff0c;就返回 0。 示例 示例 1&#xff1a; 输入&#xff1a;x 123 输出&#xff1a;321 示例 2&#xf…...

Conceptrol: Concept Control of Zero-shot Personalized Image Generation(个性化图像生成)

文章目录 一、论文介绍二、项目部署三、效果展示3.1ipadapter plus sd1.5的效果3.2ipadapter plus sd1.5 plus concept的效果3.3两者结果的比较&#xff1a;原本的ipadapter、加了concept的ipadapter 一、论文介绍 个性化图像生成中的平衡问题&#xff1a;现有的zero-shot adap…...

【Harmony】常用工具类封装

文章目录 一&#xff0c;简介二&#xff0c;网络请求工具类2.1、鸿蒙原生http封装2.2、第三方axios封装(需提前下载依赖) 三、录音笔相关工具类3.1、录音封装(录入)3.2、录音封装(放音/渲染)3.3、文件写入封装(针对录音/放音功能) 四、RDB关系型数据库4.1、relationalStore简答…...

大模型部署到本地就是私有化部署吗?

大模型私有化的定义需要从部署方式和数据/模型控制权两个维度来理解&#xff0c;不能简单地仅以“部署位置”或“数据训练”单一条件判断。以下是具体分析&#xff1a; 1. 大模型私有化的核心定义 根据知识库中的描述&#xff08;[1][2][3][8]&#xff09;&#xff1a; 私有化…...

C语言高频面试题——嵌入式系统中中断服务程序

在嵌入式系统中&#xff0c;中断服务程序&#xff08;ISR&#xff09;的设计需遵循严格的规则以确保系统稳定性和实时性。以下是对这段代码的分析及改进建议&#xff1a; 代码分析 __interrupt double compute_area (double radius) { double area PI * radius * radius; pri…...

JavaFX 实战:从零打造一个功能丰富的英文“刽子手”(Hangman)游戏

大家好&#xff01;今天我们要挑战一个经典的单词猜谜游戏——“刽子手”&#xff08;Hangman&#xff09;&#xff0c;并使用 JavaFX 这个强大的 GUI 工具包来赋予它现代化的交互体验。这个项目不仅有趣&#xff0c;而且是学习和实践 JavaFX 核心概念的绝佳途径&#xff0c;涵…...

第 2.1 节: 机器人仿真环境选择与配置 (Gazebo, MuJoCo, PyBullet)

在真实机器人硬件上进行开发和测试既耗时又存在风险&#xff08;硬件损坏、安全问题&#xff09;。机器人仿真环境提供了一个虚拟的沙盒&#xff0c;让开发者能够在计算机中模拟机器人的物理行为、传感器读数和环境互动&#xff0c;极大地加速了开发、测试和调试过程。特别是对…...

网络开发基础(游戏)之 粘包分包

粘&#xff08;nin&#xff09;包、分包 在网络通信中&#xff0c;TCP协议是面向流的协议&#xff0c;没有消息边界概念&#xff0c;粘包和分包是常见的问题。在某种情况下&#xff08;例如网络环境不稳定&#xff09;就会导致"粘包"和"分包"问题&#xf…...

联邦元学习实现个性化物联网的框架

随着数据安全和隐私保护相关法律法规的出台&#xff0c;需要直接在中央服务器上收集和处理数据的集中式解决方案&#xff0c;对于个性化物联网而言&#xff0c;训练各种特定领域场景的人工智能模型已变得不切实际。基于此&#xff0c;中山大学&#xff0c;南洋理工大学&#xf…...

使用 Nacos 的注意事项与最佳实践

&#x1f4f9; 背景 Nacos 凭借其强大&#x1f4aa;的服务发现、配置管理和服务管理能力&#xff0c;成为构建分布式系统的得力助手。然而&#xff0c;要充分发挥 Nacos 的优势&#xff0c;实现系统的高性能、高可用&#xff0c;掌握其使用过程中的注意事项和最佳实践至关…...

在Pytorch中使用Tensorboard可视化训练过程

【在Pytorch中使用Tensorboard可视化训练过程】 https://www.bilibili.com/video/BV1Qf4y1C7kz/?share_sourcecopy_web&vd_sourcef00bfb41b3b450c3767070ed82f30ac8 主要功能&#xff1a; 1.保存网络结构图 2.保存训练集的损失Loss&#xff0c;验证集的正确性Accuracy以…...

15.电感特性在EMC设计中的运用

电感特性在EMC设计中的运用 1. 共模电感与差模电感的差异2. 电感的高频等效特性![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b4dc000672af4dd69a528450eb42cf10.png)3. 电感在EMC设计中的使用注意事项3.1 LC滤波计算3.2 并联型多级浪涌防护的电感退耦 1. 共模电感…...

代理设计模式:从底层原理到源代码 详解

代理设计模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过创建一个代理对象来控制对目标对象的访问。代理对象充当客户端和目标对象之间的中介&#xff0c;允许在不修改目标对象的情况下添加额外的功能&#xff08;如权限控制、日志记录、延迟…...

25、简述.NET程序集(Assembly)

.NET 程序集&#xff08;Assembly&#xff09; .NET 程序集&#xff08;Assembly&#xff09; 是 .NET 应用程序的基本部署单元&#xff0c;包含以下核心内容&#xff1a; 类型与代码&#xff1a; 存储类、接口等类型的定义及实现&#xff08;以中间语言 IL 形式&#xff09;。…...