实验二 系统响应及系统稳定性

实验目的

(1)学会运用Matlab 求解离散时间系统的零状态响应;

(2)学会运用Matlab 求解离散时间系统的单位取样响应;

(3)学会运用Matlab 求解离散时间系统的卷积和。

实验原理及实例分析

1. 离散时间系统的响应

【例2-1】已知某LTI系统的差分方程为:

3 y ( n ) − 4 y ( n − 1 ) + 2 y ( n − 2 ) = x ( n ) + 2 x ( n − 1 ) 3y(n)-4y(n-1)+2y(n-2)=x(n)+2x(n-1) 3y(n)4y(n1)+2y(n2)=x(n)+2x(n1)

试用Matlab命令绘出当激励信号为 x ( n ) = ( 1 2 ) n u ( n ) x(n)=(\frac{1}{2})^n u(n) x(n)=(21)nu(n) 时该系统的零状态响应。

a=[3 -4 2];
b=[1 2];
n=0:30;
x=(1/2).^n;
%%%
% 函数名:filter(b,a,x)
% 功能:计算离散系统的零状态响应
% 格式:filter(b,a,x), 其中a 为响应的系数行向量,b 为激励的系数行向量,x 为激励序列。
y=filter(b,a,x);
%%%
stem(n,y,'filled'),grid on
xlabel('n'),title('系统响应y(n)')

2. 离散时间系统的单位取样响应

系统的单位取样响应定义为系统在 δ ( n ) \delta (n) δ(n) 激励下系统的零状态响应,用 h ( n ) h(n) h(n) 表示。

Matlab 求解单位取样响应可利用函数filter,并将激励设为单位抽样序列。

例如,求解实例2-1 中系统的单位取样响应时,MATLAB 源程序为:

a=[3 -4 2];
b=[1 2];
n=0:30;
x=(n==0);% 产生单位抽样序列
h=filter(b,a,x);
stem(n,h,"fill"),grid on
xlabel('n'),title('系统单位取样响应h(n)')

Matlab另一种求单位取样响应的方法是利用控制系统工具箱提供的函数impz来实现。

a=[3 -4 2];
b=[1 2];
%%%
% 函数名:impz(b,a,N)
% 功能:求离散系统的单位响应并绘出图形
% 格式:其中,a 为响应的系数行向量,b 为激励的系数行向量,参数N通常为正整数,代表计算单位取样响应的样值个数。
impz(b,a,30);
%%%
grid on;
title('系统单位取样响应h(n)');

程序运行结果如图2-3 所示,比较图2-1 和图2-2,不难发现结果相同。

3. 离散时间信号的卷积和运算

【例2-2】利用Matlab 的conv 命令求两个长为4 的矩形序列的卷积和。

即: g ( n ) = [ u ( n ) − u ( n − 4 ) ] ∗ [ u ( n ) − u ( n − 4 ) ] \textrm{g}\left(n\right)=\left\lbrack u\left(n\right)-u\left(n-4\right)\right\rbrack *\left\lbrack u\left(n\right)-u\left(n-4\right)\right\rbrack g(n)=[u(n)u(n4)][u(n)u(n4)]

x1=ones(1,4);
x2=ones(1,4);
%%%
% 函数名f=conv(f1,f2)
% 功能:求卷积
% 格式:f1,f2 为参与卷积运算的两个序列,f 为卷积的结果,f 的长度为length(f1)+length(f2)-2
g=conv(x1,x2);
%%%
n=0:length(x1)+length(x2)-2;
stem(n,g,'filled'),grid on,xlabel('n')

【例2-3】已知某系统的单位取样响应为 h ( n ) = 0. 8 n [ u ( n ) − u ( n − 8 ) ] h\left(n\right)=0.8^n \left\lbrack u\left(n\right)-u\left(n-8\right)\right\rbrack h(n)=0.8n[u(n)u(n8)] ,试求Matlab 求当激励信号为 x ( n ) = u ( n ) − u ( n − 4 ) x\left(n\right)=u\left(n\right)-u\left(n-4\right) x(n)=u(n)u(n4) 时,系统的零状态响应。

解:Matlab 中可通过卷积求解零状态响应,即 x ( n ) ∗ h ( n ) x\left(n\right)*h\left(n\right) x(n)h(n) 。由题意可知,

描述 h ( n ) h\left(n\right) h(n) 向量的长度至少为 8,描述 x ( n ) x\left(n\right) x(n) 向量的长度至少为 4,因此为了图形

完整美观,我们将 h ( n ) h\left(n\right) h(n) 向量和 x ( n ) x\left(n\right) x(n) 向量加上一些附加的零值。

addpath('.\2024-2025(1)《信号处理实验》资料(请拷贝到u盘中,每次试验带到实验室)\实验中用到的一些函数和音频图像文件');% 定义x(n)向量显示范围(添加了附加的零值)
nx = -1:5;
% 定义h(n)向量显示范围(添加了附加的零值)
nh = -2:10;% 生成单位阶跃序列
x = uDT(nx) - uDT(nx-4);
% 生成h(n)序列
h = 0.8.^nh .* (uDT(nh) - uDT(nh-8));% 计算卷积
y = conv(x, h);% 计算卷积结果的起始点和终点
ny1 = nx(1) + nh(1);
ny2 = nx(end) + nh(end);
ny = ny1:ny2;% 绘制x(n)的图像
subplot(311);
stem(nx, x, 'fill');
grid on;
xlabel('n');
title('x(n)');
axis([-4 16 0 3]);% 绘制h(n)的图像
subplot(312);
stem(nh, h, 'fill');
grid on;
xlabel('n');
title('h(n)');
axis([-4 16 0 3]);% 绘制y(n)的图像
subplot(313);
stem(ny, y, 'fill');
grid on;
xlabel('n');
title('y(n) = x(n) * h(n)');
axis([-4 16 0 3]);

实验内容

(1)试用Matlab 命令求解以下离散时间系统的单位取样响应,并判断系统的稳定性。

$ 1)~~3y\left(n\right)+4y\left(n-1\right)+y\left(n-2\right)=x\left(n\right)+x\left(n-1\right) $

clear;
clc;
close;a1=[3 4 1];
b1=[1 1];
n=0:30;
x=(n==0);% 产生单位抽样序列
h=filter(b1,a1,x);
subplot(211);
stem(n,h,"fill")
grid on
xlabel('n')
title('filter法-系统单位取样响应h(n)')subplot(212);
impz(b1,a1,30);
grid on;
title('impz法-系统单位取样响应h(n)');
%%%
% 函数名:zplane(b,a)
% 功能:得到系统函数H(z)的零极点分布图
% 格式:其中b和a分别表示H(z)的分子和分母多项式的系数向量,函数的作用是在z平面上画出单位圆,零点和极点。
%%%
zplane(b1,a1);

$ 2)~~\frac{5}{2}y\left(n\right)+6y\left(n-1\right)+10y\left(n-2\right)=x\left(n\right) $

close;
a2=[5/2 6 10];
b2=[1];
n=0:30;
x=(n==0);% 产生单位抽样序列
h=filter(b2,a2,x);
subplot(211)
stem(n,h,"fill")
grid on
xlabel('n')
title('filter法-系统单位取样响应h(n)')
subplot(212)
impz(b2,a2,31)
axis([0 30 -3*10^8 2*10^8]);
grid on
title('impz法-系统单位取样响应h(n)')
zplane(b2,a2);

(2)已知某系统的单位取样响应为 h ( n ) = ( 7 8 ) n [ u ( n ) − u ( n − 10 ) ] h\left(n\right)={\left(\frac{7}{8}\right)}^n \left\lbrack u\left(n\right)-u\left(n-10\right)\right\rbrack h(n)=(87)n[u(n)u(n10)] , 试用MATLAB 求当激励信号为 x ( n ) = u ( n ) − u ( n − 5 ) x\left(n\right)=u\left(n\right)-u\left(n-5\right) x(n)=u(n)u(n5) 时,系统的零状态响应。

clear;
addpath('.\2024-2025(1)《信号处理实验》资料(请拷贝到u盘中,每次试验带到实验室)\实验中用到的一些函数和音频图像文件');
% 定义x(n)向量显示范围(添加了附加的零值)
nx = -1:6;
% 定义h(n)向量显示范围(添加了附加的零值)
nh = -1:11;% 生成单位阶跃序列
x = uDT(nx) - uDT(nx-5);
% 生成h(n)序列
h = (7/8).^nh .* (uDT(nh) - uDT(nh-10));% 计算卷积
y = conv(x, h);% 计算卷积结果的起始点和终点
ny1 = nx(1) + nh(1);
ny2 = nx(end) + nh(end);
ny = ny1:ny2;% 绘制x(n)的图像
subplot(311);
stem(nx, x, 'fill');
grid on;
xlabel('n');
title('x(n)');
axis([-4 18 0 2]);% 绘制h(n)的图像
subplot(312);
stem(nh, h, 'fill');
grid on;
xlabel('n');
title('h(n)');
axis([-4 18 0 2]);% 绘制y(n)的图像
subplot(313);
stem(ny, y, 'fill');
grid on;
xlabel('n');
title('y(n) = x(n) * h(n)');
axis([-4 18 0 4]);

(3)用数字图像处理中的Sobel 算子,调用conv2 函数对lena 图像进行滤波。

设两个3×3 的Sobel 矩阵算子Gx=[-1 0 1;-2 0 2;-1 0 1],Gy=[1 2 1;0 0 0;-1-2 -1]。

  1. 读取lena 图像数据,保存到B 矩阵中;

  2. 分如下三种情况对B 进行卷积滤波

     ① 采用Gx 与B 进行卷积;

     ② 采用Gy 与的B 进行卷积;

     ③ 先采用Gx 与B 进行卷积,然后再采用Gy 与B 进行卷积;

     ④ 在一个figure 中,分四个子图显示出:原始图像,经过Gx 卷积滤波后

图像、经过Gy 卷积滤波后图像,先后采用Gx 和Gy 与的B 进行卷积滤波后

的图像,观察滤波后的图像的效果。

clear;
% 定义Sobel算子
Gx = [-1 0 1; -2 0 2; -1 0 1];
Gy = [1 2 1; 0 0 0; -1 -2 -1];% 读取Lena图像
B = imread('.\2024-2025(1)《信号处理实验》资料(请拷贝到u盘中,每次试验带到实验室)\实验中用到的一些函数和音频图像文件\lena.bmp') 
B = 512x512 uint8 矩阵    131   136   133   132   137   137   135   138   133   134   132   128   128   129   126   122   122   120   118   116   113   108   103    99    84    86    77    74    71    67    68    60    59    57    52    56    67    67    62    65    70    73    67    64    70    71    72    79    73    74134   135   132   134   139   133   130   138   140   138   133   126   124   124   122   118   122   120   118   117   114   109   103    98    91    94    81    76    70    65    66    57    60    69    70    68    66    59    60    73    75    75    73    72    71    71    70    71    80    69136   129   137   134   130   135   132   133   135   130   127   128   131   131   126   121   121   114   116   115   108   107   102    90    89    84    78    84    70    69    60    57    55    54    56    60    56    67    59    65    68    72    77    76    69    65    71    80    74    76137   130   137   135   131   135   132   132   135   131   128   129   132   132   127   122   124   122   117   112   114   109   102    99   100    89    76    76    62    66    65    67    62    62    65    67    64    73    67    73    58    62    69    73    70    65    65    68    76    77137   132   137   135   131   134   133   132   135   132   129   129   132   132   128   124   127   125   116   110   115   108   105   103    97    89    79    81    67    69    64    64    56    57    62    62    59    66    62    69    66    66    69    74    75    73    73    75    75    71137   133   136   136   132   133   133   131   134   130   128   128   130   130   127   124   127   120   115   112   114   104   108   101    95    87    79    83    69    69    63    61    53    53    60    58    56    61    59    65    67    67    70    74    75    73    75    79    76    79136   134   134   136   132   131   134   130   131   128   126   126   128   128   126   124   124   120   115   114   120   103   108    99    90    85    79    83    70    69    61    58    62    60    68    65    66    68    67    72    63    68    77    82    80    74    74    78    65    66134   133   132   135   132   130   135   130   129   127   125   125   126   126   125   124   121   125   116   113   131   105   105   103    89    83    77    83    69    69    61    59    64    60    68    63    68    69    68    70    68    72    79    82    78    73    75    80    72    78132   132   130   134   131   129   136   130   129   127   126   125   126   127   126   126   120   125   114   111   132   102   105   103    96    86    75    76    63    67    66    68    60    53    60    55    64    65    63    62    71    70    70    71    69    66    68    73    76    74131   132   129   134   131   129   136   130   130   128   127   126   127   127   127   127   120   119   111   110   125    97   107   100    92    85    77    82    69    71    66    66    64    55    61    56    67    68    65    63    76    73    73    76    77    74    70    68    77    73

% ① 采用Gx与B进行卷积
B_Gx = conv2(B, Gx, 'same');% ② 采用Gy与B进行卷积
B_Gy = conv2(B, Gy, 'same');% ③ 先采用Gx与B进行卷积,然后再采用Gy与B进行卷积
B_Gx_Gy = conv2(B_Gx, Gy, 'same');% ④ 在一个figure中,分四个子图显示图像
figure;
subplot(2,2,1), imshow(B), title('原始图像');
subplot(2,2,2), imshow(B_Gx, []), title('Gx卷积滤波后图像');
subplot(2,2,3), imshow(B_Gy, []), title('Gy卷积滤波后图像');
subplot(2,2,4), imshow(B_Gx_Gy, []), title('Gx和Gy卷积滤波后图像');

原始图像:未经处理的灰度图像。

Gx卷积滤波后图像:突出水平边缘。

Gy卷积滤波后图像:突出垂直边缘。

Gx和Gy卷积滤波后图像:结合两者,全面突出边缘。

思考题

(1) Matlab 的工具箱函数conv,能用于计算两个有限长序列之间的卷积,但conv 函数假定这两个序列都从n=0 开始。试编写M 文件计算x(n) = [3,11,7,0,−1,4,2],−3≤ n ≤ 3 和 h(n) = [2,3,0,−5,2,1],−1≤ n ≤ 4 之 间 的 卷积,并绘制y(n)的波形图。

close;
clear;
% 定义序列 x(n) 和 h(n)
nx = -3:3; % n 的范围
x = [3, 11, 7, 0, -1, 4, 2]; % x(n)nh = -1:4; % n 的范围
h = [2, 3, 0, -5, 2, 1]; % h(n)% 计算卷积
y = conv(x, h);% 定义 y(n) 的范围
ny = nx(1) + nh(1) : nx(end) + nh(end); % y(n) 的范围% 绘制x(n)的图像
subplot(311);
stem(nx, x, 'fill');
grid on;
xlabel('n');
title('x(n)');
axis([-4 8 -5 15]);% 绘制h(n)的图像
subplot(312);
stem(nh, h, 'fill');
grid on;
xlabel('n');
title('h(n)');
axis([-4 8 -5 5]);% 绘制y(n)的图像
subplot(313);
stem(ny, y, 'fill');
grid on;
xlabel('n');
title('y(n) = x(n) * h(n)');
axis([-4 8 -80 80]);

(2) 在数字图像处理边缘检测技术中,除了Sobel 算子外,还有哪些边缘检测算子?通过查找资料,选择某种边缘检测算子,在Matlab 平台上编程实现对lena 或其他图像进行边缘检测,显示出原图和边缘检测后的图像。

  • Prewitt 算子
  • Canny 边缘检测
  • Roberts 交叉梯度算子
  • Laplacian 边缘检测
  • Scharr 算子

数字图像处理(19): 边缘检测算子(Roberts算子、Prewitt算子、Sobel算子 和 Laplacian算子)_ubuntu写出roberts、sobel、laplace边缘检测算法-CSDN博客

图像特征与边缘检测:从Sobel算子到Canny边缘检测【计算机视觉】-CSDN博客

clear;
% 读取图像
img = imread([...'.\2024-2025(1)《信号处理实验》资料(请拷贝到u盘中,每次试验带到实验室)\实验中用到的一些函数和音频图像文件\lena_colour.bmp'% '运动.jpg'% '东方明珠.jpg']);
img_RGB = img; % MATLAB 读取图像默认是 RGB 格式% 灰度化处理图像
grayImage = rgb2gray(img);% 高斯滤波
gaussianBlur = imgaussfilt(grayImage, 1); % 1 为标准差% 阈值处理
binary = imbinarize(gaussianBlur, 0.5); % 0.5 为阈值% Roberts算子
kernelx = [-1 0; 0 1];
kernely = [0 -1; 1 0];
x_roberts = imfilter(double(binary), kernelx);
y_roberts = imfilter(double(binary), kernely);
Roberts = uint8(sqrt(x_roberts.^2 + y_roberts.^2));% Prewitt算子
kernelx = [1 1 1; 0 0 0; -1 -1 -1];
kernely = [-1 0 1; -1 0 1; -1 0 1];
x_prewitt = imfilter(double(binary), kernelx);
y_prewitt = imfilter(double(binary), kernely);
Prewitt = uint8(sqrt(x_prewitt.^2 + y_prewitt.^2));% Sobel算子
Sobel_x = imfilter(double(binary), fspecial('sobel'));
Sobel_y = imfilter(double(binary), fspecial('sobel')');
Sobel = uint8(sqrt(Sobel_x.^2 + Sobel_y.^2));% Laplacian算子
Laplacian = uint8(imfilter(double(binary), fspecial('laplacian')));% 显示图像
figure;
subplot(2, 3, 1), imshow(img_RGB), title('原始图像'), axis off;
subplot(2, 3, 2), imshow(binary,[]), title('二值图'), axis off;
subplot(2, 3, 3), imshow(Roberts,[]), title('Roberts算子'), axis off;
subplot(2, 3, 4), imshow(Prewitt,[]), title('Prewitt算子'), axis off;
subplot(2, 3, 5), imshow(Sobel,[]), title('Sobel算子'), axis off;
subplot(2, 3, 6), imshow(Laplacian,[]), title('Laplacian算子'), axis off;
clear;

% 读取图像
img = imread('.\2024-2025(1)《信号处理实验》资料(请拷贝到u盘中,每次试验带到实验室)\实验中用到的一些函数和音频图像文件\lena_colour.bmp');
img_RGB = img; % MATLAB 读取图像默认是 RGB 格式% 灰度化处理图像
grayImage = rgb2gray(img);% 高斯滤波
gaussianBlur = imgaussfilt(grayImage, 1); % 1 为标准差% 阈值处理
binary = imbinarize(gaussianBlur, 0.); % 0.5 为阈值% Roberts算子(使用 conv2)
kernelx = [-1 0; 0 1];
kernely = [0 -1; 1 0];
x_roberts = conv2(double(binary), kernelx, 'same');
y_roberts = conv2(double(binary), kernely, 'same');
Roberts = uint8(sqrt(x_roberts.^2 + y_roberts.^2));% Prewitt算子(使用 conv2)
kernelx_prewitt = [1 1 1; 0 0 0; -1 -1 -1];
kernely_prewitt = [-1 0 1; -1 0 1; -1 0 1];
x_prewitt = conv2(double(binary), kernelx_prewitt, 'same');
y_prewitt = conv2(double(binary), kernely_prewitt, 'same');
Prewitt = uint8(sqrt(x_prewitt.^2 + y_prewitt.^2));% Sobel算子(使用 conv2)
Sobel_x = conv2(double(binary), fspecial('sobel'), 'same');
Sobel_y = conv2(double(binary), fspecial('sobel')', 'same');
Sobel = uint8(sqrt(Sobel_x.^2 + Sobel_y.^2));% Laplacian算子(使用 conv2)
Laplacian = uint8(conv2(double(binary), fspecial('laplacian'), 'same'));% 显示图像
figure;
subplot(2, 3, 1), imshow(img_RGB), title('原始图像'), axis off;
subplot(2, 3, 2), imshow(binary, []), title('二值图'), axis off;
subplot(2, 3, 3), imshow(Roberts, []), title('Roberts算子'), axis off;
subplot(2, 3, 4), imshow(Prewitt, []), title('Prewitt算子'), axis off;
subplot(2, 3, 5), imshow(Sobel, []), title('Sobel算子'), axis off;
subplot(2, 3, 6), imshow(Laplacian, []), title('Laplacian算子'), axis off;

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

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

相关文章

.NET Core发布网站报错 HTTP Error 500.31

报错如图: 解决办法: 打开任务管理器》》服务》》找到这仨服务,右键启动即可,如果已经启动了就重启:

FFmpegFrameRecorder 切分视频文件时结束条件设置不当导致切分后的文件过短问题

问题 下游反馈使用 ffmpeg 切割后的音频文件,无法正确识别其声音的性别 排查流程 1,由于线上大部分用户上传音频后,进行切分后的音频都没问题,因此考虑到这些无法识别性别的音频,有格式问题,需要找出其共…

真题-桂城2018年六年级

01.整点 题目描述 在二维坐标系, 有一个圆&#xff0c;圆心在(0,0)&#xff0c;圆的半径是r。问圆内有多少个整点(所谓的整点就是横坐标和纵坐标都是整数的点)。 若点P的横坐标是整数a&#xff0c;纵坐标是整数b&#xff0c;那么只要满足aa bb < r*r, 那么P就是圆内的整点…

【快捷入门笔记】mySQL基本操作大全-运算符和句子

一、ORDER BY 排序 排序方式 1.升序&#xff1a;ASC&#xff08;默认就是升序&#xff09; 2.降序&#xff1a;DESC 3.如果有多个排序条件&#xff0c;前面的值一样时才会判断第二条件 --按照数学成绩排序 select*from Student ORDER BY math --按照数学成绩排序&#xff0c;…

麒麟安全增强-kysec

DAC: 自主访问控制是linux下默认的接入控制机制,通过对资源读、写、执行操作,保证系统安全 MAC:安全接入控制机制,由操作系统约束的访问控制,默认情况下,MAC不允许任何访问,用户可以自定义策略规则制定允许什么 ,从而避免很多攻击。 MAC强制访问控制常见的实现方式:…

java多线程——synchronized的偏向锁、轻量级锁和重量级锁

在Java中&#xff0c;synchronized关键字是用于实现线程同步的一种机制&#xff0c;它提供了偏向锁、轻量级锁和重量级锁三种锁状态来优化同步性能。以下是这三种锁的原理和使用方法的详细解释&#xff1a; 一、偏向锁&#xff08;Biased Locking&#xff09; 原理 偏向锁的目…

Otter 安装流程

优质博文&#xff1a;IT-BLOG-CN 一、背景 随着公司的发展&#xff0c;订单库的数据目前已达到千万级别&#xff0c;需要进行分表分库&#xff0c;就需要对数据进行迁移&#xff0c;我们使用了otter&#xff0c;这里简单整理下&#xff0c;otter 的安装过程&#xff0c;希望对…

速盾:ddos防御手段哪种比较好?高防cdn怎么样?

DDoS&#xff08;分布式拒绝服务&#xff09;攻击是一种威胁网络安全的常见攻击手段。为了保护网站和服务器免受DDoS攻击的影响&#xff0c;许多安全专家和公司开发了各种防御手段。在这篇文章中&#xff0c;我们将重点讨论一种常见的DDoS防御手段——高防CDN&#xff08;内容分…

faiss VS ChromaDB

faiss faiss 是一个开源的机器学习库&#xff0c;由Facebook AI Research&#xff08;FAIR&#xff09;开发&#xff0c;主要用于高效的大规模向量搜索和聚类。 faiss 的核心优势在于它为高维向量空间中的数据提供了快速的近似最近邻搜索&#xff08;ANNS&#xff09;算法&am…

微信小程序导航方式详解:声明式导航与编程式导航

微信小程序导航方式详解:声明式导航与编程式导航 引言 在微信小程序的开发中,页面导航是实现用户交互的重要组成部分。小程序提供了两种主要的导航方式:声明式导航和编程式导航。了解这两种导航方式的特点、使用场景及其优缺点,对于提升小程序的用户体验和开发效率至关重…

如何解决Jupyter command `jupyter-contrib` not found.

目录 (base) C:\Users\hello>pip show jupyter_contrib_nbextensions Name: jupyter-contrib-nbextensions Version: 0.7.0 Summary: A collection of Jupyter nbextensions. Home-page: https://github.com/ipython-contrib/jupyter_contrib_nbextensions.git Author: ipyt…

Gitee markdown 使用方法(持续更新)

IPKISS 获取仿真器件的名称 引言正文标题换行第一种------在行末尾手动键入两个空格第二种------额外换行一次&#xff0c;即两行中间留一个空行 缩进与反缩进代码块行内代码添加图片添加超链接 加粗&#xff0c;倾斜&#xff0c;加粗倾斜 引言 有些保密性的文件或者教程&…

Adobe Illustrator 2024 安装教程与下载分享

介绍一下 下载直接看文章末尾 Adobe Illustrator 是一款由Adobe Systems开发的矢量图形编辑软件。它广泛应用于创建和编辑矢量图形、插图、徽标、图标、排版和广告等领域。以下是Adobe Illustrator的一些主要特点和功能&#xff1a; 矢量绘图&#xff1a;Illustrator使用矢量…

golang学习5

为结构体添加方法 异常处理过程

分布式光伏与储能协调控制策略的应用分析

安科瑞汪洋/汪小姐/汪女士---Acrelwy 摘 要&#xff1a;针对光伏发电的随机性、波动性、间歇性特征,研发了分布式光伏与储能协调控制策略,并在镇江地调开展分布式电源光储协控试点应用&#xff0c;开展光储协调控制策略研究&#xff0c;实时采集分布式光伏电站、储能电站、试点…

sd webui整合包怎么安装comfyui

环境: sd webui整合包 comfyui 问题描述: sd webui整合包怎么安装comfyui 扩展安装不成功 解决方案: 1.直接下载 ,解压到SD文件夹里(或者git拉一下) 2.ComfyUI模型共享:如果本机部署过Webui,那么ComfyUI可以与WebUI公用一套模型,防止复制大量模型浪费空间 将…

Utf8Json 枚举序列化为整型(默认string)

Utf8Json 枚举序列化为整型 找到 StandardResolver.cs, 更换EnumResolver. Default 为EnumResolver. UnderlyingValue

网络基础 - 地址篇

一、IP 地址 IP 协议有两个版本&#xff0c;IPv4 和 IPv6IP 地址(IPv4 地址)是一个 4 字节&#xff0c;32 位的正整数&#xff0c;通常使用 “点分十进制” 的字符串进行表示&#xff0c;例如 192.168.0.1&#xff0c;用点分割的每一个数字表示一个字节&#xff0c;范围是 0 ~…

Jackson:Java对象和JSON字符串的转换处理库使用指南

Jackson介绍 Jackson 是一个非常流行的 Java JSON 处理库&#xff0c;它能够将 Java 对象与 JSON 字符串相互转换。 Jackson 工具主要用于将请求的参数&#xff08;例如前端发送的 JSON 数据&#xff09;和响应的数据&#xff08;例如后端返回给前端的数据&#xff09;转换成…

Vue3+SpringBoot3+Sa-Token+Redis+mysql8通用权限系统

sa-token支持分布式token 前后端代码&#xff0c;地球号: bright12389