matlab快速入门
matlab快速入门
1矩阵
生成矩阵
% 直接法
a = [1,2,3;4,5,6;7,8,9];
% 冒号一维矩阵 a = 开始:步长:结束,步长为1可省略
b = 1:1:10; % 1,2,...10
b = 1:10; %与上一个等价
% 函数生成
c = linspace(0,15,5);
% linspace(开始,结束,元素个数),等差生成指定元素数的一维矩阵,省略个数则生成100个
% 特殊矩阵
e = eye(4); % eye(维数)单位阵
z = zeros(1,4); % zeros(维数)全零阵
o = ones(4,1); % ones(维数)全1阵,生成一列1
r = rand(4); % rand(维数)0~1分布随机阵
rn = randn(4); % randn(维数)0均值Gaussian分布随机阵
矩阵运算
%矩阵运算
diag_a = diag(a,1); % diag(行向量,主对角线上方第k条斜线)用行向量生成对角阵
tril_a = tril(a,1); % tril(矩阵,主对角线上方第k条斜线)生成矩阵的下三角阵,triu上三角阵。l对应low是下三角,u代表upper上三角阵
% 加、减、乘、乘方
a*a
% 点运算
% a.*b , a./b , a.\b , a.^b 对应元素的*,/,\,^运算
a.*a
% 逆矩阵
pinv(a) % 伪逆矩阵,当a不是方阵,求广义逆矩阵;当a是可逆方阵,结果与逆矩阵相同
% 特征值,特征向量
[v,D] = eig(a); % 输出v为特征向量,D为特征值对角阵
% *行列式
det(a)
% *秩
rank(a)
% *伴随
compan(b)
a.*a的结果(保证维数相等) | 逆矩阵的结果 | 特征值和特征向量 |
行列式计算 | 求秩 | 伴随矩阵 |
矩阵的修改
%部分替换
chg_a = a; %对矩阵做一个备份
chg_a(2,3) = 4; % (行,列)元素替换
chg_a(1,:) = [2,2,2]; % (行,:)替换行,为[]删除该行。这里的:指的是全部替换
chg_a(:,1) = []; % (:,列)替换列,为[]删除该列。想删除某一列可以把这一列全部留空
% 转置
T_a = a';
% 指定维数拼接
c1_a = cat(1,a,a); % 垂直拼接
c2_a = cat(2,a,a); % 水平拼接
% *变维
rs_a = reshape(a,1,9); % 元素个数不变,矩阵变为m*n
得到转置矩阵 | 垂直拼接 | 水平拼接 |
变维 |
矩阵信息获取
% 信息获取
% 矩阵的行列数
[row_a, col_a] = size(a); % [行数,列数]
% 行列中最大的
len_a = length(a);
2多维数组
% 多维数组
% 创建
% 直接法
mul_1(:,:,1) = [1,2,3;2,3,4];
mul_1(:,:,2) = [3,4,5;4,5,6];
% *扩展法
mul_2 = [1,2,3;2,3,4];
mul_2(:,:,2) = [3,4,5;4,5,6]; % 若不赋值第一页,第一页全为0
% cat法
mul_31 = [1,2,3;2,3,4];
mul_32 = [3,4,5;4,5,6];
mul_3 = cat(3,mul_31,mul_32); % 把a1a2按照“3”维连接
按照“3”维拼接后的矩阵: |
3字符串创建、操作、转换
% *字符串
% 创建
str0 = 'hello world'; % 单引号引起
str1 = 'I''m a student'; % 字符串中单引号写两遍
str3 = ['I''m' 'a' 'student']; % 方括号链接多字符串
str4 = strcat(str0, str1); % strcat连接字符串函数
str5 = strvcat(str0, str1); % strvcat连接产生多行字符串
str6 = double(str0); % 取str0的ASCII值,也可用abs函数
str7 = char(str6); % 把ASCII转为字符串
% 操作
% 比较
strcmp(str0, str1); % 相等为1,不等为0
strncmp(str0, str1, 3); % 比较前3个是否相等(n)
strcmpi(str0, str1); % 忽略大小写比较(i)
strncmpi(str0, str1, 3); % 忽略大小写比较前3个是否相等
% 查找替换
strfind(str0, str1); % 在str0找到str1的位置
strmatch(str1, str0); % 在str0字符串数组中找到str1开头的行数
strtok(str0); % 截取str0第一个分隔符(空格,tab,回车)前的部分
strrep(str0, str1, str2); % 在str0中用str2替换str1
% 其他
upper(str0); % 转大写,lower转小写
strjust(str0, 'right'); % 将str0右对齐,left左对齐,center中间对齐
strtrim(str0); % 删除str0开头结尾空格
eval(str0); % 将str0作为代码执行
%%
%转换
% ___2___ --> 如num2str,将数字转字符串; dec2hex,将十进制转十六进制
str_b = num2str(b);
% abs,double取ASCII码;char把ASCII转字符串
abs_str = abs('aAaA'); %对字符取绝对值相当于取了它的ASCII码
strtok截取str0第一个分隔符(空格,tab,回车)前的部分 | 把数字转为字符串num2str | |
4程序结构
%%
a = 5;
x = [1, 2]; y =[3, 4];
%%
%选择结构
%if-elseif-else-end
if a>0
disp(x);
elseif a==0
disp(a);
else
disp(a-1);
end
%switch-case-otherwise-end
switch a
case 0
disp(a);
case 1
disp(a+1);
otherwise
disp('aaa');
end
%try-catch
try
z = x*y;
catch
z = x.*y; % 若try出错,则执行
end
disp(z);
%%
% 循环结构
% for 循环变量=初值:步长:终值 - end
for i=0:1:10 % 步长为负,则初值大于终值
disp(i); % 循环体内不可对循环变量做修改
end
% while-end
while a>2
disp(a);
a = a-1;
end
%%
%程序控制
%continue 跳过当次循环剩下语句,进入下一循环
%break 跳出当前循环
%return 跳出程序并返回
需要注意
if语句:
- 判断条件不需要用小括号做包裹
- 每一个判断块里面不需要用大括号做包裹
- elseif之间不需空格
- 最后需要end做结尾
switch语句:
- 每个case不需要:靠缩进来体现
- 不包括所有case情况用otherwise来显示
try-catch:
- 如果try执行正常就正常执行,如果不正常我们就用catch里面的语句做一个补救。
- catch语句块只有在try语句块出错的时候才会执行
%%
%m文件
%脚本文件:没有输入输出参数,执行后变量结果返回工作空间,可直接运行
%以下是脚本文件,文件名假设为exp.m
%**********************************************
clear
r = 5;
s = pi*r*r;
p = 2*pi*r;
disp(s)
disp(p)
%**********************************************
%以下是调用
%**********************************************
exp
%**********************************************
%函数文件:以function开头,有输入输出,变量为局部变量不返回工作空间,需要调用
%以下是函数文件
%**********************************************
function [s, p] = circ(r) % 文件命名应与函数名一致,系统找文件名circ.m
%CIRC 计算圆面积和周长 % 简单说明
%参数:输入参数r:圆半径;输出参数s:圆面积,p:周长 % 详细说明
s = pi*r*r;
p = 2*pi*r;
end
%**********************************************
%以下是调用
%**********************************************
[a, b] = circ(5); % 返回为多个参数时,若写a = circ(5)则保留第一个返回值
%**********************************************
%*以下是带子函数的函数文件
%**********************************************
function y = key(w) % 主函数放第一个,函数名为key
if w==0
y = type0(w); % 调用子函数type0
else
y = type1(w);
end
end
function y0 = type0(a) % 子函数,各子函数之间顺序无所谓
y0 = a+1;
end
function y1 = type1(a)
y1 = a+4;
end
%**********************************************
%*函数输入输出参数可以不定
%nargin:输入参数个数,nargout:输出参数个数
%varargin:输入参数内容的元胞数组,varargout:输出参数
%以下是函数文件
%**********************************************
function varargout = idk(varargin)
x = length(varargin);
varargout{1} = x;
varargout{2} = x+1;
end
%**********************************************
5图像绘制
二维图形绘制
%%
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
%%
% 二维曲线绘制
% 基本函数
% plot(y)
% y为向量
plot(y1); % 纵坐标为y的值;横坐标自动为元素序号(角标+1),此处为1~9
% y为矩阵
figure; % 开启新绘图窗口,下一次绘图在新窗口
y = [y1', y2'];
plot(y); % 当y为矩阵,按每一列画出曲线,颜色自动区分
% plot(x, y)
% xy为向量
plot(x, y1); % 先绘制曲线
% plot(x1, y1, x2, y2...)
plot(x, y1, x, y2); % 在同一个窗口同一坐标轴绘制多条曲线
% 线性图形格式设置
% 线形颜色数据点
plot(x, y1, 'b:o'); % 蓝色 点线 圆圈
% b蓝 g绿 r红 c青 m紫 y黄 k黑 w白
% -实线 :点线 --虚线 -.点画线
% .实点 o圆圈 x叉 +十字 *星号 s方块 d钻石 v下三角 ^上三角 <左三角 >右三角 p五角星 h六角星
% 坐标轴
plot(x, y1);
axis([-1*pi, 3*pi, -1.5, 1.5]); % 规定横纵坐标范围,第一个参数是x轴的最小值,第二个参数是x轴的最大值。第三个参数是y轴最小值和y轴最大值
% 图形修饰
% 标题标签
title('a title'); % 图像标题
xlabel('this is x'); % x轴标记,同理还有ylabel,zlabel
%图例设置
legend('hahaha', 'location', 'best'); % str的顺序与绘图顺序一致; 'best'指图例位置最佳化,还有其他位置
%图形保持
plot(x, y1);
hold on; % 在原有窗口y1曲线上增加绘制下一个图形
plot(x, y2); % y2在同一窗口内被绘制
hold off;
%分割绘制
subplot(2, 2, 1); % 分割成2x2区域,在第一块区域绘制下一个图形。前两个参数表示我需要绘制分块的大小,第三个参数表示我在分块中的第几个位置
plot(x, y1); % y1被绘制在4块区域的第一块
subplot(2, 2, 2); % 分割方法相同,区域改变
plot(x, y2); % y2在第二块区域
特殊图形绘制
%%
%*二维特殊图形绘制
%柱状图
bar(x, y, width, '参数'); % x横坐标向量,m个元素; y为向量时,每个x画一竖条共m条,矩阵mxn时,每个x画n条;
% width宽度默认0.8,超过1各条会重叠;
% 参数有grouped分组式,stacked堆栈式; 默认grouped
% bar垂直柱状图,barh水平柱状图,bar3三维柱状图,barh3水平三维柱状图(三维多一个参数detached, 且为默认)
%饼形图
pie(x, explode, 'lable'); % x为向量显示每个元素占总和百分比, 为矩阵显示每个元素占所有总和百分比
% explode向量与x同长度,为1表示该元素被分离突出显示,默认全0不分离
% pie3绘制三维饼图
%直方图
hist(y, n); % y为向量,把横坐标分为n段绘制
hist(y, x); % x为向量,用于指定每段中间值, 若取N = hist(y, x), N为每段元素个数
%离散数据图
stairs(x, y, 'b-o'); % 阶梯图,参数同plot
stem(x, y, 'fill'); % 火柴杆图,参数fill是填充火柴杆,或定义线形
candle(HI, LO, CL, OP); % 蜡烛图:HI为最高价格向量,LO为最低价格向量,CL为收盘价格向量,OP为开盘价格向量
%向量图
compass(u, v, 'b-o'); % 罗盘图横坐标u纵坐标v
compass(Z, 'b-o'); % 罗盘图复向量Z
feather(u, v, 'b-o'); % 羽毛图横坐标u纵坐标v
feather(Z, 'b-o'); % 羽毛图复向量Z
quiver(x, y, u, v); % 以(x, y)为起点(u, v)为终点向量场图
%极坐标图
% polar(theta, rho, 'b-o'); % 极角theta, 半径rho
theta = -pi:0.01:pi;
rho = sin(theta);
polar(theta, rho, 'b')
%对数坐标图
semilogx(x1, y1, 'b-o'); % 把x轴对数刻度表示, semilogy是y轴对数刻度表示,loglog是两个坐标都用对数表示
%双纵坐标
plotyy(x1, y1, x2, y2, 'fun1', 'fun2'); % fun规定了两条条线的绘制方式,如plot,semilogx,semilogy,loglog,stem等
%函数绘图
f = 'sin(2*x)';
ezplot(f, [0, 2*pi]); % 绘制f并规定横坐标范围,也有[xmin, xmax, ymin, ymax]
x = '2*cos(t)';
y = '4*sin(t)';
ezplot(x, y); % 绘制x(t),y(t)在[0, 2*pi]图像, 也可以在最后用[tmin, tmax]规定t的范围
三维绘图
%%
%三维曲线曲面绘制
%三维曲线
x = 0:0.1:2*pi;
y = sin(x); z = cos(x);
plot3(x, y, z, 'b-*');
%三维曲面
%三维网格
x = -5:0.1:5; % 规定了x轴采样点,也规定了x轴范围
y = -4:0.1:4; % 规定了y轴采样点,也规定了y轴范围
[X, Y] = meshgrid(x, y); % 得到了xoy面网格点
Z = X.^2+Y.^2;
mesh(X, Y, Z) % XY是meshgrid得到的网格点,Z是网格顶点,c是用色矩阵可省略
%三维表面图
x = -5:0.1:5;
y = -4:0.1:4;
[X, Y] = meshgrid(x, y);
Z = X.^2+Y.^2; % 以上部分同上
surf(X, Y, Z) % 与上一个类似
6多项式
创建多项式
%%
%多项式
%创建
p = [1, 2, 3, 4]; % 系数向量,按x降幂排列,最右边是常数
f1 = poly2str(p, 'x'); % 生成好看的字符串 f1 = x^3 + 2 x^2 + 3 x + 4,不被认可的运算式。一个花瓶不能算,只是通过字符串的形式表现出来。这里的第二个参数‘x’就会把x添加到对应的参数位置
f2 = poly2sym(p); % 生成可用的符号函数 f2 = x^3 + 2*x^2 + 3*x + 4。可以计算就是有点丑
%求值
x = 4;
y1 = polyval(p, x); % 代入求值;若x1为矩阵,则对每个值单独求值。运算过程就是:把给出的矩阵变为多项式,然后把变量x进行实数代换就得到了结果
%求根
r = roots(p); % p同上,由系数求根,结果为根植矩阵
p0 = poly(r); % 由根求系数,也可以得到多项式p,结果为系数矩阵
数据插值
%%
%数据插值
%一维插值
%yi = interp1(X, Y, xi, 'method')
X = [-3, -1, 0, 1, 3];
Y = [9, 1, 0, 1, 9]; % XY为已知点横纵坐标向量
y2 = interp1(X, Y, 2); % 差值预估在x=2的y的值,x不能超过已知范围(此处x<3)
y2m = interp1(X, Y, 2, 'spline'); % 用spline方法(三次样条)差值预估在x=2的y的值
%二维插值
%zi = interp1(X, Y, Z, xi, yi, 'method')
%%
X = [2, 3, 9, 15, 6, 7, 4];
A = [1, 7, 2; 9, 5, 3; 8, 4 ,6];
B = [1, 7, 3; 9, 5, 3; 8, 4 ,6];
数据统计
%数据统计
%矩阵最大最小值
y = max(X); % 求矩阵X的最大值,min最小值
[y, k] = max(X); % 求最大值,k为该值的角标
[y, k] = max(A, [], 2); % A是矩阵,'2'时返回y每一行最大元素构成的列向量,k元素所在列;'1'时与上述相同
%均值和中值
y = mean(X); % 均值
y = median(X); % 中值
y = mean(A, 2); % '2'时返回y每一行均值构成的列向量;'1'时与上述相同
y = median(A, 2); % '2'时返回y每一行中值构成的列向量;'1'时与上述相同
%排序
Y = sort(A, 1, 'ascend'); % sort(矩阵, dim, 'method')dim为1按列排序,2按行排序;ascend升序,descend降序
[Y, I] = sort(A, 1, 'ascend'); % I保留了元素之前在A的位置
%求和求积累加累乘
y = sum(X); % 求和
y = prod(X); % 求积
y = cumsum(X); % 累加
y = cumprod(X); % 累乘
2的时候返回每一行的最大值
1的时候返回每一列的最大值
数据计算
%%
%*数值计算
%最(极)值
%多元函数在给定初值附近找最小值点
x = fminsearch(fun, x0);
%函数零点
x = fzero(fun, x0); % 在给定初值x0附近找零点
7符号函数
%%
%符号对象创建
%sym函数
p = sin(pi/3);
P = sym(p, 'r'); % 用数值p创建符号常量P;'d'浮点数'f'有理分式的浮点数'e'有理数和误差'r'有理数
%syms函数
syms x; % 声明符号变量
f = 7*x^2 + 2*x+9; % 创建符号函数
%符号运算
% 加减乘除外
% '转置 ; ==相等 ; ~=不等
% sin, cos, tan; asin, acos, atan 三角反三角
% sinh, cosh, tanh; asinh, acosh, atanh 双曲反双曲
% conj复数共轭;real复数实部;imag复数虚部;abs复数模;angle复数幅角
% diag矩阵对角;triu矩阵上三角;tril矩阵下三角;inv逆矩阵;det行列式;rank秩;poly特征
8多项式
多项式;
% |----expm矩阵指数函数;eig矩阵特征值和特征向量;svd奇异值分解;
%符号对象精度转换
digits; % 显示当前用于计算的精度
digits(16); % 将计算精度改为16位,降低精度有时可以加快程序运算速度或减少空间占用
a16 = vpa(sqrt(2)); % vpa括起的运算使sqrt(2)运算按照规定的精度执行
a8 = vpa(sqrt(2), 8); % 在vpa内控制精度,离开这一步精度恢复
%%
%符号多项式函数运算
%*符号表达形式与相互转化
%多项式展开整理
g = expand(f); % 展开
h = collect(g); % 整理(默认按x整理)
h1 = collect(f, x); % 按x整理(降幂排列)
%因式分解展开质因数
fac = factor(h); % 因式分解
factor(12); % 对12分解质因数
%符号多项式向量形式与计算
syms a b c;
n = [a, b, c];
roots(n); % 求符号多项式ax^2+bx+c的根
n = [1, 2, 3];
roots(n); % 求符号多项式带入a=1, b=2, c=3的根
%*反函数
fi = finverse(f, x); % 对f中的变量x求反函数
9微分
%%
%符号微积分
%函数的极限和级数运算
% 常量a,b
%极限
limit(f, x, 4); % 求f(x), x->4
limit(f, 4); % 默认变量->4
limit(f); % 默认变量->0
limit(f, x, 4, 'right'); % 求f(x), x->4+, 'left' x->4-
%*基本级数运算
%求和
symsum(s, x, 3, 5); % 计算表达式s变量x从3到5的级数和,或symsum(s, x, [a b])或symsum(s, x, [a;b])
symsum(s, 3, 5); % 计算s默认变量从3到5的级数和
symsum(s); % 计算s默认变量从0到n-1的级数和
%一维泰勒展开
taylor(f, x, 4); % f在x=4处展开为五阶泰勒级数
taylor(f, x); % f在x=0处展开为五阶泰勒级数
taylor(f); % f在默认变量=0处展开为五阶泰勒级数
%符号微分
%单变量求导(单变量偏导)
n = 1; % 常量n
fn = diff(f, x, n); % f对x的n阶导
f1 = diff(f, x); % f对x的1阶导
diff(f, n); % f对默认变量的n阶导
diff(f); % 默认变量1阶导
%多元偏导
fxy = diff(f, x, y); % 先求x偏导,再求y偏导
fxyz = diff(f, x, y, z); % 先求x偏导,再求y偏导,再求z偏导
%符号积分
%积分命令
int(f, x, 1, 2); % 函数f变量x在1~2区间定积分
int(f, 1, 2); % 函数f默认变量在ab区间定积分
int(f, x); % 函数f变量x不定积分
int(f); % 函数f默认变量不定积分
% 傅里叶,拉普拉斯,Z变换
10符号方程求解
%%
%*符号方程求解
%符号代数方程
%一元方程
eqn1 = a*x==b;
S = solve(eqn1); % 返回eqn符号解
%多元方程组
eqn21 = x-y==a;
eqn22 = 2*x+y==b;
[Sx, Sy] = solve(eqn21, eqn22, x, y); % [Svar1,...SvarN]=solve(eqn1,...eqnM, var1,...varN),MN不一定相等
[Sxn, Syn] = solve(eqn21, eqn22, x, y, 'ReturnCondition', true); % 加上参数ReturnCondition可返回通解及解的条件
% 其他参数(参数加上true生效)
% IgnoreProperty,忽略变量定义时一些假设
% IgnoreAnalyticConstraints,忽略分析限制;
% MaxDegree,大于3解显性解;
% PrincipleValue,仅主值
% Real,仅实数解
%非线性fsolve
X = fsolve(fun, X0, optimset(option)); % fun函数.m文件名;X0求根初值;option选项如('Display','off')不显示中间结果等
参考: https://www.bilibili.com/read/cv7966685
matlab快速入门的更多相关文章
- Matlab 编程入门(一):编程基础
上学期学了一些matlab的知识,这学期再用时竟然发现已经忘得差不多了(┬_┬) 于是决定重新开始并将它们记录下来,也方便自己以后查漏补缺! M文件编程 脚本文件 matlab有自己的命令行窗口,对于 ...
- numpy快速入门
numpy快速入门 numpy是python的科学计算的核心库,很多更高层次的库都基于numpy.博主不太喜欢重量级的MATLAB,于是用numpy进行科学计算成为了不二选择. 本文主要参考Scipy ...
- 快速入门Matplotlib
十分钟快速入门Matplotlib 函数式绘图 这个库主要有两种绘图方式,一种是像这样的类matlab的函数式绘图方法. import matplotlib.pyplot as plt import ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...
随机推荐
- Typecho 安装教程 -- Linux
1.下载宝塔面板 1 使用 SSH 连接工具,如堡塔SSH终端连接到您的 Linux 服务器后,挂载磁盘,根据系统执行相应命令开始安装(大约2分钟完成面板安装): 2 Centos安装脚本 yum i ...
- CRM企业管理系统一年多少钱?
CRM系统一年多少钱?这是很多企业管理者比较关心的问题.目前市面上的CRM系统分为本地部署型和云部署型.云部署型CRM费用相对较低,只需要按需购买账号,连接网络即可使用:本地部署型CRM费用较高,企业 ...
- centos 8.3安装 一键安装部署gitlab
安装和配置gitlab必须的依赖包 [root@gitlabdev ~]#dnf install -y curl policycoreutils openssh-server perl 设置开机自启s ...
- 使用robot合并Robot Framework测试报告
p.p1 { margin: 0; font: 17px ".PingFang SC" } p.p2 { margin: 0; font: 12px "Helvetica ...
- buu SimpleRev
一.发现是elf文件,拖入ida,然后直接找到了关键函数 点击那个Decry()函数 二.逻辑还是很清晰的,而我是卡在这里v1的逆算法,感觉学到了很多,其实爆破就足够了 这里大小写可以一起写上 tex ...
- Oracle如何以逗号分隔的字符串拆分为多行数据
近期在工作中遇到某表某字段是可扩展数据内容,信息以逗号分隔生成的,现需求要根据此字段数据在其它表查询相关的内容展现出来,第一想法是切割数据,以逗号作为切割符,以下为总结的实现方法,以供大家参考.指教. ...
- 给App加上音频编辑功能,让你的用户Show起来
如今短视频当道,BGM无处不在,用户在每个能秀的地方都想要加上个性表达的音频.作为一个开发者,需不断探索和迎合用户的行为喜好,音频编辑功能成为用户在编辑个人信息.内容创作.生活分享等场景下的必需品. ...
- JDK安装与环境搭建.
卸载JDK 1.删除Java安装目录 2.删除Java Home 3.删除path下Java的目录 4.打开cmd命令输入java-version 出现''不是内部或外部命令,也不是可运行的程序 或批 ...
- 2021 NOI冬令营
2021 NOI冬令营 -- 本来想写得稍微文艺一点的,但是停课这么久已经退化到不会写文章了. 毕竟省选了我才来补的,时间也过去很久了. 毕竟这次我没有获得任何奖项. 我唯一的获得就是-- --好好看 ...
- 我的第一个HarmonyOS 应用
第一步:去开发者官网下载IDE:https://developer.harmonyos.com/cn/develop 并根据文档安装 DevEco Studio 第二步.启动IDE并创建自己的第一 ...