MATLAB数据类型和运算符+矩阵创建
个人主页:学习前端的小z
个人专栏:HTML5和CSS3悦读
本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论!
文章目录
- ✍一、MATLAB数据类型和运算符
- 💎1 MATLAB的数据类型
- 🌹1.1 特殊常量
- 🌹1.2 变量
- 🌹1.3 整数
- 🌹1.4 浮点数
- 🌹1.5 复数
- 💎2 MATLAB运算符
- 🌹2.1 算术运算符
- 🌹2.2 关系运算符
- 🌹2.3 逻辑运算符
- 🌹2.4 优先级
- ✍二、矩阵的创建
- 💎1 直接输入矩阵
- 💎2 冒号生成矩阵
- 💎3 利用函数生成矩阵
- 🌹3.1 linspace函数
- 🌹3.2 logspace函数
- 💎4 利用文本文件生成矩阵
- 💎5 利用M文件生成矩阵
- 💎6 特殊矩阵的生成
- 🌹6.1 单位矩阵
- 🌹6.2 0矩阵
- 🌹6.3 1矩阵
- 🌹6.4 魔方矩阵
- 🌹6.5 0~1均匀分布随机矩阵
- 🌹6.6 正态分布随机矩阵
- 🌹6.7 对角矩阵
- 🌹6.8 三角矩阵
✍一、MATLAB数据类型和运算符
💎1 MATLAB的数据类型
🌹1.1 特殊常量
MATLAB有些固定的变量,称为特殊常量。这些特殊常量具有特定的意义,用户在定义变量名时应避免使用。
在MATLAB语言中,需要知道程序或者代码的运行时间,可以使用计时函数tic/toc,和etime两种方法实现。
(1)tic/toc方法
例如:
tic
%程序段
toc%返回时间就是程序运行时间
(2)etime方法
函数命令格式为:
etime(t2,t1)
其中t2和t1可以使用clock函数获得。
例如:
t1=clock
%程序段
🌹1.2 变量
变量是其值可以改变的量,是数值计算的基本单元。MATLAB变量使用无需事先定义和声明,也不需要指定变量的数据类型。可以自动根据变量值或对变量操作来识别变量类型。在变量赋值过程中,自动使用新值替换旧值,用新值类型替换旧值类型。
变量的命名规则:
(1)变量名由字母、数字和下划线组成,且第一个字符为字母,不能有空格和标点符号。例如:“1a”,“a 1”、“_a”“a%”、“b-1”和“变量a”都是不合法的变量名。
(2)变量名区分大小写。例如P1Q,p1q,P1q,p1Q是四个不同的变量。
(3)变量名的长度上限为63个字符,第63个字符后面的字符被忽略。
(4)关键字或者系统的函数名。
🌹1.3 整数
MATLAB R2020a提供8种常见的整数类型,可以使用类型转换函数将各种整数类型强制互相转换。下表给出MATLAB各种整数类型的取值范围和类型转换函数。
🌹1.4 浮点数
浮点数包括单精度型(single)和双精度型(double),默认的数据类型是双精度型。单精度型取值范围是
;双精度型取值范围是 ,浮点数类型可以用类型转换函数single ( )和double()互相转换。
>> y1=int8(1.6e16) %将浮点数强制转换为有符号8位整数
y1 = 127
>> y2=int16(1.6e16) %将浮点数强制转换为有符号16位整数
y2= 32767
>> y3=int8(2.65) % 将浮点数强制转换为有符号8位整数
y3 = 3
>> y4=uint8(-3.2) % 8位无符号整数最小值是0
y4 = 0
>> y5=1/3 % MATLAB默认的数据类型是双精度型
y5 = 0.3333
>> y6=single(1/3) % 用single()函数,将双精度型强制转换为单精度型
y6 = 0.3333
🌹1.5 复数
MATLAB用特殊变量i或j表示虚数的单位。MATLAB中复数运算可以直接进行。复数z可以通过以下几种方式产生:
z=a+bi或者z=a+bj %其中a为实部,b为虚部
z=a+bi或者z=a+bj
z=rexp(ithetha) %其中r为半径,thetha为相角(以弧度为单位)
z=complex(a,b)
z=a+b*sqrt(-1)
MATLAB复数运算常见函数如下表所示:
💎2 MATLAB运算符
三种常见运算符:算术运算符、关系运算符和逻辑运算符
🌹2.1 算术运算符
(1)加、减、乘和乘方运算规则与传统的数学定义一样,用法也相同。
(2)点运算是指对应元素点对点运算,要求参与运算矩阵的维度要一样。点左除与点右除不一样,A./B是指A的对应元素除以B的对应元素,A.\B是指B的对应元素除以A的对应元素。
(3)MATLAB除法相对复杂些,对于单个数值运算,右除和传统除法一样,即a/b=a÷b;而左除与传统除法相反,即a\b=b÷a。对于矩阵运算,左除A\B相当于矩阵方程组 的解,即X=A\B=inv(A)B; 右除B/A相当于矩阵方程组 的解,即X=B/A= Binv(A)。
下图是MATLAB中常用的数学函数:
说明:
(1)abs函数可以求实数的绝对值,复数的模和字符串的ASII值,比如:abs(-2.3)=2.3;abs(3+4i)=5; abs(‘a’)=97。
(2)MATLAB语言有四个取整的函数:round,fix,floor和ceil,它们之间是有区别的。比如:round(1.49)=1;fix(1.49)=1;floor(1.49)=1;ceil(1.49)=2。round(-1.51)=-2;fix(-1.51)=-1;floor(-1.51)=-2;ceil(-1.51)=-1。
(3)MATLAB语言中以自然对数函数是log10(x),而不是lg(x),自然对数函数是exp(x),而不是e^(x)。
(4)符号函数sign(x)的值有三种,当x=0,sign(x)=0;当x>0, sign(x)=1;当x<0, sign(x)=-1。
(5)MATLAB语言三角函数都是对弧度操作,使用三角函数时候,需要将度变换为弧度,变换公式为:弧度=2pi(度/360)。比如:数学上的sin(60),MATLAB语言应该写成:sin(2pi60/360)。
🌹2.2 关系运算符
MATLAB语言有大于、大于等于、小于、小于等于、等于和不等于六种常见关系运算符,如下表所示:
注意:关系运算符主要用于数与数、数与矩阵元素、矩阵与矩阵之间元素进行比较,返回两者之间的关系的矩阵(由数0和1组成),0和1分别表示关系不满足和满足。矩阵与矩阵之间进行比较时,两个矩阵的维度要一样。
🌹2.3 逻辑运算符
4种逻辑运算符:&(与)、|(或)、~(非)和xor(异或)。
运算规则:
(1)在逻辑运算中,所有非零元素均被认为真,用1表示;零元素为假,用0表示。
(2)如果两个同维矩阵参与逻辑运算,矩阵对应元素按标量规则进行逻辑运算,得到同维的由1或者0构成的矩阵。
(3)如果一个标量和一个矩阵参与逻辑运算,标量和矩阵的每个元素按标量规则进行逻辑运算,得到同维的由1或者0构成的矩阵。
🌹2.4 优先级
算术运算符优先级最高,关系运算符次之,逻辑运算符为最低。即程序先执行算术运算,然后执行关系运算,最后执行逻辑运算。在逻辑“与”、“或”、“非”三种运算符中,“非”的优先级最高,“与”和“或”的优先级相同,即从左往右执行。实际应用中,可以通过括号来调整运算的顺序。
例如:
>> q=(1>2|2<1+2)
q = 1
其中,MATLAB先执行算术运算:1+2=3,然后执行关系运算1>2为0,和2<3为1,最后执行逻辑运算0|1=1。
个人主页:学习前端的小z
个人专栏:HTML5和CSS3悦读
本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论!
文章目录
- ✍一、MATLAB数据类型和运算符
- 💎1 MATLAB的数据类型
- 🌹1.1 特殊常量
- 🌹1.2 变量
- 🌹1.3 整数
- 🌹1.4 浮点数
- 🌹1.5 复数
- 💎2 MATLAB运算符
- 🌹2.1 算术运算符
- 🌹2.2 关系运算符
- 🌹2.3 逻辑运算符
- 🌹2.4 优先级
- ✍二、矩阵的创建
- 💎1 直接输入矩阵
- 💎2 冒号生成矩阵
- 💎3 利用函数生成矩阵
- 🌹3.1 linspace函数
- 🌹3.2 logspace函数
- 💎4 利用文本文件生成矩阵
- 💎5 利用M文件生成矩阵
- 💎6 特殊矩阵的生成
- 🌹6.1 单位矩阵
- 🌹6.2 0矩阵
- 🌹6.3 1矩阵
- 🌹6.4 魔方矩阵
- 🌹6.5 0~1均匀分布随机矩阵
- 🌹6.6 正态分布随机矩阵
- 🌹6.7 对角矩阵
- 🌹6.8 三角矩阵
✍二、矩阵的创建
MATLAB各种数据类型都是以矩阵形式存在,大部分运算都是基于矩阵运算,矩阵主要分为三类:数值矩阵,符号矩阵和特殊矩阵
💎1 直接输入矩阵
MATLAB语言最简单的创建矩阵方法是通过键盘在命令窗口直接输入矩阵,直接输入法的规则是:
- 将所有矩阵元素置于一对方括号“[ ]”内;
- 同一行不同元素之间用逗号“,”或者空格符来分隔;
- 不同行用分号“;”或者回车符分隔。
例如:
在命令空间输入:
>> A=[1 2;3 4] %元素之间用空格符分隔,换行用分号A =1 2
3 4
MATLAB语言创建复数矩阵,方法和创建一般实数矩阵一样,虚数单位用i或者j表示。
- 虚部和虚数单位之间可以使用乘号“”连接,也可以忽略乘号“”;
- 复数矩阵元素可以用运算表达式;
- 虚数单位用i或者j,显示时都是i。
例如,创建复数矩阵:
>> B=[1+2i,2-3*j;2+2*sqrt(-2),3.5j]
B =1.0000 + 2.0000i 2.0000 - 3.0000i2.0000 + 2.8284i 0.0000 + 3.5000i
💎2 冒号生成矩阵
利用冒号“:” 产生步长相等的一维数组或行向量。其格式为:
x=a:step:b
- a是数组或者行向量的第一个元素,b是最后一个元素,step是步长增量;
- 冒号表达式可以产生一个由a开始到b结束,以步长step自增或自减(步长为负值,b<a)的数组或者- 行向量;
- 如果步长step=1,则冒号表达式可以省略步长,直接写为x=a:b。
例如:
>> x1=1:1:10
x1 = 1 2 3 4 5 6 7 8 9 10
>> x2=1:10
x2 = 1 2 3 4 5 6 7 8 9 10
>> x3=10:-2:0
x3 = 10 8 6 4 2 0
💎3 利用函数生成矩阵
🌹3.1 linspace函数
可以用linspace函数生成初值、终值和元素个数已知的一维数组或者行向量,元素之间是等差数列。其调用格式如下:
x=linspace(a,b,n)
- a和b分别是生成一维数组或者行向量的初值和终值,n是元素总数。当n省略时候,自动产生100个元素;
- linspace函数产生的一维数组或者行向量,n个元素是等差数列;
- 当a>b,元素之间是等差递减;当a<b,元素之间是等差递增;
- 显然,linspace(a,b,n)与a: (b-a)/(n-1): b是等价的。
例如:
>> x1=linspace(0,10,5)
x1 = 0 2.5000 5.0000 7.5000 10.0000
>> x2=linspace(10,0,5)
x2 = 10.0000 7.5000 5.0000 2.5000 0
>> x3=10:(0-10)/(5-1):0
x3 =10.0000 7.5000 5.0000 2.5000 0
🌹3.2 logspace函数
MATLAB语言可以用logspace函数生成一维数组或者行向量,元素之间也是对数等比数列。其调用格式如下.
x=logspace(a,b,n)
其中:
- 第一个元素为10a,最后一个元素为10b,元素个数为n的对数等比数列;
- 如果b的值为pi,则该函数产生到pi之间n个对数等比数列。
例如:
>> x1=logspace(1,2,10)
x1 = 10.0000 12.9155 16.6810 21.5443 27.8256 35.9381 46.4159 59.9484 77.4264 100.0000
>> x2=logspace(1,pi,10)
x2 = 10.0000 8.7928 7.7314 6.7980 5.9774 5.2558 4.6213 4.0634 3.5729 3.1416
💎4 利用文本文件生成矩阵
矩阵还可以由文本文件生成,即先建立txt数据文件,然后在命令窗口直接调用该文件,就能产生数据矩阵。需要注意,txt文件中不含变量名称,文件名为矩阵变量名,每行数值个数相等。
优点:可以将数据存储在文本文件中,利用load函数,直接将数据读入工作空间中,自动生成矩阵,而不需要手动输入数据。
例如:
利用文本文件建立矩阵A,其中
把下面代码另存为工作目录中,文件名为A.txt文件。
1 2
3 4
>> load A.txt
>> A
A =1 23 4
💎5 利用M文件生成矩阵
对于一些比较大的常用矩阵,可以立一个M文件,在命令窗口中调用文件,适合大型矩阵创建,便于修改。需要注意,M文件中的矩阵变量名不能与文件名相同,否则变量名和文件名会混乱。
例如:
%定义exam_2_2.m函数,将下面代码另存为工作目录下的
A=[34 32 30 28 26 24
32 30 28 26 24 22
30 28 26 24 22 20
28 26 24 22 20 18
26 24 22 20 18 16]
>> exam_2_2
A = 34 32 30 28 26 2432 30 28 26 24 2230 28 26 24 22 2028 26 24 22 20 1826 24 22 20 18 16
💎6 特殊矩阵的生成
MATLAB语言中内置了许多特殊矩阵的生成函数,可以通过这些函数自动生成具有不同特殊性质的矩阵。下表是MATLAB语言常见特殊矩阵函数。
🌹6.1 单位矩阵
MATLAB语言生成单位矩阵的函数是eye,其调用格式如下:
A1=eye(n);
A2=eye(m,n)。
其中:
A1=eye(n)表示生成n行n列的单位矩阵;
A2=eye(m,n)表示生成m行n列的单位矩阵。
例如:
>> A1=eye(3)
A1= 1 0 00 1 00 0 1
>> A2=eye(2,3)
A2 =1 0 00 1 0
🌹6.2 0矩阵
MATLAB语言生成所有元素为0的矩阵函数是zeros,其调用格式如下:
A1=zeros(n);
A2=zeros(m,n)。
其中:
A1= zeros(n)表示生成n行n列的0矩阵;
A2=zeros(m,n)表示生成m行n列的0矩阵。
例如:
>> A1=zeros(3)
A1 = 0 0 00 0 00 0 0
>> A2=zeros(1,3)
A 2= 0 0 0
🌹6.3 1矩阵
MATLAB语言生成所有元素为1的矩阵函数是ones,其调用格式如下:
A1=ones(n);
A2=ones(m,n)。
其中:
- A1= ones(n)表示生成n行n列的1矩阵;
- A2=ones(m,n)表示生成m行n列的1矩阵。
例如:
>> A1=ones(3)
A1= 1 1 11 1 11 1 1
>> A2=ones(2,3)
A2 =1 1 11 1 1
🌹6.4 魔方矩阵
魔方矩阵是指行、列、正和反斜对角线元素之和都相等的矩阵,MATLAB语言用magic函数生成魔方矩阵,其调用格式如下:
A=magic(n)
其中,A=magic(n)表示生成n行n列的魔方矩阵,n>0且n≠2 。
例如:
>> A=magic(3)
A = 8 1 63 5 74 9 2
>> B=sum(A) %计算每列的和
B = 15 15 15
>> C=sum(A') %计算每行的和
C = 15 15 15
显然,由B和C结果可知,矩阵A是一个魔方矩阵。
🌹6.5 0~1均匀分布随机矩阵
MATLAB语言生成0~1均匀分布的随机矩阵函数是rand,其调用格式如下:
- A1= rand(n)表示生成 n*n个元素值为0~1均匀分布的随机矩阵;
- A2= rand(m, n)表示生成m*n 个元素值为0~1均匀分布的随机矩阵;
- A3=a+(b-a)rand(m,n) 表示生成mn 个元素值为a~b均匀分布的随机矩阵。
例如:
>> A1=rand(3)
A1 = 0.8147 0.9134 0.27850.9058 0.6324 0.54690.1270 0.0975 0.9575
>> A3 = 10 + (15 - 10)*rand(2,3)
A3 = 10.7094 14.5787 14.797512.1088 13.9610 13.2787
🌹6.6 正态分布随机矩阵
MATLAB语言生成均值为0,单位方差的正态分布的随机矩阵函数是randn,其调用格式如下:
- A1= randn(n)表示生成 n*n个元素且均值为0,单位方差的正态分布的随机矩阵;
- A2= randn(m, n)表示生成m*n 个元素的正态分布随机矩阵;
- A3=a+sqrt(b)*randn(m,n) 表示均值为a,方差为b。
例如:
>> A1=randn(3)
A1 = -1.2075 0.4889 -0.30340.7172 1.0347 0.29391.6302 0.7269 -0.7873
>> A3 = 1 + sqrt(0.1)*randn(2,3) % 均值为1,方差为0.1
A3 =1.1028 1.4333 0.96770.7613 0.4588 0.9236
🌹6.7 对角矩阵
MATLAB语言生成对角矩阵函数是diag,其调用格式如下:
A=diag(v,k)表示生成以向量v元素作为矩阵A的第k条对角线元素的对角矩阵。
当k=0时,v 为A的主对角线;当k>0时,为主对角线上方第k条对角线元素;当k<0时,为主对角线下方第k条对角线元素。
例如:
>> v=[3 2 1];
>> A1=diag(v)
A1 = 3 0 00 2 00 0 1
>> A2=diag(v,1)
A2 = 0 3 0 00 0 2 00 0 0 10 0 0 0
若A是一个矩阵,则diag(A)是提取矩阵A的对角线矩阵。
>> A=[1 2 3;4 5 6];
>> B=diag(A)
B = 15
🌹6.8 三角矩阵
MATLAB语言生成三角矩阵函数是tril和triu,其调用格式如下:
- A1=tril(A,k)表示生成矩阵A中第k条对角线的下三角部分的矩阵;
- A1=triu(A,k)表示生成矩阵A中第k条对角线的上三角部分的矩阵;
其中, k=0为A的主对角线,k>0为A的主对角线以上, k<0为A的主对角线以下。
例如:
>> A=ones(4);
>> L=tril(A,-2)
L =0 0 0 00 0 0 01 0 0 01 1 0 0
>> U=triu(A,0)
U =1 1 1 10 1 1 10 0 1 10 0 0 1
相关文章:
MATLAB数据类型和运算符+矩阵创建
个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 ✍一、MATLAB数据类型和运算符💎1 MATLAB的数据类型🌹…...
UE5下载与安装
官方网站:https://www.unrealengine.com/zh-CN 1、下载启动程序安装包。 登录官网后,点击首页右侧下载按钮下载Epic Games启动程序的安装包,如下图: 2、安装启动程序。 双击步骤1所下载安装软件,如下图:…...
RabbitMQ和Minio实现头像存储
使用 RabbitMQ 处理用户头像上传任务,同时将用户头像存储在 Minio 中是一个常见的应用场景。该示例将展示如何在 Spring Boot 项目中使用 RabbitMQ 和 Minio 实现此功能。示例包括两个部分:一是将头像上传任务推送到 RabbitMQ 队列中;二是从队…...
react结合Redux实现全局状态管理
React与Redux结合使用,可以为React应用提供集中式的状态管理和复杂的业务逻辑处理能力。以下是React中使用Redux的基本步骤和关键概念: 安装所需库 确保已经安装了React和ReactDOM。然后安装Redux及其配套库: npm install redux react-redu…...
2024面试软件测试,常见的面试题(上)
一、综合素质 1、自我介绍 面试官您好,我叫XXX,一直从事车载软件测试,负责最多的是中控方面。 以下是我的一些优势: 车载的测试流程我是熟练掌握的,且能够独立编写测试用例。 平时BUG提交会使用到Jira,类似…...
【VUE】Vue项目打包报告生成:让性能优化触手可及
Vue项目打包报告生成:让性能优化触手可及 Vue.js是一款流行的前端框架,开发者在使用Vue.js构建项目时,生产环境的性能优化尤为重要。为了帮助开发者分析和优化打包出来的资源,生成打包报告是一个不可或缺的步骤。本文将介绍几种在…...
git简单实践
拉取远程仓库 git clone -b main gitgithub.com:xianbingC/MultiQueueThreadpool.git创建开发分支 git checkout -b c11 # 创建本地分支C11并切换过去 git push origin c11 # 提交到远程,并在远程仓库创建该分支提交代码 第一次提交会提示设置邮箱和用户名&am…...
华为云服务镜像手动更换
操作步骤: 1、进入华为云首页点击云容器引擎CCE; 2、选择你所要更换镜像的环境【这里以dev环境演示】; 3、点击dev环境后选择顶部的命名空间,点击【工作负载】中右侧栏的【升级】按钮; 4、点【更换镜像】选择你在test…...
Python 天气预测
Python天气预测通常涉及到数据采集、数据预处理、选择和训练模型、以及预测和可视化等步骤。以下是使用Python进行天气预测的一般流程: 数据采集 使用爬虫技术从天气网站(如Weather Underground、中国天气网等)爬取历史天气数据,…...
计算机视觉——基于OpenCV和Python进行模板匹配
模板匹配? 模板匹配是它允许在一幅较大的图像中寻找是否存在一个较小的、预定义的模板图像。这项技术的应用非常广泛,包括但不限于图像识别、目标跟踪和场景理解等。 目标和原理 模板匹配的主要目标是在一幅大图像中定位一个或多个与模板图像相匹配的…...
2024-Java-Maven学习笔记
Maven Maven是一个Java项目管理和构建工具,作用:定义(规范)项目结构、项目依赖、使用统一的方式自动化构建(clean、compile)。 提供了一套依赖管理机制:利用仓库统一管理jar包,利用…...
【HCIP学习】OSPF协议基础
一、OSPF基础 1、技术背景(RIP中存在的问题) RIP中存在最大跳数为15的限制,不能适应大规模组网 周期性发送全部路由信息,占用大量的带宽资源 路由收敛速度慢 以跳数作为度量值 存在路由环路可能性 每隔30秒更新 2、OSPF协议…...
elmentui树形表格使用Sortable拖拽展开行时拖拽bug
1、使用elemntui的el-table使用Sortable进行拖拽,如下 const el this.$el.querySelector(.el-table__body-wrapper tbody) Sortable.create(el, {onEnd: (event) > {const { oldIndex, newIndex } event//拿到更新前后的下标即可完成数据的更新} })2、但是我这…...
【笔试训练】day6
1.大数加法 思路: 高精度板子,停留一下都是罪过! 代码: class Solution { public:string solve(string s, string t) {vector<int> a;vector<int> b;for(int is.size()-1;i>0;i--)a.push_back(s[i]-0);for(int …...
标准版uni-app移动端页面添加/开发操作流程
页面简介 uni-app项目中,一个页面就是一个符合Vue SFC规范的.vue文件或.nvue文件。 .vue页面和.nvue页面,均全平台支持,差异在于当uni-app发行到App平台时,.vue文件会使用webview进行渲染,.nvue会使用原生进行渲染。…...
VMware 安装配置 Ubuntu(最新版、超详细)
Linux 系列教程: VMware 安装配置 Ubuntu(最新版、超详细)FinalShell 远程连接 Linux(Ubuntu)系统Ubuntu 系统安装 VS Code 并配置 C 环境 文章目录 1. 下载安装 VMware2. 检查网络适配器3. Ubuntu 下载4. 创建虚拟机5…...
clickhouse ttl不生效
现象: 日志保留31天, 但是发现1年前的数据还有。 表结构: CREATE TABLEads_xxxx_metrics_1m_local (static_time String COMMENT 统计时间,......) ENGINE ReplacingMergeTree (process_time) PARTITION BYtoYYYYMMDD (toDate (static_tim…...
前端打包webpack vite
起步 | webpack 中文文档 | webpack中文文档 | webpack中文网 npm run build 1webpack: mkdir webpack-demo cd webpack-demo npm init -y npm install webpack webpack-cli --save-dev vite : 快速上手 | Vue.js...
Cesium之home键开关及相机位置设置
显隐控制 设置代码中的homeButton var TDT_IMG_C "https://{s}.tianditu.gov.cn/img_c/wmts?servicewmts&requestGetTile&version1.0.0" "&LAYERimg&tileMatrixSetc&TileMatrix{TileMatrix}&TileRow{TileRow}&TileCol{TileCol}…...
nginx根据二级目录转发服务以及带/和不带/的区别
在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。具体实例如下 1.配置文件location带/且proxy_pass带/ server {listen 80;se…...
JVM 性能调优命令(jps,jinfo,jstat,jstack,jmap)
常用命令:jps、jinfo、jstat、jstack、jmap jps jps查看java进程及相关信息 jps -l 输出jar包路径,类全名 jps -m 输出main参数 jps -v 输出JVM参数jps命令示例 显示本机的Java虚拟机进程: # jps 15729 jar 92153 Jps 90267 Jstat显示主类…...
探索 IntelliJ IDEA 2024.1最新变化:全面升级助力编码效率
探索 IntelliJ IDEA 2024.1最新变化:全面升级助力编码效率 文章目录 探索 IntelliJ IDEA 2024.1最新变化:全面升级助力编码效率摘要引言 IntelliJ IDEA 2024.1 最新变化关键亮点全行代码补全 Ultimate对 Java 22 功能的支持新终端 Beta编辑器中的粘性行 …...
【Kafka】Zookeeper集群 + Kafka集群
Zookeeper 概述 Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。 Zookeeper 工作机制★★★ Zookeeper从设计模式角度来理解: 1)是一个基于观察者模式设计的分布式服务管理框架; 它负责存储和管理大家都关…...
递归 python
↵一、简单理解 解决问题的一种方法,它将问题不断的分成更小的子问题,直到子问题可以用普通的方法解决。通常情况下,递归会使用一个不停调用自己的函数。 【注】:每一次递归调用都是在解决一个更小的问题,如此进行下…...
解读科技智慧公厕改变生活的革命性创新之路
公共厕所,作为城市基础设施的一部分,一直以来都备受人们诟病。脏乱差、设施老旧、管理混乱,成为公共厕所长期存在的问题。然而,随着科技的不断进步,智慧公厕应运而生,为解决公厕难题,智慧公厕源…...
鸿蒙ArkTS小短剧开源项目进行中
鸿蒙小短剧开源项目进行中 短剧项目名称:CCShort-TV 短剧项目名称:CCShort-TV 使用ArtTS语言,API9以上,HarmonyOS系统的短剧开源代码,使用GSYVideoPlayer作为核心播放器的小短剧。主要以ArkTS,ArkUI编写为…...
基于STM32的RFID智能门锁系统
本文针对RFID技术,着重研究了基于单片机的智能门锁系统设计。首先,通过链接4*4按键模块与主控STM32,实现了多种模式,包括刷卡开锁、卡号权限管理、密码开锁、修改密码、显示实时时间等功能。其次,采用RC522模块与主控S…...
消息队列的简介
什么是消息队列? 消息队列就是用于不同系统 不同服务之间异步地传递信息,就是不用生产者和消费者同时在线或者直接连接,消息存储在队列中,直到消费者准备处理 消息队列的核心概念: 生产者:发送消息的一方 消费者:处理消息的一方 队列:存储队列的一方 优点: 1解耦: 生产者和消费…...
一个开箱即用的物联网项目,开源免费可商用
一、平台简介 今天给大家推荐一款开源的物联网项目,简单易用,非常适合中小团队和个人使用,项目代码和文档完全开源,个人和公司都可以应用于商业项目,只需要保留开源协议文件即可。 本项目可应用于智能家居、农业监测…...
成为程序员后你都明白了什么呢?
成为程序员后你都明白了什么? 简介:探讨成为程序员后的收获和体会,以及对未来的展望。 方向一:技术成长 在技术成长方面,我认识到编程不仅仅是一种技能,更是一种思维方式。在不断地学习和实践中…...
Rust常见陷阱 | 算术溢出导致的 panic
Rust作为一种内存安全性语言,对于算术运算中的溢出处理特别严格。由于Rust默认会在debug模式下进行算术操作的溢出检查,任何溢出行为都会导致panic,这样能够帮助开发者在调试阶段发现潜在的溢出错误。尽管在release模式下,溢出会导致值的截断,并不会引起panic,但忽视这一…...
SRS服务接入华为云CDN
一、srs配置 正常的标准配置即可,需打开hls推流即可,一般配置中默认打开 二、华为云cdn配置 1.登录华为云,找内容分发网络cdn 2.点击域名管理,点击添加域名 3.配置加速域名 4.选择点播加速 5.添加源站 配置源站地址…...
微信小程序----微信小程序基础
能够知道如何创建小程序项目能够清楚小程序项目的基本组成结构能够知道小程序页面由几部分组成能够知道小程序中常见的组件如何使用能够知道小程序如何进行协同开发和发布 一.小程序简介 1. 小程序与普通网页开发的区别 1. 运行环境不同 网页运行在浏览器环境中小程序运行在…...
牛客周赛 Round 39(A,B,C,D,E,F,G)
比赛链接 官方题解(视频) B题是个贪心。CD用同余最短路,预处理的完全背包,多重背包都能做,比较典型。E是个诈骗,暴力就完事了。F是个线段树。G是个分类大讨论,出题人钦定的本年度最佳最粪 题目…...
性能优化工具
CPU 优化的各类工具 network netperf 服务端: $ netserver Starting netserver with host IN(6)ADDR_ANY port 12865 and family AF_UNSPEC$ cat netperf.sh #!/bin/bash count$1 for ((i1;i<count;i)) doecho "Instance:$i-------"# 下方命令可以…...
【简单介绍下R-Tree】
🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…...
比特币叙事大转向
作者:David Lawant 编译:秦晋 要理比特币解减半动态,最关键的图表是下面这张,而不是价格图表。它显示了自 2012 年以来,矿业总收入与比特币现货交易量的比例,并标注了三个减半日期。 虽然矿工仍然是比特币生…...
Spring的事务传播机制有哪些
Spring的事务传播机制有哪些? Spring的事务传播机制用于控制在多个事务方法相互调用时事务的行为。 在复杂的业务场景中,多个事务方法之间的调用可能会导致事务的不一致,如出现数据丢失、重复提交等问题,使用事务传播机制可以避…...
【Linux系统】地址空间 Linux内核进程调度队列
1.进程的地址空间 1.1 直接写代码,看现象 1 #include<stdio.h>2 #include<unistd.h>3 4 int g_val 100;5 6 int main()7 {8 int cnt 0;9 pid_t id fork();10 if(id 0)11 {12 while(1)13 {14 printf(&…...
centos搭建yum源
目录 1.createrepo简介 2.repo搭建思路 3.安装 4.使用 1.createrepo简介 createrepo 是一个用于创建 RPM 包的工具,它可以帮助你创建一个本地的 YUM 仓库。createrepo 并不是用于运行 YUM 仓库服务的软件,而是用来生成仓库的元数据,使得 YUM 可以理解和使用这个仓库。 …...
使用Docker搭建一主二从的redis集群
文章目录 一、根据基础镜像构建三个docker容器二、构建master机三、配置slave机四、测试 本文使用 主机指代 物理机、 master机指代“一主二从”中的 一主, slave机指代“一主二从”中的 二从 一、根据基础镜像构建三个docker容器 根据本文第一章(…...
华为配置通过流策略实现流量统计
配置通过流策略实现流量统计示例 组网图形 图1 配置流策略实现流量统计组网图 设备 接口 接口所属VLAN 对应的三层接口 IP地址 SwitchA GigabitEthernet1/0/1 VLAN 10 - - GigabitEthernet1/0/2 VLAN 20 - - GigabitEthernet1/0/3 VLAN 10、VLAN 20 - - S…...
vue2和vue3的v-if与v-for优先级对比
Vue.js 中使用最多的两个指令就是 v-if 和 v-for,因此我们可能会想要同时使用它们。虽然官方不建议这样做,但有时确实是必须的,我们来了解下他们的工作方式: 在 vue 2.x 中,在一个元素上同时使用 v-if 和 v-for 时&am…...
ARM之栈与方法
ARM之栈与方法 计算机中的栈是一种线性表,它被限定只能在一端进行插入和删除操作(先进后出)。通常将可以插入和删除操作的一端称为栈顶,相对的一端为栈底。 通常栈有递增堆栈(向高地址方向生长)、递减堆栈…...
Winfrom —— GDI画板
定义绘制对象 Graphics g; 起始点坐标 Point start; 画笔颜色 Color c1 Color.Black; 是否开始绘制 当flagtrue开始绘制,结束绘 private void Form1_MouseDown(object sender, MouseEventArgs e) {if (e.Button MouseButtons.Left) //点击了鼠标左键{start …...
【Jenkins】Jenkins自动化工具介绍
目录 技术背景常规的手动打包步骤 Jenkins简介起源与发展Jenkins的核心价值1.自动化1.1代码构建1.2测试自动化1.3自动部署 2.持续集成与持续部署CI/CD的概念如何减少集成问题更快速地发布软件版本 Jenkins优势Jenkins的主要竞争对手Travis CI:CircleCI:GitLab CI: Jenkins与其他…...
鸢尾花数据集的KNN探索与乳腺癌决策树洞察
鸢尾花数据集的KNN探索与乳腺癌决策树洞察 今天博主做了这个KNN和决策树的实验。 一.数据集介绍 介绍一下数据集: 威斯康星州乳腺癌数据集: 威斯康星州乳腺癌数据集(Wisconsin Breast Cancer Dataset)是一个经典的机器学习数…...
【python】计算水仙花数
【python】计算水仙花数 "水仙花数"是指一个3位数,它的三个位上的数字的3次幂之和等于它本身。例如,"153"就是一个水仙花数,因为1^3 5^3 3^3 153。以下是一个Python代码示例,用于计算并打印出所有的三位数…...
二、Flask会话技术和模板语言
Cookie Session # views.py: 路由 视图函数 import datetimefrom flask import Blueprint, render_template, request, redirect, session from .models import *# 蓝图 blue Blueprint(user, __name__)# 首页 可以写两个路由,都是访问同一个函数 blue.route(/) b…...
qt-C++笔记之QProcess声明在堆上和声明在栈上对进程执行是否异步的影响
qt-C笔记之QProcess声明在堆上和声明在栈上对进程执行是否异步的影响 —— 2024-04-13 code review! 文章目录 qt-C笔记之QProcess声明在堆上和声明在栈上对进程执行是否异步的影响1.结论2.关于异步执行在堆上声明 QProcess在栈上声明 QProcess 3.waitForFinished详解函数原…...
线性回归模型之套索回归
概述 本案例是基于之前的岭回归的案例的。之前案例的完整代码如下: import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import Ridge, LinearRegression from sklearn.datasets import make_regression from sklearn.model_selectio…...
每周一算法:恰好经过K条边的最短路
题目描述 牛站 给定一张由 M M M 条边构成的无向图,点的编号为 1 ∼ 1000 1\sim 1000 1∼1000 之间的整数。 求从起点 S S S 到终点 E E E 恰好经过 K K K 条边(可以重复经过)的最短路。 注意: 数据保证一定有解。 输入格式 第 1 …...
分布式系统的一致性与共识算法(三)
顺序一致性(Sequential Consistency) ZooKeeper 一种说法是ZooKeeper是最终一致性,因为由于多副本、以及保证大多数成功的ZAB协议,当一个客户端进程写入一个新值,另外一个客户端进程不能保证马上就能读到这个值,但是能保证最终能…...
立创EDA绘制PCB电路板
1、绘制好原理图后,点击设计---原理图转PCB,生成PCB文件 2、将元器件拖入电路板方框内,摆放布局并使用工具栏布线、放置过孔及丝印 3、然后顶层和底层铺铜 4、后面就可以生成制板文件发送嘉立创制板了。...
比特币Brc-20部署发布:实用步骤演示,请点赞收藏!(二)
大家好,我是程序员大猩猩。 上一次我们讲到部署发布BRC-20合约的前期概念,以及获取unisat浏览器插件和获取测试币水龙头的获取。 比特币Brc-20部署发布:实用步骤演示,请点赞收藏!(一) 这一节…...
嵌入式开发四大平台介绍
MCU(Micro Control Unit)四大平台介绍) 单片机优点:缺点:总结: DSP digital signal processingARM优点:缺点:总结 FPGA什么事FPGA(集成元件库)FPGA开发方法—…...
Web3 ETF软件开发技术
Web3 ETF(交易所交易基金)是一种基于区块链技术的ETF,它旨在跟踪Web3资产(例如加密货币、NFT等)的价值表现。Web3 ETF的开发涉及到传统ETF开发的所有技术难点,此外还有一些独特的挑战。北京木奇移动技术有限…...
全国老年大学或将进入“5G智慧校园“时代
近日,我国晚年大学协会在北京举行官网改版上线典礼,一起这也标志着我国晚年大学协会及全国晚年大学进入了“5G智慧校园”年代。据了解,5G智慧校园以“云”技能为根底,全面落实数字云、办理云、安全云。 “三朵云”助推5G智慧校园&…...
c语言中数字字符串和数字互转
#include <getopt.h> #include <stdio.h> #include <stdlib.h>#define MAX_PATH 256 char filename[MAX_PATH 5]; int main(int argc, char** argv) {//数字字符串转数字const char* kk "689";int zhi atoi(kk) 8;//数字字符串转doubledoub…...
VUE H5字体在安卓手机偏上解决
安卓手机展示样式,数字偏上,展示效果如图: 项目内添加新字体,引用新字体 vue 项目需要引入字体的话, 可以移步到这篇文章(无需下载依赖包)Vue3中引入外部自定义字体 项目文件assets内创建font文件夹, 粘贴你想用的字体, 创建对应的css文件; scss代码: font-face {/* 自定义的…...
Visual Studio Code 扩展程序Text Edits
需求 比如把Scarzombie_Monster全部转换为大写或者小写 安装 Text Edits 直接搜索安装即可 使用 假如要把Scarzombie_Monster全部转为大写,选中右键选中 To Upper Case或者直接快捷键shiftAltU即可...
STM32 HAL TM1638读取24个按键
本文分享一下天微电子的另一款数码管按键驱动芯片TM1638的单片机C语言驱动程序。 笔者采用的MCU是STM32单片机,STM32CubeMX Keil5开发,使用了HAL库。 一、TM1638介绍 1、基础信息 TM1638属于一款LED驱动控制专用电路,其特性如下…...