光速上手matlab入门级学习必看matlab超长细练习matlab,福利分享Matlab全套资料

news2025/2/12 23:56:41

福利:末文有Matlab全套哦

实践是检验知识和技能的唯一标准。只有将所学的知识应用到实际问题中,并通过实践不断地调整和完善,才能真正掌握和理解这些知识。

在 MATLAB 中,可以通过编写代码、运行程序、调试错误等方式进行实践。例如,可以尝试解决实际问题,如数据分析、信号处理、图像处理等,使用 MATLAB 中的函数和工具箱进行计算和处理。在实践中,可以深入理解 MATLAB 中的各种函数和工具,掌握它们的使用方法和注意事项,同时也可以发现其中的问题和不足,并通过实践不断地改进和完善。                                     

01分段函数

⚪️   函数f(x),当x>1,y=x^2;当x=[-1,1],y=1;当x<=-1,y=3+2x

第一种方法使用匿名函数的方法,就是使用不等号判断,当在此区间布尔值为1,对应函数乘以此布尔值不等于0

% 方法1
% 定义分段函数
f = @(x) (x > 1) .* x.^2 + (-1 <= x & x < 1) .* 1 + (x <= -1) .* (3 + 2*x);

% 生成 x 向量
x = linspace(-2, 2, 1000);

% 计算 y 向量
y = f(x);

% 绘制函数曲线
plot(x, y);
grid on;
xlabel('x');
ylabel('y');
title('分段函数 f(x)');

另一种方法就是用常规函数进行,先定义分段函数part,用n统计其长度,可以把n当作x和y值对应的下标,生成x向量传入到函数part生成y值,通过plot绘制图形

part.m

% 定义分段函数function y = part(x)  n = length(x);  for i = 1:n      if x(i)>1          y(i)=x(i).^2;      elseif x(i)>-1          y(i)=1;      else          y(i)=3+2*x(i);      end   endend

主函数

% 生成 x 向量x = linspace(-2, 2, 1000);
% 计算 y 向量y = part(x);
% 绘制函数曲线plot(x, y);grid on;xlabel('x');ylabel('y');title('分段函数 f(x)');

或者使用find获取下标,方法和上述第二个方法类似,都是找下标的方式

% 生成 x 向量x = linspace(-2, 2, 1000);
% 计算 y 向量y = zeros(size(x));  % 初始化 y 向量ind1 = find(x > 1);  % 第一段函数的下标ind2 = find(x > -1 & x <= 1);  % 第二段函数的下标ind3 = find(x <= -1);  % 第三段函数的下标y(ind1) = x(ind1).^2;  % 第一段函数y(ind2) = 1;  % 第二段函数y(ind3) = 3 + 2*x(ind3);  % 第三段函数
% 绘制函数曲线plot(x, y);grid on;xlabel('x');ylabel('y');title('分段函数 f(x)');

02复合图

⚪️   两个一元函数y=x^3-x-1和y=|x|^(0.2)sin(5x)在区间-1<x<2的复合图。函数与图像

使用hold on方法将在同一个图像上进行绘制

% 生成 x 向量x = linspace(-1, 2, 1000);
% 计算 y1 向量y1 = x.^3 - x - 1;
% 计算 y2 向量y2 = abs(x).^0.2 .* sin(5*x);
% 绘制函数曲线plot(x, y1, 'Color','r','LineWidth', 2);hold on;  % 将两个曲线绘制在同一张图上plot(x, y2, 'LineWidth', 2);grid on;xlabel('x');ylabel('y');title('两个一元函数复合图');% 图例legend('y=x^3-x-1', 'y=|x|^{0.2}sin(5x)');

除了使用上述的plot方法还可以使用fplot匿名函数方法进行绘制,fplot仅针对一元函数,二元函数不能使用的一种方法。

% 定义匿名函数f = @(x) x^3-x-1;y = @(x) abs(x).^0.2.*sin(5*x);
% 绘制函数曲线fplot(f,[-1,2],'r-.');hold on;fplot(y,[-1,2]);hold off% 添加网格;grid on 
% 添加坐标轴标签和标题xlabel('x');ylabel('y');title('两个一元函数复合图');
% 添加图例legend('y=x^3-x-1', 'y=|x|^{0.2}sin(5x)');

03三维平面图

⚪️   三维平面图使用mesh绘制网格图,surf绘制三维曲面图,使用meshgrid生成三维网格矩阵,也就是区间变量值。

使用mesh进行绘制网格图

clear all; % 清除全部变量clc; % 清屏% 生成数据% meshgrid 函数可以用于生成二维网格矩阵,从而方便地生成网格图或三维图形。[X, Y] = meshgrid(-2:0.1:2); % 相当于生成区间%三维表达式Z = X.^2 - Y.^2;
% mesh方法绘制三维网格图mesh(X, Y, Z);xlabel('x');ylabel('y');zlabel('z');title('三维网格图');

使用surf绘制曲面图

clear all; % 清除全部变量clc; % 清屏% 生成数据% meshgrid 函数可以用于生成二维网格矩阵,从而方便地生成网格图或三维图形。[X, Y] = meshgrid(-2:0.1:2); % 相当于生成区间%三维表达式Z = X.^2 - Y.^2;
% surf方法绘制三维曲面图surf(X, Y, Z);xlabel('x');ylabel('y');zlabel('z');title('三维曲面图');

使用contour方法绘制等高线

clear all; % 清除全部变量clc; % 清屏% 生成数据% meshgrid 函数可以用于生成二维网格矩阵,从而方便地生成网格图或三维图形。[X, Y] = meshgrid(-2:0.1:2); % 相当于生成区间%三维表达式Z = X.^2 - Y.^2;
% contour方法绘制三维等高线contour(X, Y, Z);xlabel('x');ylabel('y');zlabel('z');title('三维等高线');

如果确定某一等高线直接在后面添加参数

clear all; % 清除全部变量clc; % 清屏% 生成数据% meshgrid 函数可以用于生成二维网格矩阵,从而方便地生成网格图或三维图形。[X, Y] = meshgrid(-2:0.1:2); % 相当于生成区间%三维表达式Z = X.^2 - Y.^2;
% contour方法绘制等高线contour(X, Y, Z,[1]);xlabel('x');ylabel('y');zlabel('z');title('等高线为1');legend('等高线')

04三维线型图

⚪️   三维线性图使用plot3函数,而二维使用plot

使用plot3绘制三维线条

% 生成数据t = linspace(0, 10*pi, 1000);x = sin(t);y = cos(t);z = t;
% 绘制三维线条图plot3(x, y, z);xlabel('x');ylabel('y');zlabel('z');title('三维线条图');

05矩阵运算(线性方程组)

⚪️   线性方程组、逆矩阵inv、特征值和特征向量eig、二次型矩阵代数

使用rref化为行最简单求方程组的解答

clear all;%根据线性方程组得矩阵A和bA = [1 -1 1 -1;-1 1 1 -1;2 -2 -1 1];b = [1;1;-1];% 只有当矩阵A的秩和增广矩阵(A,b)秩相等才有解答if rank(A)==rank([A,b])    %使用rref求增广矩阵行最简    rref([A,b])else    disp('此方程组无解')end

输出结果:

ans =
     1    -1     0     0     0     0     0     1    -1     1     0     0     0     0     0

矩阵里有求二次型问题,在求二次型的过程中也少不了求特征值和特征向量的过程

首先根据给出的公式写出矩阵A,通过矩阵A求特征值和特征向量,正交化,规范化然后求出标准化。我的matlab版本较低,所以自行定义正交化,规范化函数

normalize.m

​​​​​​​

function V_norm = normalize(V) %定义规范化函数% 对向量进行规范化[m, n] = size(V);V_norm = zeros(m, n);for i = 1:n    V_norm(:, i) = V(:, i)/norm(V(:, i));endend

gramSchmidt.m

function [Q, R] = gramSchmidt(A)% Gram-Schmidt正交化过程[m, n] = size(A);Q = A;R = zeros(n, n);for j = 1:n    R(j, j) = norm(Q(:, j));    Q(:, j) = Q(:, j)/R(j, j);    for i = j+1:n        R(j, i) = Q(:, j)'*Q(:, i);        Q(:, i) = Q(:, i) - R(j, i)*Q(:, j);    endendend

主函数:

​​​​​​​

% 根据式子写二次型的矩阵A
A =[1 -2 2;-2 -2 4;2 4 -2];
% 求A的特征值和特征向量
[V,D]=eig(A);
% 特征向量的正交化
U = gramSchmidt(V);
%特征向量的规范化
Q = normalize(U);
%最后得到标准型
S = Q'*A*Q

输出结果:

​​​​​​​

S =
   -7.0000    0.0000    0.0000
    0.0000    2.0000         0
    0.0000   -0.0000    2.0000

06非线性方程组

⚪️   函数和方程非线性方程组变量不是一次的二次大于一次,这与线性方程组进行对比就能很清晰了

% 定义非线性方程组
f = @(x) [9*x(1)^2 + 36*x(2)^2 + 4*x(3)^2 - 36; x(1)^2 - 2*x(2)^2 - 20*x(3); 16*x(1) - x(1)^3 - 2*x(2)^2 - 16*x(3)^2];
% 初始值
x0 = [1; 1;1];
% 求解方程组
x = fsolve(f, x0);
% 输出结果
disp(x);

输出结果

​​​​​​​

   0.1342
    0.9972
   -0.0985

07函数的极值和零点

⚪️   "零点" 通常用于描述函数在 x 轴上的交点,也就是函数的值等于 0 的点。一个函数可能有多个零点,也可能没有零点。fzero 函数用于求解函数的零点。"求根" 通常用于描述解方程的过程,也就是找到一个或多个方程的根。对于一个方程 $f(x) = 0$,求根就是要找到它的解 x,使得 f(x) = 0。一个方程可能有多个根,也可能没有根。fsolve 函数用于求解方程的根。在数学中,极值是函数在某一区间内的最大值或最小值,也称为局部极值。在 MATLAB 中,可以使用 fminbnd 和 fminsearch 函数找到函数的局部最小值。

                                      

求根

这里只求最后一个,其他同理

​​​​​​​

% 函数表达式
f =(2.*x+3).^3-4
% 使用conv展开
f_v = expand(f) % 8*x^3 + 36*x^2 + 54*x + 23
% 展开后提取系数求根
p = [8,36,54,23]
value = roots(p)
% 验证polyval(多项式系数列表,代入的值)
polyval(p,value)

输出结果:

​​​​​​​

%定义符号变量t
syms t
x = log(cos(t));
y = cos(t)-t.*sin(t);
%x对t求导数,求导1次
dx_dt = diff(x,t)
%y对t求导数,求导1次
dy_dt = diff(y,t)
% 求方程的解,当x=-1的时候t等于多少
% 使用符号函数solve进行解答
% t的区间在[0,1.5]大于零
x=log(cos(t))==-1;
tt = abs(solve(x,t))
%代入到方程中,subs(函数,旧变量,新变量)
dx_dt = subs(dx_dt,t,tt)
dy_dt = subs(dy_dt,t,tt)
%最后得数,符号函数转换为具体的值用eval
eval(dx_dt./dy_dt)

或者用fzero,需要指定区间

​​​​​​​

%定义符号变量t
syms t
x = log(cos(t));
y = cos(t)-t.*sin(t);
%x对t求导数,求导1次
dx_dt = diff(x,t)
%y对t求导数,求导1次
dy_dt = diff(y,t)
% 求方程的解,当x=-1的时候t等于多少
% 使用符号函数solve进行解答
% t的区间在[0,1.5]大于零
x=log(cos(t))==-1;
tt = abs(solve(x,t))
%代入到方程中,subs(函数,旧变量,新变量)
dx_dt = subs(dx_dt,t,tt)
dy_dt = subs(dy_dt,t,tt)
%最后得数,符号函数转换为具体的值用eval
eval(dx_dt./dy_dt)

fzero 函数用于求解单变量非线性方程的零点,即在给定区间内找到函数的一个根。它使用的是单点迭代法(也称作牛顿迭代法),通过不断逼近函数的零点来计算方程的解。因此,fzero 函数适用于求解单变量非线性方程的根,但不能用于求解多变量非线性方程组的根。

roots 函数则用于求解多项式方程的根,即找到多项式在复数域中的所有根。它的输入是一个包含多项式系数的向量,输出是一个包含多项式在复数域中所有根的向量。roots 函数使用的是拉格朗日-牛顿插值法,通过对多项式进行插值来计算多项式的根。因此,roots 函数适用于求解多项式方程的根,但不能用于求解非多项式方程的根。                                  

                                      

极值

`fminbnd` 是 MATLAB 中用于求解单变量有界函数最小值的函数,它可以在指定的区间内自动寻找一个函数的最小值点。`fminbnd` 函数的基本语法如下:

[x, fval] = fminbnd(fun, x1, x2)

其中,`fun` 表示待求解的单变量有界函数,可以是一个函数句柄、一个匿名函数或一个函数字符串;`x1` 和 `x2` 分别表示待求解区间的左右端点,即函数的取值范围。函数的输出结果包括一个标量 `x`,表示函数的最小值点,以及一个标量 `fval`,表示函数在最小值点的取值。

需要注意的是,`fminbnd` 函数使用的是黄金分割法(golden section method),通过不断狭窄区间范围来逐步逼近函数的最小值点。因此,`fminbnd` 函数适用于求解单变量有界函数的最小值,但不能用于求解多变量函数的最小值、无界函数的最小值或非连续函数的最小值。

下面是一个使用 `fminbnd` 函数求解函数最小值的简单例子:

​​​​​​​

%定义符号变量t
syms t
x = log(cos(t));
y = cos(t)-t.*sin(t);
%x对t求导数,求导1次
dx_dt = diff(x,t)
%y对t求导数,求导1次
dy_dt = diff(y,t)
% 求方程的解,当x=-1的时候t等于多少
% 使用符号函数solve进行解答
% t的区间在[0,1.5]大于零
x=log(cos(t))==-1;
tt = abs(solve(x,t))
%代入到方程中,subs(函数,旧变量,新变量)
dx_dt = subs(dx_dt,t,tt)
dy_dt = subs(dy_dt,t,tt)
%最后得数,符号函数转换为具体的值用eval
eval(dx_dt./dy_dt)
% 定义一个函数fun = @(x) x.^2 - 2*x + 1;% 求解函数的最小值x1 = 0; % 区间x2 = 2; % 区间[x, fval] = fminbnd(fun, x1, x2);% 输出结果disp(x); %坐标xdisp(fval); %坐标y

在上述代码中,我们定义了一个函数 `fun`,它表示函数 f(x)=x^2-2x+1。然后,我们使用 `fminbnd` 函数求解该函数在区间 [0,2]内的最小值点。需要注意的是,为了确保函数的最小值在指定区间内,需要根据具体的问题选择合适的区间范围,并进行必要的验证和调整,以保证求解结果的准确性和稳定性。与fminbnd相似的是fminsearch解决多元函数极值问题,函数的参数相似,第一个是多元函数表达式,第二个是指定区间。

08微积分

⚪️   微积分是数学中的一个分支,主要研究函数的微分和积分微积分

                                      

导数(微分)

最后输出:

​​​​​​​

dx_dt =

-sin(t)/cos(t)


dy_dt =

- 2*sin(t) - t*cos(t)


tt =

 acos(exp(-1))
 acos(exp(-1))


dx_dt =

 -exp(1)*(1 - exp(-2))^(1/2)
 -exp(1)*(1 - exp(-2))^(1/2)


dy_dt =

 - 2*(1 - exp(-2))^(1/2) - exp(-1)*acos(exp(-1))
 - 2*(1 - exp(-2))^(1/2) - exp(-1)*acos(exp(-1))


ans =

    1.0995
    1.0995

                                      

积分

%被积函数表达式
f= @(x) exp(2.*x).*cos(x).^3;
% 积分方式一
disp('integral方法');
Q1 = integral(f, 0, 2*pi)
%积分方式2
disp('quad方法');
Q2 = quad(f, 0, 2*pi)

输出结果:

​​​​​​​

integral方法

Q1 =

   9.7054e+04

quad方法

Q2 =

   9.7054e+04

                                      

函数梯度

在数学中,梯度是一个向量,它的方向与函数值增加最快的方向相同,大小表示函数值增加最快的速率。在 MATLAB 中,可以使用符号工具箱和数值工具箱计算函数的梯度。

使用符号工具箱,可以对符号表达式进行梯度计算。可以使用 `gradient` 函数计算符号表达式的梯度向量。以下是一个示例代码,使用符号工具箱计算函数 f(x,y)=x^2+y^2$ 在点 (1,2)$处的梯度向量:

​​​​​​​

% 定义符号变量和函数
syms x y;
f = x^2 + y^2;

% 计算梯度
grad_f = gradient(f, [x, y]);

% 在点 (1,2) 处计算梯度向量
x0 = 1;
y0 = 2;
grad_f_val = subs(grad_f, [x, y], [x0, y0]);

% 输出结果[2,4]
disp([grad_f_val]) % 2 4

在这个代码中,我们首先定义了符号变量 `x` 和 `y`,以及函数 f(x,y)=x^2+y^2。然后,我们使用 `gradient` 函数计算了函数的梯度向量。最后,我们在点 (1,2) 处计算了梯度向量,并输出了结果。运行这个代码,可以得到函数 f(x,y)=x^2+y^2在点 (1,2) 处的梯度向量为 [2, 4]。


​​​​​​​09符号对象

⚪️ 符号运算使用--种特殊的数据类型,称为符号对象(SymbolicObject),用字

符串形式表达,但又不同于字符串( Char Array).符号运算中的变量、函数和表达式都是符号对象.

% 这是数值表达式
n = pi^2
% 数值转化为符号对象
a = sym(n)
% 定义符号变量以及符号计算表达式
syms x y c
d = x^3+2*y^2;
% 定义符号矩阵
A = [x,y;2*x,2*y]
% 符号变量x用符号c替代
A = subs(A,x,c)

从上面可以看出万物皆可符号,定义单个符号使用sym,多个使用syms

                                      

计算精度和数据类型转换

符号数值计算默认精度为32位十进制,是MATLAB数值计算的两倍,符号工具箱还提供了计算精度设置指令,可以定义任意精度的数值计算."vpa" 是 MATLAB 中的一个函数,它的全称是 "Variable Precision Arithmetic",中文翻译为"可变精度算术"。该函数可以用来进行高精度计算,避免由于浮点数运算带来的舍入误差。

% s为圆周率
s=pi
% 将数值计算精度设置为8位
digits(8)
% 求s的数值结果
x=vpa(s)
% 采用n位计算精度求s的数值结果
x=vpa(s,n)
%符号对象转换为双精度
double(s)
%符号对象转换为字符串
char(s)

输出结果:

​​​​​​​

s =

    3.1416

x =

3.1415927


x =

3.141592654


ans =

    3.1416


ans =

10符号矩阵和符号函数

⚪️   MATLAB大部分矩阵和数组运算符及指令都可以应用于符号矩阵,大部分MATLAB数学函数和逻辑关系运算也可用于符号对象.另外还有

                                      

符号矩阵

clear;
% 符号矩阵A
A = sym('[a,b;c,d]');
% B为A矩阵的逆
B = inv(A)
% 矩阵的运算
A./B
B.\A
A/B
B\A
% 求符号矩阵的特征值和特征向量
eig(A)

输出结果:

B =

[  d/(a*d - b*c), -b/(a*d - b*c)]
[ -c/(a*d - b*c),  a/(a*d - b*c)]


ans =

[ (a*(a*d - b*c))/d,         b*c - a*d]
[         b*c - a*d, (d*(a*d - b*c))/a]


ans =

[ (a*(a*d - b*c))/d,         b*c - a*d]
[         b*c - a*d, (d*(a*d - b*c))/a]


ans =

[ a^2 + b*c, b*(a + d)]
[ c*(a + d), d^2 + b*c]


ans =

[ a^2 + b*c, b*(a + d)]
[ c*(a + d), d^2 + b*c]


ans =

 a/2 + d/2 - (a^2 - 2*a*d + d^2 + 4*b*c)^(1/2)/2
 a/2 + d/2 + (a^2 - 2*a*d + d^2 + 4*b*c)^(1/2)/2       
        

符号函数

% f(x,y)=(x-y)^3
% g(x,y)=(x+y)^3
% 定义符号变量
syms x y;
%定义函数
f=(x-y)^3;
g=(x+y)^3;
%两个函数相乘
h = f*g
%展开多项式
hs = expand(h)
% 因式分解
hf = factor(hs)
%定义符号函数,自变量是x,y
fun = symfun(f*g,[x,y])
%符号计算替换无需使用subs方法
s = fun(x,x^2+x+1)
%合并同类项,变量x
scol = collect(s,x)
%化简
ssim = simplify(scol)
%最简形式
ssim =simple(scol)
% 数学公式的Latex输出
latex(ssim)
% 数学公式的C语言代码
ccode(ssim)
% 数学公式的matlab匿名函数代码

输出结果:

h =

(x + y)^3*(x - y)^3


hs =

x^6 - 3*x^4*y^2 + 3*x^2*y^4 - y^6


hf =

(x - y)^3*(x + y)^3


fun(x, y) =

(x + y)^3*(x - y)^3


s =

-(x^2 + 1)^3*(x^2 + 2*x + 1)^3


scol =

- x^12 - 6*x^11 - 18*x^10 - 38*x^9 - 63*x^8 - 84*x^7 - 92*x^6 - 84*x^5 - 63*x^4 - 38*x^3 - 18*x^2 - 6*x - 1


ssim =

-(x^2 + 1)^3*(x + 1)^6


ssim =

-(x^2 + 1)^3*(x + 1)^6


ans =

- {\left(x^2 + 1\right)}^3\, {\left(x + 1\right)}^6


ans =

  t0 = -pow(x*x+1.0,3.0)*pow(x+1.0,6.0);


ans = 

    @(x)-(x.^2+1.0).^3.*(x+1.0).^6

                                      

符号微积分

% 定义符号变量
syms n x;
%定义表达式
f = (1+x/n)^n;
g = (-1)^n*x^n/n;
% 符号极限的计算,变量n趋于无穷
limit(f,n,inf)
% 离散求和,变量n从1到无穷
symsum(g,n,1,inf)

计算结果:

ans =

exp(x)


ans =

piecewise([x == -1, Inf], [abs(x) <= 1 and x ~= -1, -log(x + 1)])

从上述的几个例子可以看出,符号表达式在应用的时候更加的随意,之前的函数方法都没有变,变的是函数的表达式通过符号的形式进行表达,而不是变量,符号可以不用赋予具体的值就可以通过符号进行运算,而变量在最后是需要赋予具体的值才可以进行运算。

充电君会在第一时间给你带来最新、最全面的解读,别忘了三联一波哦。

                                          

关注公众号:资源充电吧
回复:Chat GPT
充电君发你:免费畅享使用中文版哦
点击小卡片关注下,回复:IT

想要的资料全都有 

 

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

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

相关文章

大语言模型高质量提示词最佳实践

大语言模型高质量提示词最佳实践 一、提供更清晰的指令 使用大语言模型&#xff08;类似ChatGPT、Bard等工具&#xff09;的过程中&#xff0c;一个关键的技巧是能够给出清晰和明确的指令。大语言模型的运作方式是根据提供的输入&#xff0c;预测接下来应该生成什么内容。因此…

Mysql经典例题练习与总结

一、创建数据表并插入数据 -- 1、学生表 -- Student(s_id,s_name,s_birth,s_sex) &#xff1a;学生编号、姓名、年月、性别 CREATE TABLE IF NOT EXISTS Student (s_id VARCHAR (20),s_name VARCHAR (20) NOT NULL DEFAULT ,s_birth VARCHAR (20) NOT NULL DEFAULT ,s_sex VAR…

使用一键安装工具快速搭建 ESP-IDF 开发环境 (Windows)

我们收到用户对 ESP-IDF SDK 软件开发环境感到搭建难、门槛高的反馈。为解决用户在此方面的问题。为此&#xff0c;我们推出本期教程介绍在 Windows 操作系统下使用一键安装工具快速搭建 ESP-IDF 开发环境。 您可以观看下面的教程视频&#xff0c;也可以阅读接下来本篇的图文教…

动态规划dp —— 25.单词拆分

1.状态表示 是什么&#xff1f;dp表中里的值所表示的含义就是状态表示 dp[i]表示&#xff1a;[0,i]区间内的字符串&#xff0c;能否被字典中的单词拼接而成&#xff08;存ture或false&#xff09; 2.状态转移方程 dp[i] 等于什么 根据最后一个位置&#xff0c;来划分问题&a…

easyPOI导出多Sheet

easyPOI导出多Sheet 声明&#xff0c;本文基于JAVA操作Excel&#xff08;POI、easyPOI、easyExcel_我认不到你的博客-CSDN博客讲解&#xff0c;需要基础的可以看这篇&#xff0c;特别是Excel注解 本篇最后有工具类和自定义的注解类&#xff0c;只需要傻瓜式复制粘贴应该就可以用…

与 NGINX 团队直接交流 | 微服务之月火热报名中

原文作者&#xff1a;NGINX 原文链接&#xff1a;与 NGINX 团队直接交流 | 微服务之月火热报名中 转载来源&#xff1a;NGINX 官方网站 NGINX 唯一中文官方社区 &#xff0c;尽在 nginx.org.cn 又是一个热情似火的六月&#xff0c;一年一度的 Microservices June 微服务之月再…

6.12 共享内存(内存映射的使用、注意事项、进程间通信、systemV共享内存)

目录 system V IPC 共享内存 共享内存使用步骤 system V IPC -key system V IPC -ftok system V IPC -ftok-示例 共享内存创建-shmget 共享内存创建-shmget-示例1 共享内存创建-shmget-示例2 共享内存映射-shmat 共享内存读写 - 示例 共享内存撤销映射 - shmdt 共享…

etcd基本使用

目录 CRUD1、基本的put/get/del2、获取当前所有的key3、获取/删除带有前缀的键 lease使用1、创建lease&#xff0c;续租lease&#xff0c;撤销lease2、将lease attach到key上 watch使用watch、watch_oncereplacedeletewatch_prefix、watch_prefix_oncecancel_watchadd_watch_ca…

抖音整治短剧类小程序内容

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 短剧CPS项目这两年不是挺火的吗&#xff0c;很多草根创业者都在做短剧CPS当副业。 前两天&#xff0c;抖音开放平台团队发布公告&#xff1a; 近期&#xff0c;在微短剧类小程序内容合规排查中&am…

【LeetCode】HOT 100(11)

题单介绍&#xff1a; 精选 100 道力扣&#xff08;LeetCode&#xff09;上最热门的题目&#xff0c;适合初识算法与数据结构的新手和想要在短时间内高效提升的人&#xff0c;熟练掌握这 100 道题&#xff0c;你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

工作多年的工作焦虑症-广泛性焦虑症

我相信工作多年的人都会有自己的工作焦虑症的情况&#xff0c;而我们普通人最多的最容易的也就是广泛性焦虑症&#xff0c;广泛性焦虑障碍&#xff08;GAD&#xff09;是一种常见的慢性焦虑障碍&#xff0c;患者长时间处于一种担心、紧张、无法放松的状态。它会让一种广泛的担心…

采购协同:企业数字化转型的关键环节

企业数字化转型已成为当今市场的主流趋势&#xff0c;而采购协同作为企业数字化转型的关键环节&#xff0c;对于企业的成本控制、供应链管理等方面都有着至关重要的影响。本文将围绕采购协同的重要性、数字化转型的方法和优势、以及实现采购协同的关键环节展开讨论。 一、采购协…

Java并发容器 并发队列

并发容器概览 ConcurrentHashMap : 线程安全的HashMap CopyOnWriteArrayList: 线程安全的List BlockingQueue:这是一个接口&#xff0c;表示阻塞队列&#xff0c;非常适合用于作为数据共享的通道 ConcurrentLinkedQueue : 高效的非阻塞并发队列&#xff0c;使用链表实现。可…

目标检测数据集---道路破损缺陷数据集

✨✨✨✨✨✨目标检测数据集✨✨✨✨✨✨ 本专栏提供各种场景的数据集,主要聚焦:工业缺陷检测数据集、小目标数据集、遥感数据集、红外小目标数据集,该专栏的数据集会在多个专栏进行验证,在多个数据集进行验证mAP涨点明显,尤其是小目标、遮挡物精度提升明显的数据集会在该…

Java list安全删除元素详解

背景 前一段时间被问到了关于 List 集合的安全删除元素问题。一时间没反应过来这问题问的是什么&#xff0c;安全体现在什么地方&#xff0c;线程安全&#xff1f;线程安全可以保证元素粒度的数据唯一吗&#xff1f;删除是指什么&#xff0c;list.remove()&#xff1f; 带着这…

5外包功能测试做完,人废了一半····

先说一下自己的情况。大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近5年的点点点&#xff0c;今年年上旬&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01;而我已经在一个企业干了五年的功能测试…

剑指offer35 复杂链表的复制

复杂链表的复制 文章目录 复杂链表的复制方法一 回溯哈希表第二种解释 方法二&#xff1a;拼接拆分算法流程 参考文献 本题要求我们对一个复杂链表进行复制。在复杂链表中&#xff0c;每个节点除了有一个next指针指向下一个节点&#xff0c;还有一个random指针指向链表中的任意…

SpringBoot+Vue 车辆充电桩系统

文章目录 1、效果演示效果图技术栈 2、 前言介绍&#xff08;完整源码请私聊&#xff09;3、主要技术3.4.1 数据库概念结构设计3.4.2 数据库具体设计 4 系统功能的具体实现4.1 前台功能模块4.1.1 首页功能4.1.2 用户后台管理 4.2 后台功能模块4.2.1 管理员功能4.2.2 维修员功能…

后端(三):后端实战(表白墙的设计)

上一章结束了 Servlet 的学习&#xff0c;ok&#xff0c;现在我们已经学会了 1 1 了&#xff0c;现在开始我们要学会 百以内的加减乘除法。 本章就做一个最简单的 小小项目&#xff1a;表白墙。 在开始表白墙项目开始之间&#xff0c;我们先提前说好&#xff0c;这里主要跟关…

海思3559万能平台搭建:SPI输出h264码流

前言 面对各种各样的客户需求&#xff0c;spi接口也是一种传码流的形式&#xff0c;spi同步422可以保证抗干扰能力强的同时传输距离也很长&#xff0c;本文会介绍海思平台spi作为主机的发送功能以及发送码流的处理方式 1. 管脚复用&#xff1a; 首先需要配置的肯定是管脚复用&…