matlab软件基础

第1讲  MATLAB初步

MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB和Mathematica、Maple并称为三大数学软件。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解决问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

1 Matlab函数一般调用格式:功能命令(操作对象,操作选项)。

功能命令是MATLAB软件的产品,指的是需要完成的任务所对应的函数。

操作对象一般为数值、函数、普通方程、微分方程、矩阵表达式等;

操作选项,也称为指定格式,一般为操作对象的控制选项。

(操作对象,选项)就是功能命令的语法。不同的函数,语法要求不一样,这是学习Matlab的重点和难点。学习下面例子,初步掌握Matlab函数使用特点。

1)一元函数绘图:syms x;fplot(x.*sin(x),[-pi,pi])

练习:

2)不定积分:syms x;int(x)

    练习:

3)求定积分:syms x;int(sym(x^2*sin(x)),0,1)

练习:

;    

2 Matlab常见的编辑

2.1 删除

clc:删除Command窗口里内容;

clear:删除当前目录里所有变量;

clear+变量:删除Command窗口里指定变量;

clearvars -except x y:清空指定变量之外的变量(只保留指定变量x,y.注意:except前有 ‘-’);

clf:删除所有图形;

clf(1):删除第一幅图;

close all:关闭所有画图figure窗口;

2.2 切换路径

先建立一个文件夹,把本次操作的内容全部放在指定硬盘的某个文件夹里。右击文件夹的属性,复制位置中的路径,形如下图。

切换方式1:cd E:\张三matlab

切换方式2: cd(' E:\张三matlab ')

更改默认路径:右击左面matlab属性,更改起始位置即可。如图所示。

练习:1)切换路径到D盘文件夹“Matlab学习”

      2)切换路径到E盘文件夹“强大的Matlab”

2.3 Matlab换行

形式1:shift+enter换行,只能一个或若干个执行语句一行。若执行语句过长,不方便错误检查,这是需要换行。MATLAB软件不能自动换行。

形式2:使用…,可任意位置换行,形如

>> x=0:0.1:2*pi; ...

y=sin(x);plot(x,y)

2.4 语句运行

(1)若运行Command窗口里语句,直接回车表示运行;

(2)若运行m文件窗口语句,按“run”或F5

(3)若运行m文件窗口选中的语句,按F9。

2.5 其它编辑

各窗口的字体调整:File,Preference,fonts,custom,font to use

出现OVR被激活:按Insert消除

中止程序运行:Ctrl+C或Ctrl+Break

程序语句后面添加说明部分:%后面跟说明语句

退出Command窗口里的输入,按Esc键或回车键。

查看函数程序:Edit+函数

数值解的显示:如vpa(pi,10)  显示变量的精度

关闭科学计数法:format short g   format long g

exit:退出matlab

sym(f(x)):给出f(x)的符号表达式,>> sym(0.3/0.8)  ans =3/8

3 函数表达式

3.1 基本初等函数

幂函数:x^a,

指数函数:

,a^x

对数函数:lnx=log(x),lgx=log10(x),

 

三角函数:sin(x),cos(x),tan(x),cot(x),sec(x),csc(x)

反三角函数:直接在对数函数前家a,形如asin(x)

特殊函数:

,sign(x)

随堂练习:计算下列函数值

3.2 符号函数表达式

◆注意:先syms定义,后使用

syms x y  %定义为符号x y变量,通过whos可以看出变量类型

whos f(x,y)  %定义x y为符号变量,定义f为符号函数

1) syms f(x);   f(x)=x*sin(x);  a=f([1  2  3])

a =[ sin(1), 2*sin(2), 3*sin(3)]

2) syms f(x,y);  f(x,y)=x^y*sin(x);  f(x,2)

ans =x^2*sin(x)     f(2,3)=8*sin(2)

3) syms f(x,y);  f(x,y)=x^y*sin(x);fplot(f(x,2),[-pi,pi])

4) syms f(x,y);  f(x,y)=x^y*sin(x);diff(f(x,y),x)

ans =x^y*cos(x) + x^(y - 1)*y*sin(x)

5) syms f(x,y);  f(x,y)=x^y*sin(x);  int(f(x,y),y)

ans =(x^y*sin(x))/log(x)

3.3 匿名函数表达式

匿名函数格式:f=@(x)f(x)

其中@(x)是匿名函数格式,x表示函数自变量。

应用:高频调用函数,复杂的复合函数书写,采用匿名函数非常方便。

缺陷:匿名函数是局部,只能在局部调用,自编函数体内不能调用它。

注意:分段函数最好用匿名函数表达式,切记!

的匿名函数:y=@(x)sin(exp(x)+x^2)

常见调用格式:①y(1.2)=0.9999

②diff(y(x))= cos(exp(x) + x^2)*(2*x + exp(x))

③a=int(y(x),1,2);vpa(a,5)=-0.21258

随堂练习:编写下列函数的匿名函数,并计算对应问题。

2)

,求

对应的函数值

    求

3)

,一次性求

的函数值。

   画图

3.4 自编函数

    以

为例。自编函数只能在M文件窗口里编写。

function f=zz(x);

f=sin(log(exp(x)+x^2));

其中(1)function是函数文件的标志,必须有。

(2)zz是函数名,如同正弦函数名sin一样。取名规则为:函数名与文件名同名;函数名不能与已知变量、已知函数名同名,函数名首字必须为字母,其后可以跟字母、数字、下划线。

(3)f是传递变量,最终的函数表达式必须形如上述形式传递给f才能有效。f不是固定变量,可根据自己偏好选择。

(4)自编函数在绝大多数场合下可以被调用,如匿名函数里,其它自编函数里等。

随堂练习:编写下列函数的m文件,并做相应计算

1)

,一次性求

的函数值。

   画图

.

2)

,求

对应的函数值,求

3)数据函数data(k),k=1表示数据1,…;

第2讲  数组及其运算

1 数组生成

模式1:直接输入,如

模式2:

,若

,可省略

模式3:X=linspace(first,last,n)

模式4:从txt,excel里直接复制

模式5:函数生成,如zeros,ones,rand,randn,eye,normrnd等。

随堂练习1

1)直接输入数组

2)在区间[0,1]上用linspace生成20个元素的数组。

3)在

上增量为0.15生成数组

4)从word、txt、Excel里复制数据生成数组。

5)利用zeros,ones,rand,randn,eye,normrnd生成数组。

6)生成数组1,2,3,…,100;生成数组2,4,6,…,100

2 数组的拆、并、调等运算

设生成数组

,则x不仅表示数组名,还表示变量名函数,即下标函数。因为变量名函数的作用,对数组操作非常方便。可以认为,Matlab软件的灵活性,完全体现在变量名函数使用的灵活性。常见的数组操作有

(1)提取x中的部分元素:如

(2)删除x中的部分元素:如

 

(3)替换x中的部分元素:如

 

(4)拆分x:如

(5)合并两数组a,b:c=[a,b],其中a,b为一行数组

(6)插入新元素:如

(7)翻转x:fliplr(x)

,或x(n:-1:1)

随堂练习2

1)生成数组a =[ 8.1, 9.1, 1.3, 9.1, 6.3, 0.98, 2.8, 5.5] 

b =[ 3.6, 2.8, -1.3, 3.0, 0.73]

2)删除

的第3、7位置元素得数组A2。

3)替换

的第1,3,7位置元素为1,3,7,得数组A3。

4)把

的第2、4、9位置元素提取为新的数组A4。

5)把

的第3、7位置元素与

合并为一个新的数组A5。

6)在

的第3、4位置元素之间插入元素-15,得新的数组A6。

7)在

的第3、4位置元素之间插入数组b,得新的数组A7。

8)前后翻转

,得数组A8。

3 数组的四则运算:点运算(对应的元素进行计算)

◆设

均为数组,数组的点运算规则如下

先演示,再重复:

,求

随堂练习3:利用点运算生成新数组

4 数组的关系运算(全部适用于矩阵)

关系运算反映的是两矩阵元素之间的数值关系,运算符为:

关系运算的结果是:0或1。1表示关系成立;0表示关系不成立。

4.1 “= =”关系:是否相等关系

>> a=[1 2 3];b=[1 2 4];c=a==b;  c =     1     1     0

4.2 “~ =”关系:是否不等关系

>> a=[1 2 3];b=[1 2 4];c=a~=b;   c =     0     0     1

4.3 同样,还有如下关系:“

”关系

4.4 逻辑且,&:

>> x=[1 2 3 4];y=[0 3 2 8];x>2&y>2

ans =  0     0     0     1

4.5 逻辑或,|:

>> x=[1 2 3 4];y=[0 3 2 8];x>2|y>2

ans =  0     1     1     1

演示:a =[-4.0,-15.0,7.2,1.6,-3.8,6.9,-8.6,-0.51,-1.2,1.6]

生成新数组A,满足

A=(a<-2)*(-2)+(a<=2&a>=-2)*1.5+(a>2)*2

A =[-2.0,-2.0,2.0,1.5,-2.0, 2.0,-2.0,1.5,1.5,1.5]

随堂练习4

设x=[2.1 -3.2 4.5 2.8 -2 3.5 6.8 2.4 5.3 -5],求

1)生成新数组A1,若

,则

,否则为-2.5;

2)生成新数组A2,若

;否则为0。

3)生成新数组A3,若

,则

,则

;否则

随堂练习5

1)产生10个随机数

满足

2)产生10个随机数

满足

提示:a=rand;x=(a<0.2)*2.3+(a>=0.2&a<0.5)*3.2+(a>=0.5)*4.5

3)设某分段函数如下,计算x=linspace(-pi,pi,50)对应的函数值,请绘图。

5 数组的集合运算

(1)加法运算      c=union(a,b),即

(2)减法运算      C=setdiff(a,b),即

(3)乘法运算      [c,x,y]=intersect(A,B),c是交集元素,x,y是交集元素在A,B中的位置

(4)补集加法运算    C=setxor(a,b),即

(5)剔除数组中重复的元素      C=unique(a)

(6)剔除矩阵中重复的行      C=unique(a,’rows’)

(7)ismember(x0,x):成员识别

随堂练习9

1)设a=[1,2,3,1,2,5],剔除a中重复的元素; unique(a)

2)设A=[1,2,3,1,2,5],B=[1,5,7],求集合运算A+B、A-B、AB

3)设A=[1,2,3,1,2,5],B=[1,5,7],C=[1,3,5,9],求A+B+C,A+B-C

4)设a=[7,3,4,7,3,1,3,2,1,3,5,5,4,5,6,1]

,则

;否则

;提示:ismember

提示:k=ismember(a,[1 2 3]);b=-3*k+3*(1-k)

5)若

,则

;若

,则

;否则为5

6 数组的和sum(x):求数组的和        

随堂练习10

1)设x =[0.32,-0.56,-0.31,-0.57,-1.0, -0.91,-0.21,-1.7],求

2)设x =[ 0.32, -0.56, -0.31, -0.57, -1.0, -0.91, -0.21, -1.7],

y =[ 0.61, -0.12, 0.7, 0.27, 0.49, -1.5, -1.0, -0.45]

3)求下列表达式

     

    

4)求下列表达式

5)求下列表达式

6)圆周率的近似计算

利用

,计算n=50时

的近似值。

7)

的近似计算

利用

,计算n=100时

的近似值。

8)

的近似计算

利用

,求

的近似值。

9)

,计算n=50时

的近似值。

10)

,计算n=50时

的近似值。

6 数组运算的常见函数

◆max(a),min(a):最数组的最大值,最小值

sum(a):求数组的和

length(x): 求x的维数;若x是矩阵,则length(x)是列数。

prod(a):求数组的积

mean(a):求向量a的元素的平均值

median(x):求向量x的元素的中位数,若x维数是奇数,则中间位置的数就是中位数;否则,中间两个数的平均数就是中位数。

harmmean(x):调和平均值,harmmean(x)=

geomean(x):求几何平均数,geomean(x)=

std(x):无偏型标准差      std(x,1):有偏型标准差

var(x):无偏方差          var(x,1):有偏方差

mad(x):绝对平均偏差,mad(x)=

range(x):样本极差,range(x)=

 

norm(x):norm([x1,x2])=

  如norm([3 4])=5

tril(a):生成a的下三角阵

triu(a):生成a的上三角阵

diag([a b c]):以a,b,c为对角线元素构成的对角阵

sort(a):对数组升序

nnz(A):矩阵或数组非零元素总个数

nonzeros(A):剔除0元素后剩下元素形成的数组

reshape(a,m,n):把数组a变成m行n列矩阵,一列一列赋值。

   如a=[1:15],则reshape(a,3,5)为

>> reshape(1:15,3,5)

ans =

     1     4     7    10    13

     2     5     8    11    14

     3     6     9    12    15

repmat(A,m,n):将矩阵A复制m×n块

find(a满足的条件):给出符合条件的元素位置

factorial(n):等于n!  

prod(x):等于

 

gamma(n+1):等于n!

nchoosek (x,m):若x是数组,则表示从x中的元素选m个的所有组合

  若n是一个数值,则nchoosek (n,m)表示组合数   

>> nchoosek(5,2)   ans =10

>> nchoosek(1:3,2)

ans =

     1     2

     1     3

     2     3

>> nchoosek('abc',2)

ans =

ab

ac

bc

◆perms(x):计算所有全排列

>> perms('abc')

ans =cba cab bca bac abc acb

◆randperm(n):对1:n的一个随机排列

>> randperm(5)

ans =     4     5     2     1     3

◆unidrnd(k,m,n):在

上等可能取值m行n列个随机数

>> unidrnd(20,1,8)

ans =4    14     7    18     3    20    11    15

◆permsnk([1 2 3],2):部分排列(自编)

ans =

     2     1

     1     2

     3     1

     1     3

     3     2

     2     3

permsnk('abc',2):部分排列

ans =ba,ab,ca,ac,cb,bc

取整命令

round(x):四舍五入取整

ceil(x):往+∞方向取整

floor(x):往-∞方向取整

fix(x):向0方向取整

rem(x),mod(x):求余

isprime(x):质数识别

primes(20):产生质数

ans =2     3     5     7    11    13    17    19

seqperiod(p):求序列的最小正周期。

>> seqperiod(repmat([1 2 3],1,5))   ans =3

各类识别

isequal(x,y):两数组是否相同识别

ismember(x0,x):成员识别

奇数、偶数识别:奇数:mod(n,2)==1   偶数:mod(n,2)==0

isspace:若是空格则为真

isnumeric:若是数值数组则为真

isempty(a):若a是空矩阵,则为真;

isnan(a):若a= NaN,则为真,否则为0;

isreal:若是实数则为真

第3讲  矩阵及其运算

1 矩阵生成

模式1:直接输入,形如

模式2:从txt,excel里直接调用,同前所述

模式3:函数生成:zeros,ones,rand,randn,eye,normrnd等。

随堂练习:

1)生成如下矩阵

2)学习从word里、Excel、txt里复制数据;

8.9

14.4

-1.0

-0.3

-8.6

15.3

-11.5

3.3

-2.4

-1.6

0.8

-7.7

-10.7

-7.5

3.2

6.3

-12.1

3.7

-8.1

13.7

3.1

10.9

-11.1

-2.3

-29.4

-17.1

-8.6

11.1

-0.1

11.2

3)生成[0,1]上均分分布的随机数,存放在

矩阵上;

4)利用命令生成矩阵

生成

的0矩阵,zeros

生成

的1矩阵,ones

生成

的[0,1]上均分分布的随机数矩阵,rand

生成

的标准整体分布矩阵, randn

生成

的正太分布

矩阵,

生成

上均匀分布矩阵,

生成

的离散均匀分布矩阵,

2 矩阵常见的运算:类似数组运算,略。

3 矩阵的查询运算:find(a满足的条件)

3.1  形式1:查找结果为矩阵展开a(:)后的数组位置

假设矩阵a为

1

2

3

4

2

3

4

5

1

3

5

7

>> k=find(a==2)

k=         k是a列展开后棉组条件的数组位置

     2

     4

3.2  形式2:查找结果为行列坐标的位置

>> [i,j]=find(a==2);[i,j]

i =                行标位置

     2

     1

j =                列标位置

     1

     2

3.3  布尔矩阵查找(非常重要)

b=[1,1,0,1,1;1,1,1,0,0;0,0,1,1,1];

随堂练习:设矩阵A的元素如下,求

8.9

14.4

-1.0

-0.3

-8.6

15.3

-11.5

3.3

-2.4

-1.6

0.8

-7.7

-10.7

-7.5

3.2

6.3

-12.1

3.7

-8.1

13.7

3.1

10.9

-11.1

-2.3

-29.4

-17.1

-8.6

11.1

-0.1

11.2

1)A的最大值、最小值位置

2)A小于0的元素位置

4 矩阵排序:sort,sortrows

sort(A,1):A的所有列升序排列;

sort(A,2):A的所有行升序排列;

sort(A):仅A的第1列升序排列,其它各元素位置不变;

sortrows(A,k):对A的第k列升序排列,其它各行随动

(且每行的元素相对位置保持不变)。

随堂练习:

A=[5,-1,-3,3,-13,5;0,-7,-8,-13,-23,-1;0,14,-11,-9,-14,2;-8,-2,25,-2,3,-5;10,-6,17,8,4,9];

5

-1

-3

3

-13

5

0

-7

-8

-13

-23

-1

0

14

-11

-9

-14

2

-8

-2

25

-2

3

-5

10

-6

17

8

4

9

sortrows(A,1)结果如下:

-8

-2

25

-2

3

-5

0

-7

-8

-13

-23

-1

0

14

-11

-9

-14

2

5

-1

-3

3

-13

5

10

-6

17

8

4

9

练习:第2列升序,其它各列随动

      第3行升序,其它各行随动

5 数组运算的常见函数:  设A,B均为矩阵

A(:):矩阵A展开为一列数组

max(A),min(A):得矩阵每列的最大值,最小值

max(A(:)),min(A(:)):得矩阵的最大值,最小值

sum(A):得矩阵每列的和;

sum(A(:)):得矩阵所有元素的和

mean(A):得矩阵每列的平均值

mean (A(:)):得矩阵所有元素的平均数

prod (A):得矩阵每列的乘积

unique(a,'rows'):剔除矩阵中的重复行        

reshape(a,m,n):把数组a变成m行n列矩阵,一列一列赋值。

   如a=[1:15],则reshape(a,3,5)为

>> reshape(1:15,3,5)

ans =

     1     4     7    10    13

     2     5     8    11    14

     3     6     9    12    15

repmat(A,m,n):将矩阵A复制m×n块

tril(A):生成A的下三角阵

triu(A):生成A的上三角阵

diag([a b c]):以a,b,c为对角线元素构成的对角阵

nnz(A):矩阵或数组非零元素总个数

nonzeros(A):剔除0元素后剩下元素形成的数组

isequal(x,y):两数组或矩阵是否一样,得0或1。

ismember(x0,x):成员识别

A(end:-1:1,:)或flipud(A) :矩阵上下翻转

A(:,end:-1:1)或fliplr(A):矩阵左右翻转

rot90(A,n):矩阵的旋转

sort,sortrows:排序

sortrows(A,k):对A的第k列升序排列,其它各行随动(每行的元素保持不变)。

sort(A):仅A的第1列升序排列,其它各元素位置不变;

sort(A,1):A的所有列升序排列;

sort(A,2):A的所有行升序排列;

det(A):求A的行列式;

rank(A):求A的秩

trace(A) :求A的迹

inv(A):求A的逆矩阵

length(x): 若x是数组,则length(x)是维数;若x是矩阵,则length(x)是列数。

size(A,1)表示矩阵A的行数,size(A,2)表示矩阵A的列数。

size(A):显示A的行数和列数

null(A):得到

标准正交化的基础解系

null(A,'r') :得到

有理形式的基础解系

rref(A):得A的行最简矩阵

orth(a) : 列向量组的标准正交化

zscore(x):标准化

是矩阵,则zscore(x)=

;若x是矩阵,则zscore(x)是各列标准化的结果。

corrcoef(A):矩阵A各列相关系数矩阵

cov(A) :矩阵A各列协方差矩阵

eig(A):%求矩阵A的特征值、特征向量

eigs(A):%求矩阵A的特征值、特征向量,最多给出6个特征值;

第4讲  Matlab平面绘图

一个完整的图形,应该包括基本图形和图形属性两部分。基本图形由图形数据和所需要的图形形状共同决定。图形数据通常由函数或方程产生,有些数据是直接观测的数据。图形形状源于实际需求,Matlab可画的常见的平面图形形状如图1所示。图形属性指的是基本图形之外需要描述的部分,如线的粗细、颜色、线形等;点的形状、颜色等;坐标轴控制等,添加文本说明(text,gtext),添加标题(title)、图形识别(legend)等等。图形属性可在图形函数里直接操作,也可以通过图形句柄操作,或在图形窗口中操作。

2 连线绘图

   常见的平面连线图函数为plot,fplot,本讲重点介绍plot函数。

◆  plot语法

2.1  画基本图形

6)已知平面三点

,连线三点画三角形

7)画中心为原点,其中一边与

轴平行且边长为4的正方形。

2.2  Line的颜色、线型、线宽(粗细)控制

1)线颜色控制

语法类似:p.Color='r',或者 plot(x,y,'r')

2)线型控制:p. LineStyle='-' 或者 plot(x,y,'--')

◆注意:颜色与线型可以放在一起控制,如plot(x,y,'r--')

3)线宽控制:LineWidth

语法类似:数值越大表示线越粗。

h.LineWidth=5,或者plot(x,y,'LineWidth',5)

2.3 点Marker的控制(散点图中的点)

1)点的类型

语法:plot(x,y,'o')

◆注意:颜色、线型、散点类型可以放在一起进行控制,如

plot(x,y,'r--o')

2)散点的大小MarkerSize 

语法类似:p. MarkerSize=5,或者plot(x,y,'MarkerSize',5)

3)散点的边界颜色MarkerEdgeColor

语法类似:p. MarkerEdgeColor=’r’

4)散点的填充颜色MarkerFaceColor

语法类似:p. MarkerFaceColor=’r’

3 用fill函数画出下列基本图形。

4 用bar,barh画如下图形。

5 画如下饼图

6 画如下阶梯图

7 散点图(略)

用text在散点上添加数字。

x =linspace(-pi,pi,10);y=sin(x);plot(x,y,'-ro');

for i=1:10;a=sprintf('%0.2f',y(i));text(x(i),y(i),num2str(a));end

axis([-pi-1 1+pi -1 2])

8 三维绘图,视情况讲解。

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

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

相关文章

Linux 发布项目到OpenEuler虚拟机

后端&#xff1a;SpringBoot 前端&#xff1a;VUE3 操作系统&#xff1a;Linux 虚拟机&#xff1a;OpenEuler 发布项目是需要先关闭虚拟机上的防火墙 systemctl stop firewalld 一、运行后端项目到虚拟机 1、安装JDK软件包 查询Jdk是否已安装 dnf list installed | grep jd…

Redis数据结构对象中的类型检查与命令多态、内存回收

类型检查与命令多态 概述 redis中用于操作键的命令基本上可以分为两种类型。其中一种命令可以对任何类型的键执行&#xff0c;比如说DEL命令、EXPIRE命令、RENAME命令、TYPE命令、OBJECT命令等. 而另一种命令只能对特定类型的键执行&#xff0c;比如说 1.SET、GET、APPEND、…

OPTEE v3.20.0 FVP环境搭建

目录 一、前提条件 二、下载fvp代码 三、下载工具链 四、下载Foundation_Platform FVP平台 五、编译及运行 一、前提条件 1、安装如下的依赖工具 sudo apt-get install android-tools-adb android-tools-fastboot autoconf \ automake bc bison build-essential ccache c…

windows管理github代码

资料 windows SSH下载github

51单片机—AD/DA

目录 1.AD/DA元件介绍 2.运算放大器 3.原理分析 4.性能指标 5.内部芯片时序 6.程序实操 7.原理图 1.AD/DA元件介绍 一般传感器的值会随参数的值变化&#xff0c;AD一般对电压进行转换&#xff0c;AD有多个通道&#xff0c;但是DA只有一个通道&#xff0c;且AD的运用较为广…

路由器怎么做端口映射

路由器在网络中起到了连接不同设备和提供网络服务的重要作用。端口映射是一项常见的操作&#xff0c;它允许外部网络中的设备通过路由器访问内部网络中的设备。我们将介绍如何在路由器上进行端口映射的设置。 理解端口映射 在开始操作之前&#xff0c;我们需要了解一些基本概念…

反射 Reflection

反射 反射的概念 反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息(比如成员变量&#xff0c;构造器&#xff0c;成员方法等等)&#xff0c;并能操作对象的属性及方法。反射在设计模式和框架底层都会用到加载完类之后&#xff0c;在堆中就产生了一个Class类型…

Flutter 在 Windows 下的开发环境搭建(Flutter SDK 3.19.2)【图文详细教程】

Git 下载与安装 对于 Flutter 3.19&#xff0c;Git 版本需要 2.27 及以上 Git 下载&#xff1a; Git 官网&#xff1a;https://git-scm.com/Git 下载淘宝镜像&#xff1a;https://registry.npmmirror.com/binary.html?pathgit-for-windows/ 对于 Git 的安装教程&#xff0c;…

Python分析无人驾驶汽车在桂林市文旅行业推广的问卷

【项目背景】 通过市场调研、文本分析、访谈和问卷调查等方法&#xff0c;探讨&#xff1a; 网民对无人驾驶汽车出行服务的态度。无人驾驶安全员的行业背景。不同人群在旅游时的交通选择偏好。游客及当地居民对桂林市文旅路线的交通满意度。乘客对无人驾驶汽车的满意度。桂林…

超快速排序(蓝桥杯,归并排序,acwing)

题目描述&#xff1a; 在这个问题中&#xff0c;您必须分析特定的排序算法----超快速排序。 该算法通过交换两个相邻的序列元素来处理 n 个不同整数的序列&#xff0c;直到序列按升序排序。 对于输入序列 9 1 0 5 4&#xff0c;超快速排序生成输出 0 1 4 5 9。 您的任务是确…

Selenium不同版本配置自动下载驱动及打包细节

Selenium配置浏览器驱动 自动下载浏览器驱动的方法 selenium4.7.0自动下载浏览器驱动的方法 selenium4.11.0 或4.11.1手动设置浏览器驱动路径的方法pyinstaller打包程序时同时打包ChromeDriverchromedriver路径需要sys._MEIPASS的路径进行引用方法一&#xff1a;通过–add-data…

【Linux】从零开始认识进程 — 前篇

我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。。——山本耀司 从零开始认识进程 1 认识冯诺依曼体系2 操作系统3 进程3.1 什么是进程&#xff1f;&#xff1f;&#xff1f;3.2 进程管理PCB 3.3 Linux中的进程深入理解 3.4 进程创建总结 送给…

jvm的垃圾回收器以及触发full gc的场景

JVM&#xff08;Java虚拟机&#xff09;的垃圾回收器有很多种&#xff0c;主要包括以下几种&#xff1a; Serial收集器&#xff1a;串行收集器是最古老、最稳定的收集器。它使用单个线程进行垃圾收集工作&#xff0c;在进行垃圾回收时会暂停所有用户线程。 ParNew收集器&#…

Nebula Graph-01-Nebula Graph简介和安装以及客户端连接

前言 NoSQL 数据库 图数据库并不是可以克服关系型数据库缺点的唯一替代方案。现在市面上还有很多非关系型数据库的产品&#xff0c;这些产品都可以叫做 NoSQL。NoSQL 一词最早于上世纪 90 年代末提出&#xff0c;可以解释为“非 SQL” 或“不仅是 SQL”&#xff0c;具体解释要…

查找众数及中位数 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 众数是指一组数据中出现次数量多的那个数&#xff0c;众数可以是多个。 中位数只是指把一组数据从小到大排列&#xff0c;最中间的那个数&#xff0c;如果这组数…

整蛊小教程|让朋友手足无措的电脑自动关机

前言 这几天讲到shutdown关机命令&#xff0c;于是就出现了整蛊类的电脑教程。 这个故事我记得很清楚&#xff1a;在2012年的春天……当时的小白对电脑还不是很熟悉。某一天跟着朋友去网吧上网&#xff0c;这时候突然有个朋友发来一个.bat的文件&#xff0c;说双击打开有惊喜…

集合深入------理解底层。

集合的使用 前提&#xff1a;栈、堆、二叉树、hashcode、toString()、quesalus()的知识深入和底层理解。 1、什么是集合 集合就是咋们所说的容器 ​ 前面我们学习过数组 数组也是容器 ​ 容器&#xff1a;装东西的 生活中有多少的容器呀? 水杯 教室 酒瓶 水库 只要是…

Modbus TCP转Profinet网关如何实现Modbus主站与多设备通讯

在工业控制领域中&#xff0c;Modbus TCP转Profinet网关&#xff08;XD-ETHPN20&#xff09;扮演着连接不同设备间通讯的重要角色。当将Modbus主站与十几台服务器进行通讯时&#xff0c;通过modbus tcp转profinet网关&#xff08;XD-ETHPN20&#xff09;设备将不同协议间的数据…

关于OceanBase中旁路导入的应用分享

背景 前段时间&#xff0c;在用户现场协助进行OceanBase的性能测试时&#xff0c;我注意到用户常常需要运用 insert into select 将上亿行的数据插入到一张大宽表里&#xff0c;这样的批量数据插入操作每次都需要耗时半个小时左右。对这一情况&#xff0c;我提议用户尝试采用旁…

Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation

摘要&#xff1a; 提取类激活映射(CAM)可以说是为弱监督语义分割(WSSS)生成伪掩码的最标准步骤。然而&#xff0c;我们发现伪掩码不理想的关键是在CAM中广泛使用的二进制交叉熵损失(BCE)。具体来说&#xff0c;由于BCE的池化方式是对类别求和&#xff0c;CAM中的每个像素可能对…