自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 matlab常用快捷键

Matlab常用的11个快捷键【注释、自动对齐、跳转指定行、设置标签and断点、自动补全、历史命令、强制中断运行、退出、单行注释转多行】_matlab if end自动对齐-CSDN博客matlab对齐快捷键 - CSDN文库

2023-12-10 14:49:29 654

原创 matlab操作方法(三)——matlab中的数字图像(读取、显示、保存)

数字图像是二维图像用有限数字数值像素的表示。通常像素在计算机中保存为二维整数数组的光栅图像,这些值经常用压缩格式进行传输和存储。二值图像:图像中每个像素的亮度值仅可以取自0或1的图像,因此也称为1bit图像灰度图像:图像中每个像素可以由0(黑)到255(白)的亮度值表示。0~255之间表示不同的灰度阶彩色图像:彩色图像主要分为两种类型,RGB和CMYK。

2023-12-10 14:21:34 1300

原创 前端知识分享

前端知识库使用指南 - 飞书云文档 (feishu.cn)

2023-12-08 12:53:35 468

原创 求助!!为什么我的zemax软件不能显示点列图等像差分析图

一片空白!!!!!!!!!!!!!!!!!

2023-12-03 14:21:11 514

原创 zemax之初级像差理论与像差校正——像散

像散是指轴外物点发出的锥形光束通过光学系统聚焦后,光斑在像面上子午方向与弧矢方向的不一致性。轴外视场光束通过光瞳后,在子午方向与弧矢的光程不相等,造成两个方向光斑分离所形成的弥散斑,称为光学系统的像散。像散类似于日常提及的散光,比如人眼的散光,指的是人眼看上下方向与左右方向的景物时清晰度不同,主要原因是人眼角膜在上下方向与左右方向的弯曲程度不同,造成屈光度不同,在zemax中,物点发出的是锥形光束且充满整个光瞳面,为方便几何光线分析,,凡是经过光瞳Y轴的所有光束剖面称为子午面;

2023-12-03 13:32:15 763

原创 zemax之初级像差理论与像差校正——慧差

通过上节介绍,我们已经知道在轴上视场产生的球差是旋转对称的像差。在进行光学系统设计时,同时需要保证轴上物点和轴外物点的成像质量。轴外物点成像时会引入轴外像差,即轴外视场产生的慧差(coma aberration)

2023-12-03 12:36:36 1875

原创 matlab操作方法(二)——基本作图

matlab提供很多灵活的二维作图功能函数。这些作图函数分为3类:图形处理、曲线和曲面图的创建、注释和图形特性。作图函数虽多,但语法大致相同在 MATLAB 中,figure函数用于创建或选择图形窗口。还有另外一个函数subplot()subplot该函数把几个独立生成的图形放在同一个图形窗口中,参数m和参数n分别表示把图形窗口分为行和列的子图数目,参数p指出图形放在第几个子图中。

2023-12-02 12:00:42 1490

原创 matlab操作方法(一)——向量及其操作

常用于向量化运算的函数有:min(),max(), repmat(), meshgrid(), sum(), cumsum(), diff(), prod(), cumprod(), accumarray(), filter()。但是如果是在对向量元素进行赋值的过程中,当小括号内的序数超过向量元素的个数时,则会完成赋值,并进行补0处理。matlab中的变量或常量都代表矩阵,标量可以看成是1X1的矩阵,向量则可以看成是1XN(行向量)或NX1的矩阵。向量是指单行或者单列的矩阵,它是构成矩阵的基础。

2023-12-02 09:57:35 2910

原创 zemax怎样查看光学系统的像差并找到像差最敏感的面

ZEMAX详解(19)-怎样查看光学系统的像差并找到像差最敏感的面 (optkt.com)zemax中如何快速查看波像差_zemax波像差图在哪里-CSDN博客

2023-11-30 15:45:34 588

原创 zemax之初级像差理论与像差校正——球差

有些情况某一像差无法校正,需要用其他像差来补偿,即像差平衡。像差平衡时,不需要将所有像差都校正到最小,关键是各种像差的平衡:轴上点与轴外点的平衡、各个视场间像差的平衡、各种像差的正负号平衡,这样才能使所有像差对一个统一像面达到最小,整个系统具有最佳成像质量。除此之外透镜的厚度还有功能:(1)透镜厚度作为光学结构参数的变量,其变化可以使透镜的焦距发生变化等(2)透镜厚度作为校正像差的变量,通过厚度的变化可以校正光学系统的像差,在双高斯型照相物镜中,是利用两块近乎对称的厚透镜来校正像差。

2023-11-30 14:20:33 3582

原创 Zemax光学设计——单透镜设计

(1)在镜头数据编辑器中面2那一栏中的“曲率半径”栏右侧的方格中单击,弹出“在面2上的曲率解”对话框(2)将对话框中的求解类型设为“F数”(3)将“F/#”设置为10设置完成后,其中的一些数据会发生变化在初始结构中,透镜的曲率半径和厚度未知,,这些参数需要软件自动优化得到,但可以使用透镜后表面上边缘厚度解得到近轴焦平面的位置在透镜后表面的厚度上单击鼠标右键,选择边缘光线求解类型,它表示近轴边缘光线会自动在下一个表面上聚焦并确定距离值。

2023-11-29 16:45:19 5052

原创 Linux命令学习

空格键代表向下翻一页,enter键代表向下翻一行,:f 立刻显示出文件名以及目前显示的行数,q 代表离开程序。cp [选项] source dst。即复制source文件到dst;mv <目录地址1/*.txt> <目录地址2>mv <源文件名称/地址> <新文件名称/地址>mv<目录地址1/xxx> <目录地址2>mv<目录地址1/> <目录地址2>cp命令主要可用于复制文件或目录。,便可将目录地址1下的所有内容移动。mv命令也可以重命名文件或文件夹。移动文件夹(目录)下的内容。终端提示新建了某个目录。

2023-11-29 11:24:21 346

原创 4_最长公共前缀

我首先想到的方法就是暴力匹配法,刚开始我自己写的代码长这样,运行结果是错误的。发现是循环的控制变量不对,导致计算结果出错。应该比较所有的vec[i][0],vec[i][1]......,而不是比较vec[0][j],vec[1][j]......。就是应该让i先遍历一圈,再遍历j。尤其是这一行,瞬间懂了怎样修改遍历顺序。直到看见题解中的暴力匹配法。

2023-11-29 11:23:00 380

原创 第十四章——C++中的代码重用

valarray类是由头文件valarray支持的。这个类用于处理数值(或具有类似特性的类),它支持诸如将数组中所有元素的值相加以及在数组中找到最大值和最小值的操作。valarray被定义为一个模板类,以便能够处理不同的数据类型模板特性意味着声明对象时,必须指定具体的数据类型。以Stack类为基础来建立模板private:int top;采用模板时,将使用模板定义替换Stack声明,使用模板成员函数替换Stack的成员函数。

2023-11-29 11:22:00 793

原创 电脑C盘爆红怎么办?

电脑使用较长时间后会积累很多垃圾文件,常常导致系统盘爆红,电脑变得很卡。

2023-11-29 11:20:23 461

原创 学习Qt的网站

之前有一段时间准备学习Qt,当时找到的两个学习网站。

2023-11-27 14:42:01 875

原创 word因导入mathtype不能使用复制粘贴(ctrl+c, ctrl+v)快捷键的解决方法

由于mathtype的原因导致很长时间在word中不能使用复制粘贴快捷键,今天突然在网上找到这个方法问题已解决。

2023-11-27 11:09:24 1369 1

原创 C++面试知识点总结

<符号表示该语句将把这个字符串发送给cout;该符号指出了信息流动的路径;cout的对象属性包括一个插入运算符(<<),它可以将其右侧的信息插入到流中endl:重起一行。在输出流中插入endl将导致光标移动到下一行开头,它确保程序继续运行前刷新输出(将其立即显示在屏幕上)空格、制表符、回车统称为空白,volatile 可以保证对特殊地址的稳定访问抽象和类。类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法合成一个整洁的包。

2023-09-04 15:09:58 1017

转载 c/c++中,预编译指令用法汇总

切换模式写文章登录/注册。

2023-08-21 14:44:21 214

原创 《计算机网络自顶向下方法》学习笔记(前六章)

回答这个问题可以从两方面入手,一个方面是它的具体构成(即构成因特网的基本硬件和软件组件;另一个方面是服务描述。协议(protocol)定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作。DNS的一种简单设计是在因特网上只使用一个DNS服务器,该服务器包含所有的映射。单点故障。如果该DNS服务器崩溃,整个因特网随之瘫痪通信容量。单个DNS服务器不得不处理所有的DNS查询(用于为上亿台主机产生的所有HTTP请求报文和电子邮件报文服务)

2023-07-22 11:26:10 473 1

原创 第十七章——输入输出

流和缓冲区C++程序把输入和输出看作字节流。输入时,程序从输入流中抽取字节;输出时,程序将字节插入到输出流中流充当了程序和流源或流目标之间的桥梁。这使得C++程序可以以相同的方式对待来自键盘的输入和来自文件的输入通常使用缓冲区可以更高效地处理输入和输出。缓冲区是用作中介的内存块,是将信息从设备传输到程序或从程序传输给设备的临时存储工具。流、缓冲区和iostream文件iostream文件中包含一些专门用来实现、管理流和缓冲区的类。

2023-07-16 13:35:51 158

原创 第十五章——友元、异常

让Remote::set_chan()成为Tv类的友元的方法是,在Tv类声明中将其声明为友元。

2023-07-15 16:54:49 139

原创 第十三章——类继承

brass.cpp。

2023-07-14 16:17:07 165

原创 Leetcode刷题——二分查找(day1)

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。这一题其实就是在上一题的基础上进行了一点点改进,当目标值不存在于数组中,返回的是它被按顺序插入的位置,而不再是-1;读完题目的第一想法就是遍历一遍数组,如果找到了就返回相应的下标,如果没找到,就返回-1。输入: nums = [-1,0,3,5,9,12], target = 9。

2023-07-12 22:20:26 376

原创 第十一章——使用类

像sum()一样,operator +()也是由Time对象调用的,它将第二个Time对象作为参数,并返回一个Time对象,因此可以像调用sum()那样来调用operator +()方法。在运算符表示法中,运算符左侧的对象(这里为coding)是调用对象,运算符右边的对象(这里是fixing)是作为参数被传递的对象。例如,operator +()重载+运算符,operator *()重载*运算符。多数C++运算符都可以用这样的方式重载,重载的运算符不必是成员函数,但必须至少有一个操作数是用户定义的类型。

2023-07-12 16:59:44 104

原创 第十章——对象和类

现在需要创建Stock的构造函数。由于需要为Stock对象提供3个值,因此应为构造函数提供3个参数。(第四个值total_val成员,是根据shares和share_val计算得到的,因此不必为构造函数提供这个值),下面是构造函数的一种可能定义。

2023-07-12 10:42:59 100

原创 第九章——内存模型和名称空间

一个名称空间中的名称不会与另一个名称空间中的相同名称发生冲突,同时允许程序的其他部分使用该名称空间中声名的东西。在funct1()中声名的变量的count的作用域为局部,没有链接性,这意味着只能在funct1()函数中使用它,就像自动变量llama一样。(然而,变量并非在其潜在作用域内的任何位置都是可见的,例如它可能被另一个在嵌套声明区域中声明的同名变量隐蔽。将结构声明放在头文件中是可以的,因为它们不创建变量,而只是在源代码文件中声明结构变量时,告诉编译器如何创建该结构变量;C++变量的作用域有多种。

2023-07-11 09:03:45 85

原创 第八章——函数探幽

如果两个函数的参数数目和类型相同,同时参数的排列顺序也相同,则它们的特征标相同,而变量名是无关紧要的;函数模板是通用的函数描述,也就是说它们使用泛型来定义函数,其中的泛型可用具体的类型(如 int 或 double)替换。假如已经定义了一个交换两个int值的函数,但是现在需要交换两个double值,则一种方法是复制原来的代码,并用double替换所有的int。程序员请求将函数作为内联函数,编译器并不一定会满足这种请求,它可能认为该函数过大或函数调用了自己(内联函数不能递归),因此不将其作为内联函数。

2023-07-10 20:51:57 176

原创 第七章——函数(C++的编程模块)

可以将函数分为两类:没有返回值的和有返回值的函数。没有返回值的函数称为void函数。

2023-07-10 15:27:09 128

原创 第六章——分支语句和逻辑运算符

设计智能程序的一个关键是使程序具有决策能力。上一章介绍了一种决策方式——循环,在循环中程序决定是否继续循环。本章我们来研究一下如何使用分支语句在可选择的操作中做出决定。

2023-07-10 09:30:02 192

原创 第五章——循环和关系表达式

执行完循环体后,程序返回测试条件,对它进行重新评估,如果该条件非0,则再次执行循环体,测试和执行将一直进行下去,直到测试条件为false为值。两个版本对操作数的影响是一样的,但是影响的时间不同。而++b的意思是先将b的值加1,然后使用新的值来计算表达式(区别就在于”使用后修改“和”修改后使用“)C++11新增了一种基于范围的for循环,简化了一种常见的循环任务:对数组(或容器)的每个元素执行相同的操作,例如。其中x最初表示数组的第一个元素,显式第一个元素后不断执行循环,而x依次表示数组的其他元素。

2023-07-09 10:56:16 111

原创 第四章——复合类型

数组虽然可以存储多个元素,但是要求所有元素的类型必须相同。C++中的结构是一种比数组更灵活的数据格式,同一个结构中可以存储多种类型的数据。结构是用户定义的类型,而结构声明定义了这种类型的数据属性。关键字struct表明,这些代码定义的是一个结构的布局,标识符inflatable是这种数据格式的名称。这样便可以像创建char或int类型的变量那样创建inflatable类型的变量了。接下来的大括号中包含的是结构存储的数据类型的列表,其中每一个列表项都是一条声明语句。总之结构定义指出了新类型的特征。

2023-07-08 17:21:59 201

原创 第三章——处理数据

面向对象编程(OOP)的本质是设计并扩展自己的数据类型。设计自己的数据类型就是让类型与数据匹配。在创建自己的类型之前必须先了解C++内置的类型。内置的C++类型分为两组:基本类型和复合类型。

2023-07-07 18:07:08 277

原创 第二章——开始学习C++

如果两个已封装好的产品中都包含了一个同名函数,这样在使用的时候编译器不知道要使用哪一个,名称空间让厂商能够将其产品封装在一个叫名称空间的单元中,这样就可以通过名称空间的名称来区分是哪个厂商的产品。预处理器在进行主编译之前对源文件进行处理,上面的程序使用了#include<iostream>编译指令,该编译指令导致预处理器将iostream文件的内容添加到程序中(这是一种典型的预处理器操作,在源文件被编译之前,替换或添加文本)位于函数名前面的部分叫做函数返回类型,它描述的是函数返回给它的调用函数的信息;

2023-07-07 10:45:54 2608 2

原创 C与C++不一样的地方

与强调算法的过程性编程不同的是,OOP强调的是数据,试图让语言来满足问题的要求,其理念是设计与问题的本质特性相对应的数据格式。定义的数据部分应包括顶点的位置、长和宽、4条边的颜色和样式、矩形内部的颜色和填充图案等;从概念上说,过程化编程首先要确定计算机应采取的操作,然后使用编程语言来实现这些操作,程序命令计算机按一系列流程生成特定的结果。不过OOP强调的是编程的数据部分,而泛型编程强调的是独立于特定数据类型。主要理解泛型指的是创建独立于类型的代码。数据是程序使用和处理的信息,而算法是程序使用的方法。

2023-07-07 06:42:59 96

原创 深入理解计算机系统(一)

上述表示方法说明了一个基本思想:系统中的所有信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据,都是由一串比特表示的。hello程序的生命周期是从一个高级C语言程序开始的,但是为了在系统上运行hello.c程序,每一条语句都被转化为一系列低级机器语言指令,然后这些指令按照一种称为可执行目标程序(可执行目标文件)的格式打包好,并以二进制磁盘文件的形式存放起来。下图是Linux进程的虚拟地址空间,地址空间最上面的区域是保留给操作系统中的代码和数据的,对所有进程而言都一样。

2023-07-06 18:48:09 862 1

转载 STL六大组件介绍

STL(Standard Template Library),即标准模板库,是一个高效的C++程序库。包含了诸多在计算机科学领域里常用的基本数据结构和基本算法。从逻辑层次来看,在STL中体现了泛型化程序设计的思想(generic programming)。从实现层次看,整个STL是以一种类型参数化(type parameterized)的方式实现的。

2023-07-04 16:29:43 182 3

原创 C++标准程序库中的基本概念

如果你在namespace之内定义所有标识符号,则namespace本身名称就成了唯一可能与其它全局符号冲突的标识符号,必须在标识符号前加上namespace名字,才能援引该namespace内的符号。迭代器的主要好处是为所有容器提供一组很小的公共接口,利用该接口,某操作就可以行进至群集内的下一个元素。然而,它允许你将各种容器与各种算法结合起来,在很小的框架内拥有非常大的弹性。当你采用不同的模块和程序库时,经常会出现名称冲突现象,这是因为不同的模块和程序库可能针对不同的对象使用相同的标识符。

2023-07-04 16:16:22 179

原创 计算机网络——自顶向下方法(第六章学习记录)

将运行链路层协议的任何设备均称为节点(node)。节点包括主机、路由器、交换机和WiFi接入点。把沿着通信路径连接相邻节点的通信信道称为链路(link)。为了将一个数据报从源主机传输到目的主机,数据报必须通过沿端到端路径上的各段链路传输。

2023-06-27 16:14:06 1324 1

转载 这篇文章把 TCP/IP 讲绝了!

TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。

2023-06-27 09:00:07 69

计算机网络PPT-中科大郑烇

计算机网络PPT-中科大郑烇

2023-12-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除