MATLAB——知识点备忘

news2024/11/18 12:46:23

最近在攻略ADC建模相关方面,由好多零碎的知识点,这里写个备忘录。

Matlab 判断一个数是否为整数

1. isinteger 函数

MATLAB中,可以使用 isinteger 函数来判断一个数是否为整数,例如:要判断x是否为整数可以采用以下代码

if isinteger(x)
    disp('x是整数')
else
    disp('x不是整数')
end

2. fix 或者 round 函数

 通过对变量x取整,然后再和原值对比,判断取整后的结果,如果等于原值,则为整数。

if x==fix(x)
    disp('x为整数')
end

if x==round(x)
    disp('x为整数')
end

3. rem 函数

用求余函数 rem(x, 1) 来求,返回值0就是整数,返回值非0就是非整数

if rem(x, 1)==0
    disp('x为整数')
end

Matlab 判断一个数的数据类型

        在Matlab中,可以使用 class 函数来判断变量的数据类型。该函数返回变量的数据类型名称。例如,class(var) 可以给出变量var的数据类型。另外,还可以使用 isa 函数来判断一个变量是否属于某个特定的类别。该函数返回一个逻辑值,如果变量属于指定的类别,则返回1表示"真”,否则返回0表示“假”。在代码中,可以使用 class函数isa函数 来进行数据类型的判断和比较。

如何用matlab计算二进制加法

方法一:

Q:  比如两个二进制数,0010+1100=?
      如何matlab实现?
A:  二进制也好十进制也好都是一种表现形式,数据实际的值是不会因为你使用二进制还是十进制变化的
        其实正如上面的问答所说,进制不过是相互转换,加减法是与进制无关的。我们只需要知道加法、减法和乘2这类运算对于硬件来说比较简单就行了。在matlab仿真如果还需要先转化为二进制再计算,就绕远路了。
        例如要计算0010 + 1100,可以直接在matlab计算 2 + 12,再把结果14转化为二进制数即可。

方法二:

Matlab Case 语句

      单个的就如同C语言中的一样,不过在和switch使用的时候case后不用接 “:”

n = input('Enter a number: ');
 
switch n
    case -1
        disp('negative one')
    case 0
        disp('zero')
    case 1
        disp('positive one')
    otherwise
        disp('other value')
end

Matlab 通过整除判断倍数

      可通过 fix 截尾取整进行判断,示例:判断一个数是否为5 的倍数

m=12;
if fix(m/5)==m/5
% 如果是5 的倍数,则输出为1
end

Matlab 计算倍数

        在Matlab中,可以通过使用趋于运算符(mod)来计算一个数是否是另一个数的倍数。如果一个数a是另一个数b的倍数,则 mod(b,a)==0
        例如,要判断一个数×是否是3的倍数,可以使用以下代码:

X=15; % 要判断的数
multiple=3; % 倍数

if mod(x,multiple) == 0
    disp('x是multiple的倍数');
else
    disp('x不是multiple的倍数');
end

Matlab 中计算最小公倍数

        Matlab中计算最小公倍数的函数是 lcm ,使用方法如下:

lcm(x,y);

% 示例代码
lcm(6,8) % 输出结果为 6和8的最小公倍数 24

        其中,x 和 y 是要计算最小公倍数的两个数。

Matlab 在工作区显示函数内的变量

        在通常情况下,matlab的工作区中不会显示函数内的变量。

方法一:以函数输出的形式定义希望输出的变量:
        这里的A、B、C 可以定义为结构体,好更方便的输出更多的变量。

function [A, B, C] = fucntion_name(D, E, F)
% 这里的A B C 可以定义为结构体,好更方便的输出更多的变量

方法二:使用 save  load 函数,具体方法为:
        这里会将 变量 保存在 文件名.mat 文件里,可省略 变量名 ,这样可以将当前所有变量存在 文件名.mat 文件里,load 时也可以省略 文件名。

save 变量名 文件名 

load('文件名.mat', 变量名)

方法三:使用断点:

        可以在子程序内部设置断点,然后开始运行,当停在子程序时workspace即显示子程序变量。按F10即可进行单步调试。        

Matlab 控制数值精度(保留有效数字,小数点后几位)

方法一:vpa 函数 
        控制有效数数字位数:

digits(5); %定义精度
a=vpa(sqrt(2)); %a=1.4142

% 或者单独使用 vpa
a=vpa(sqrt(2),5); %a=1.4142

方法二:roundn 函数
        可以用来控制小数点前后多少位,负数表示小数点后,正数表示小数点前。
        注意与 round 的区别。round 表示把小数往最接近的整数取整

a=roundn(sqrt(2),-4); %a=1.4142

Matlab 结构体的创建和使用

        对于有C语言基础的使用者,结构体这个词你可能很熟悉。
        与元胞(cell)类型一样,结构体也可以存储任意类型的数据。当然,它们也存在许多不同点。最大的不同点是,结构体是以不同名字的字段作为存储容器,每个字段都可以存储任意类型的数据。此外,若要构建结构体数组,则要求每个结构体的字段数目和字段名字必须相同。下面将讲述结构体数组,单个结构体也视为1x1的结构体数组。
1. 结构体的创建
       
接直接定义字段,对 结构体变量名.字段名 赋值(字段的命名规则和变量一样),并且像使用一般 Matlab 变量一样,不需要事先声明,支持动态扩充

% 单个结构体
Student.name = 'wangx';
Student.sex = 'Male';
Student.height = '170';

% 多个结构体
Student(2).name = 'zhangsan';
Student(2).sex = 'Male';
Student(2).height = 172;

        或者使用函数 struct() 创建。调用格式struct(name1,data1,name2,data2....),注意这里的数据要用大括号括起来
        node = struct('name', {'xiezhh', 'heping'}, 'age',{31, 22})
        node(1).name

% 1x1的结构体数组
s1 = struct;            % 不含字段
s2 = struct('name', '李四', 'gender', 'male');
 
% 1x2的结构体数组
s3 = struct('name', {'张三', '李四'}, 'gender', 'male');    % 通过元胞数组,来创建多结构体的结构体数组
s3
s3_1 = s3(1)
s3_2 = s3(2)

代码运行结果如下。注:函数的字段参数不能重复。因此,若要创建多结构体的结构体数组,必须使用元胞数组。

2. 结构体数组的访问
        结构体数组的访问很简单。这里不展示代码,以文字叙述。

  • 访问结构体数组中某个结构体的某个字段:先对结构体数组进行索引,得到待访问的结构体。再通过待访问的结构体.字段名获取该结构体的该字段的数据。此外,如果该字段的数据是一个数组,还可以对该数组进一步索引。
  • 访问结构体数组中所有结构体的某个字段:直接通过 结构体数组.字段名,结果相当于一个逗号间隔的式子:结构体1.字段名, 结构体2.字段名, 结构体3.字段名 ...

3. 结构体数组的拼接

结构体数组的拼接也很简单,和其它类型的拼接是一样的,这里不展示代码,只叙述它要遵循的纬度规则。

  • 水平拼接:待拼接的结构体数组的行数相等。
  • 垂直拼接:待拼接的结构体数组的列数相等。

4. 结构体数组的操作函数

有很多函数可以作用于结构体数组,下面举几个常用函数的简单用法。

  • isfield(),判断输入的字段是否为输入结构体数组的字段。
  • rmfield(),删除结构体中的字段。
% 1x3的结构体数组
s = struct('name', {'张三', '李四', '王二麻子'}, 'gender', 'male', 'age', {18, 20, 'unknown'});
 
% 函数isfield()
fieldStatus = isfield(s, {'name', 'gender'})
 
% 函数rmfield()
s_new = rmfield(s, {'name', 'gender'})
s

代码运行结果如下。

Matlab 多个10进制数转成指定位宽的2进制矩阵

        可以使用以下方法将Dec中的十进制数,转换为二进制数组

Dec = 4
Bar = dec2bin(Dec, Nbit)  % Bar='100'
for i = 1:length(Bar)
    D(i) = str2num(Bar);  % D = [1 0 0]
end

Matlab 实现二进制运算

        在MATLAB中进行二进制运算,可以使用位运算符,包括按位与(&)、按位或()、按位异或()、按位取反(~)以及左移(<<)和右移(>>)。
        例如,对两个二进制数进行按位与运算,可以使用以下代码:

a = bin2dec('1010');%将二进制数转换为十进制
b = bin2dec('1100');
result=bitand(a,b); % 按拉与运算
dec2bin(result) %为将十进制结果转换为二进制

        输出结果为:

result = 8;ans = 1000

        其中,bin2dec 函数将二进制转换为十进制数,bitand 函数执行按位与运算,dec2bin 函数将十进制转换为二进制数。

        Matlab可以进行二进制运算,可以使用bitand、bitor、bitxor、bitcmp等函数进行按位与、按位或、按位异或和按位取反等操作。此外,还可以使用dec2bin和bin2dec函数进行十进制和二进制之间的转换。如果需要产生伪随机二进制序列,可以使用randn函数和逻辑运算符进行操作。如果需要进行二进制加法,可以使用类似于全加器的方法进行多位二进制加法器的设计。

Matlab 有符号十进制转二进制 matlab

        matlab 调用 dec2bin() 函数,传入负数就报错,做个笔记吧——新版Matlab已解决

% 当数字a大于0的时候,直接调用函数
bin = dec2bin( a, 8 );  		% 8 是指变成8位的二进制数,例如 a = 3 ,则 bin 就是 0000_0011

% 当数字a小于0的时候
bin = dec2bin( a + 2^8 , 8 ); 	% 8 还是8位的意思,比如 a = -3 ,则 bin 就是 1111_1101 

% 操作一个一维数组的时候就可以这样来
% =====  array 是一个一维数组  ===== %
for i = 1 :length(array )
    if(array (i) <0)
        array (i) = array (i) + 2^8;
    end
end

ans = dec2bin(array , 8 ); 		%这个函数 可以直接把数组作为参数输入

% 例子里面的 8 是指位数,如果需要转化成16位的,就把 所有的 8 换成 16 !

        dec2bin() 函数会把大于0的整数转换成指定位数的二进制字符串,比如把十进制的 3 转化成 8位的二进制就是:0000_0011 ;
        小于0的数转化成二进制,应该是转化成对应正整数的补码( 按位取反 再 + 1),比如3的8位的按位取反就是:1111_1100 ; 为什么要 + 1呢?如果不 + 1,那么 0000_0011 + 1111_1100 就会得到 1111_1111 ,给他加个 1 就变成了 1_0000_0000 ,如果指定了 8 位 ,那么就会直接抛弃第一个1 ,结果就是 0000_0000 ,所以这样 按位取反 再 +1 的操作就是为了对应 3 + (-3) = = 0 这样的计算结果。
        有了上面的基础,就可以着手准备利用好dec2bin()函数了;思路就是 把负数 a 的补码( 绝对值的按位取反 再 + 1),对应的 十进制 的 整数 b 找到,完了dec2bin(b , 8);有点绕啊,还是举例子,-3 的 补码是 1111_1101,这个字符串对应的十进制就是 253 ; 而 -3 + 2^ 8 == 253;

 power(2,0) + power(2,2)++ power(2,3)+ power(2,4)+ power(2,5)+ power(2,6)+ power(2,7) == 253

结论:

正数:直接 dec2bin();
负数:先给负数 加一个 2^n ,然后再用 dec2bin();

Matlab 满足条件后不再向下执行的语句

        在编写Matlab程序过程中,有时会遇到当程序运行到不满足if条件时让程序跳出,停止运行的情况,在MATLAB中,使用 return 语句实现程序跳出。

a = 1;                  % 定义一个变量a
flag = 1;              % 定义一个标准量 
if 1
    if flag == a       %判断a与flag是否相等 
        disp('0');    %如果相等,命令行打印0
        return;       %不再向下执行 
        disp('1');    %return 后的语句不执行
    else 
        disp('2');    %如果不相等,命令行打印2
    end
else
    disp('3');        %外层if对应的else,命令行打印3,
end
disp('4');            %命令行打印4

        程序运行后,命令行窗口打印0,可以证明在程序执行return后,以后的程序都不运行。
        只将以上程序中变量a的值变为0,程序运行后,命令行窗口打印2,4。
        只将以上程序中第一个if后的1变为0,程序运行后,命令行窗口打印3,4。
        以上程序则可以清楚的验证,执行了return语句后,程序不再运行下去。

Matlab 中的continue、break、return和 error 语句

Continue:
        经常用在for和while语句中,continue一旦被执行,就会终止当前循环,进行下一次循环。

% eg, 在for 循环中:
clc
clear all
close all

i = 1;
COND  = 1;

for i = 1:20
    if mod(i,2)==0
        continue
    else
    
    fprintf('the array is %d\n',i)
    end
end

% 结果是:
the array is 1
the array is 3
the array is 5
the array is 7
the array is 9
the array is 11
the array is 13
the array is 15
the array is 17
the array is 19

% 我们跳过了能够被2整除的数字,找出了剩下的数字
% eg:在while循环中

clc
clear all
close all

i = 1;
COND  = 1;

while COND ==1
    
   if mod(i,2)==0
       i = i+1;
        continue;
   else
    fprintf('the array is %d\n',i)
   end
   
   if i>=19
       COND = 2;
   end
    i = i+1;
end

% 这里可以看到,我们在符合while条件下的循环中,如果被2整除了,
% 那么就会跳过这个循环,直接进到下一个while循环下,从头开始执行。
% 再一次进入if 判断新的i是否满足整除要求。
% 结果如下:
the array is 1
the array is 3
the array is 5
the array is 7
the array is 9
the array is 11
the array is 13
the array is 15
the array is 17
the array is 19

break
        break和continue用法相似,区别在于,一旦执行了break, 就会推出循环,而不是进入下一个循环。在for循环中:我们在1:10中,到一个被3整除的,一旦找到了第一个,整个for循环就不会再执行了。但是要注意,只是不执行break所在的循环,其他的循环还是要执行的。

return:
        return 跳出函数,返回调用函数处。无论是while还是for,直接跳出函数,返回到调用函数之前。

%%
clc
clear all
close all

i = 1;
COND  = 1;

for i = 1:20
    if mod(i,2)==0
        return
    else
    
    fprintf('the array is %d\n',i)
    end
end
%%
clc
clear all
close all

i = 1;
COND  = 1;

while COND ==1
    
   if mod(i,2)==0
       i = i+1;
       return;
   else
    fprintf('the array is %d\n',i)
   end
   
   if i>=19
       COND = 2;
   end
    i = i+1;
end

% 执行这两段函数都是一个结果:
the array is 1
>> 

% 当i = 2时,函数就跳出了

        用一个更简单的例子说明,我们有一个很多层的if else 判断语句,这个时候用return 就很好,如果符合条件就可以直接跳出多层if else语句,而不需要把所有的if else 全部执行一遍再跳出。

clc
clear all
close all
flag = 20 ;
if flag <-10
      fprintf('y<-10\n')
      return
elseif flag >20
    fprintf('y>20\n')
    return
elseif flag >=-10 && flag <20
     fprintf('-10<=y<20\n')
     return
else fprintf('y=20\n')
     return
end
% 总结来说:
break       跳出循环;
continue    继续循环,(不执行 循环体内continue 后面的语句,直接进行下一循环)
return      跳出函数,返回调用函数 处。

信号延迟仿真的 Matlab 源码实现

        信号的延迟是数字信号处理中的一个重要概念,将介绍如何使用Matlab实现信号的延迟仿真,并给出相应的源代码实现。
        首先,我们需要定义一个信号并进行时域分析。在Matlab中,我们可以使用 "t=linspace(0,1,fs)" 生成一个时间轴,其中fs表示采样率,然后根据需要定义一个正弦波信号,如"x=si(2*pi*f*t)"表示频率为f的正弦波信号。
        接着,我们可以通过对信号进行时间延迟来模拟信号的传输过程。在Matlab中,我们可以使用”y=[zeros(1,delay),(1:end-delay)]”将信号向右移动delay个单位。其中,y表示延迟后的信号,x表示原始信号,zeros(1,delay)表示在x前面填充delay个零元素,(1:end-delay)表示去除x后面的delay个元素。
        最后,我们可以将延迟后的信号与原信号进行比较,从而验证延迟是否成功。在Matlab中,我们可以使用"plot(t,X,t,y)”将两个信号绘制在同一张图上,从而直观地比较它们的差异。
        下面是完整的Matlab源代码实现:

%% 信号延迟仿真

% 定义信号
fs = 1000; % 采样率
f = 10; % 频率
t = linspace(0, 1, fs); % 时间轴
x = sin(2 * pi * f * t); % 正弦波信号

% 模拟信号延迟
delay = 0.5 * fs; % 延迟时间
y = [zeros(1, delay), x(1:end-delay)]; % 延迟后的信号

% 绘制信号图像
figure;
subplot(2,1,1);
plot(t, x);
xlabel('time');
ylabel('Amplitude');
title('Original Signal');

subplot(2,1,2);
plot(t, y);
xlabel('time');
ylabel('Amplitude');
title('Delayed Signal');

Verilog实现任意时钟周期延时的方法

方法一:非阻塞赋值延时打拍

        这个方法是最简单的实现延时的方法,缺点是如果延时的周期比较长的话,要写的东西也会变得很多,通过这种方式可以把信号延时n个周期。

always @ (posedge clk) begin
     d1 <= d;
     d2 <= d1;
     .......
     dout <= dn;
end

方法二:移位寄存器延时

        这个方法也比较简单,实现起来也很容易,缺点是消耗的资源比较大

//延时N个时钟周期
parameter N=4;
reg [N-1:0] temp;
 
always @(posedge clk or negedge rst_n) begin
    if(!rst_n) begin
	    temp <= 0;
        end
    else if(in1) begin
        temp[N-1:0] <= {temp[N-2:0],in1};
    end
    else begin
        temp[N-1:0] <= {temp[N-2:0],1'b0};
    end
end
assign out1 = temp[N-1];

方法三:计数器实现任意周期延时

        该方法较为节省资源,能实现任意周期的延时

parameter delay_per = 8'h4;//延时周期数
reg flag;
reg [7:0] delay_count;
always @(posedge clk or negedge rst_n) begin
    if(!rst_n) begin
        flag <= 0;
        end
    else if(in1)begin
        flag <= 1;
        end
    else if(delay_count == delay_per)begin
        flag <= 0;
        end
end
always @(posedge clk or negedge rst_n) begin
    if(!rst_n)begin
        delay_count <= 0;
        out1 <= 0;
        end
    else if(delay_count == delay_per && flag == 1'b1)begin
        delay_count <= 0;
        out1 <= 1;
        end
    else if(flag == 1'b1)begin
        delay_count <= delay_count + 1'b1;
        out1 <= 0;
        end
    else begin
        delay_count <= 0;
        out1 <= 0;
    end
end

        介绍了三种实现信号周期延时的方法,但需要注意的是,在方法三中,如果信号间隔的周期数小于延时的周期,这种方法就不太合适了。此时推荐使用方法二,或者使用FIFO来实现信号延时。

% =========== 未完待续 ===========

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

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

相关文章

链式二叉树经典OJ题目(二)

目录 结构体及头文件&#xff1a; 1.二叉树的前序遍历 题目描述&#xff1a; 思路分析&#xff1a; 源码&#xff1a; 2.二叉树的翻转 题目描述&#xff1a; 思路分析&#xff1a; 源码&#xff1a; 3.另一颗子树 题目描述&#xff1a; 思路分析&#xff1a; 源码&…

蓝桥杯单片机真题实践篇

这里就不完全写思路过程代码什么的&#xff0c;这一篇文章就写我在训练真题中遇到的过程。 &#xff08;呜呜呜&#xff0c;时间不够辣&#xff0c;能做多少算多少吧....&#xff09; 十三届省赛题 问题1&#xff1a;数码管的数字消影不明显 &#xff08;参考&#xff1a;蓝…

Splunk Attack Range:一款针对Splunk安全的模拟测试环境创建工具

关于Splunk Attack Range Splunk Attack Range是一款针对Splunk安全的模拟测试环境创建工具&#xff0c;该工具完全开源&#xff0c;目前由Splunk威胁研究团队负责维护。 该工具能够帮助广大研究人员构建模拟攻击测试所用的本地或云端环境&#xff0c;并将数据转发至Splunk实例…

ARM架构学习笔记1-寄存器

ARM内部寄存器 有R0-R1516个寄存器 R0-R12通用目的寄存器Program status Register&#xff1a;程序状态寄存器 &#xff0c;用来保存某些状态的值保存:m3/m4架构保存在xPSR&#xff0c;coretex-A7架构保存在CPSR中XPSR是程序状态寄存器 MRS命令&#xff1a;表示Move to Regis…

Tuxera NTFS for Mac2023绿色免费版 免费的ntfs for mac 免费读写硬盘U盘工具

Tuxera NTFS 2023 Mac免费版是款适合Mac用户使用的磁盘读写工具。Tuxera NTFS 2023 Mac可以很好的帮助用户在Mac上打开、编辑、复制、移动或删除存储在Windows NTFS格式的USB驱动器上的文件。并且Tuxera NTFS 2023 Mac还可以无阻碍地使用各种文件系统磁盘&#xff0c;还能解决磁…

数据生成 | Matlab实现基于K-means和SVM的GMM高斯混合分布的数据生成

数据生成 | Matlab实现基于K-means和SVM的GMM高斯混合分布的数据生成 目录 数据生成 | Matlab实现基于K-means和SVM的GMM高斯混合分布的数据生成生成效果基本描述模型描述程序设计参考资料 生成效果 基本描述 1.Matlab实现基于K-means和SVM的GMM高斯混合分布的数据生成&#xf…

vivado 向 SVF 目标添加器件

向 SVF 目标添加器件 创建 SVF 目标后 &#xff0c; 可向其中添加器件以定义 SVF JTAG 器件链配置。 SVF JTAG 器件链配置应与目标硬件链相匹配 &#xff0c; 以 确保能正确执行 SVF 文件。 使用 Vivado IDE 单击“ ”按钮以向 SVF 链添加赛灵思器件或非赛灵思器件。…

法向量估计

法向量估计 1. 求解点P法向量的原理2. 法向量估计的证明3. 为什么求点P的法向量&#xff0c;需要使用以P为中心的邻域内的点&#xff1f;4. 法向量估计的应用和思考5. 权重法向量估计 1. 求解点P法向量的原理 已知有一组点 P ( p 1 , p 2 , p 3 , . . . , p n ) , p i ∈ R 3…

糖豆人打开失败或无法运行

一般就是网络不行&#xff0c;选择加速器加速就好了。 eg: (uu加速器) 一般直接点启动游戏就行。 如果提示找不到文件路径&#xff0c;或者说直接弹出steam的登录的话就是配置路径有问题。现在糖豆人已经不再steam平台了&#xff0c;应该是epic才对。 配置方法&#xff1a;…

普通人想要赚钱,就要坚持五个要点

最近都在努力搞钱&#xff0c;所以今天就围绕【持续赚钱】&#xff0c;分享一些心得体会。 普通人想要赚钱&#xff0c;就要坚持以下5点&#xff1a; 持续学习 持续破圈 持续行动 坚持长期利他 坚持长期主义 1、持续学习 要持续学习&#xff0c;做一个终身学习者。 只有保持空杯…

通用开发技能系列:Git

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 通用开发技能系列 文章&#xff0c;主要对编程通用技能Git进行学习 1.为什么使用版本控制系统 版本控制系统可以解决的问题 代码备份很重要版本控制很重要协同工作很重要责任追溯很重要 常见的版本控制系统 Gi…

【学习笔记】java项目—苍穹外卖day10

文章目录 苍穹外卖-day10课程内容1. Spring Task1.1 介绍1.2 cron表达式1.3 入门案例1.3.1 Spring Task使用步骤1.3.2 代码开发1.3.3 功能测试 2.订单状态定时处理2.1 需求分析2.2 代码开发2.3 功能测试 3. WebSocket3.1 介绍3.2 入门案例3.2.1 案例分析3.2.2 代码开发3.2.3 功…

Django环境搭建及测试

Django环境搭建及测试 一、安装 Python二、安装 Django三、终端命令创建 Django 项目四、运行 Django 项目五、访问 Django 网站 一、安装 Python 首先确保你的电脑上安装了 Python。 Python官网点击直达 官网下载后双击即可安装 第一个相当于快速安装&#xff0c;第二个则是…

【保姆级讲解如何计算机视觉入门】

&#x1f308;个人主页:程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

C++中的STL——vector类的基本使用

目录 vector介绍 vetor类定义 vector常见构造 vector类中的容量操作 size()函数与capacity()函数 resize()函数 reserve()函数 max_size()函数 vector类中的数据遍历操作 operator[]()与at()函数 vector类中的迭代器遍历 正向遍历begin()和end()迭代器——非const …

练习 22 Web [极客大挑战 2019]BuyFlag

php弱类型比较&#xff0c;注意Cookie值&#xff0c;php利用数组赋值进行绕过,科学计数法 很明显是弱类型比较&#xff0c;之前的练习题已经遇到过 构造password404adsffd&#xff0c;后面随便什么字母都行 然后 money100000000 然后在student这里卡了很久&#xff0c;post…

SpringData ElasticSearch - 简化开发,完美适配 Spring 生态

目录 一、SpringData ElasticSearch 1.1、环境配置 1.2、创建实体类 1.3、ElasticsearchRestTemplate 的使用 1.3.1、创建索引 设置映射 1.3.2、创建索引映射注意事项&#xff08;必看&#xff09; 1.3.3、简单的增删改查 1.3.4、搜索 1.4、ElasticsearchRepository …

当代软件专业大学生与青年在新质生产力背景下的发展探究

在新质生产力的浪潮中,信息技术以前所未有的速度革新,为软件专业的大学生和青年带来了丰富的机遇,同时也伴随着一系列的挑战。他们如何把握时代的脉搏,实现个人的发展,成为了值得深入探讨的话题。 一、新质生产力背景下的机遇 随着新质生产力的不断发展,信息技术在各个领…

Vue3中的computed,watch和watchEffect的特点

1.computed 1&#xff09;computed拥有缓存性&#xff0c;多次调用会直接从缓存中获取&#xff0c;而不会重新执行&#xff0c;所以说computed性能很高。 例&#xff1a;下面是同时调用三次计算属性firstTotal和三次函数firstTotalFun()的运行结果。可以发现&#xff0c;函数被…

免费微信小程序源码分享~搭起来改一下就可以【创业】

【前言】现在很多人都想做微信小程序创业搞钱&#xff0c;但是苦于不会开发或过高的开发成本只能放弃&#xff0c;下面我收集了几套微信小程序的源码供各位有梦想的同学免费使用~ 这些小程序代码都包含了客户端和管理端&#xff0c;你搭建起来就可以开始创业搞钱了~ 下载链接&…