MATLAB基础学习相关知识
MATLAB安装参考:抖音-记录美好生活
MATLAB基础知识学习参考:【1小时Matlab速成教程-哔哩哔哩】 https://b23.tv/CnvHtO3
第1部分:变量定义和基本运算
生成矩阵:
% 生成矩阵% 直接法% ,表示行 ;表示列 a = [1,2,3;4,5,6;7,8,9];% 冒号一维矩阵 a = 开始:步长:结束,步长为1可省略b = 1:1:10; % 1,2,...10b = 1:10; % 与上一个等价% 函数生成% linspace(开始,结束,元素个数),等差生成指定元素数的一维矩阵,省略个数则生成100个c = linspace(0,10,5); % 在0和10之间生成等间距的5个元素% 特殊矩阵% eye(维数)单位阵 4*4e = eye(4); % zeros(维数)全零阵 1*4z = zeros(1,4);% ones(维数)全1阵 4*1 o = ones(4,1);% rand(维数)0~1分布随机阵 r = rand(4); % randn(维数)0均值Gaussian分布随机阵 rn = randn(4);
矩阵运算:
% 矩阵运算% diag(行向量,主对角线上方第k条斜线)用行向量生成对角阵diag_a = diag(a,1);% tril(矩阵,主对角线上方第k条斜线)生成矩阵的下三角阵,triu上三角阵 tril_a = tril(a,1);% 加、减、乘、乘方(矩阵运算)a*a% 点运算% a.*b , a./b , a.\b , a.^b 对应元素的*,/,\,^运算% 点乘运算保证矩阵维数相等a.*a% 逆矩阵% 伪逆矩阵,当a不是方阵,求广义逆矩阵;当a是可逆方阵,结果与逆矩阵相同% 直接通过MatLab得到线性方程的解pinv(a) % 特征值,特征向量[v,D] = eig(a); % 输出v为特征向量,D为特征值对角阵% *行列式det(a)% *秩rank(a)% *伴随compan(b)
矩阵的修改:
在Matlab中矩阵存储一般是列优先的
% 矩阵的修改%部分替换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
信息获取:
常用len_a来获取行和列中的最大值
% 信息获取% 矩阵的行列数[row_a, col_a] = size(a); % [行数,列数]% 行列中最大的len_a = length(a);
多维数组:
cat在matlab中是常用的一种拼接方式,这里cat中的”3“指的是按三维将两个矩阵进行拼接
% 多维数组% 创建% 直接法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”维连接
字符串:
字符串在matlab中并不常用,但后续的__2__函数中可能会将字符串转化为其他形式,或将其他形式转化为字符串的形式
% *字符串% 创建str0 = 'hello world'; % 单引号引起str1 = 'I''m a student'; % 字符串中单引号写两遍str3 = ['I''''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,不等为0strncmp(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');
第2部分:程序结构
程序控制:
continue: 跳过当次循环剩下语句,进入下一循环
break :跳出当前循环
return :跳出程序并返回
与其他语言相类似,matlab中也包含选择结构和循环结构这样普通的程序控制结构,与python的表示形式类似,需要用缩进来表示程序的执行步骤,但是不需要像python一样使用冒号”:“
%%
a = 5;
x = [1, 2]; y =[3, 4];%%
% 选择结构%if-elseif-else-endif a>0disp(x);elseif a==0disp(a);elsedisp(a-1);end% switch-case-otherwise-endswitch acase 0disp(a);case 1disp(a+1);otherwisedisp('aaa');end% try-catchtryz = x*y;catchz = x.*y; % 若try出错,则执行enddisp(z);%%
% 循环结构% for 循环变量=初值:步长:终值 - endfor i=0:1:10 % 步长为负,则初值大于终值disp(i); % 循环体内不可对循环变量做修改end% while-endwhile a>2disp(a);a = a-1;end
m文件:
% m文件% 脚本文件:没有输入输出参数,执行后变量结果返回工作空间,可直接运行% 以下是脚本文件,文件名假设为exp.m% **********************************************clearr = 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) % 主函数放第一个,函数名为keyif w==0y = type0(w); % 调用子函数type0elsey = type1(w);endendfunction y0 = type0(a) % 子函数,各子函数之间顺序无所谓y0 = a+1;endfunction 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% **********************************************
第3部分:图像绘制
二维曲线绘制:
线性图形设计:
颜色: b蓝 g绿 r红 c青 m紫 y黄 k黑 w白
线:-实线 :点线 --虚线 -.点画线
点:.实点 o圆圈 x叉 +十字 *星号 s方块 d钻石 v下三角 ^上三角 <左三角 >右三角 p五角星 h六角星
%%
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);%%
% 二维曲线绘制% 基本函数% plot(y)% y为向量% 纵坐标为y的值;横坐标自动为元素序号(角标+1),此处为1~9plot(y1); % 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'); % 蓝色 点线 圆圈% 坐标轴plot(x, y1);axis([-1*pi, 3*pi, -1.5, 1.5]); % 规定横纵坐标范围% 图形修饰% 标题标签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'); % 阶梯图,参数同plotstem(x, y, 'fill'); % 火柴杆图,参数fill是填充火柴杆,或定义线形candle(HI, LO, CL, OP); % 蜡烛图:HI为最高价格向量,LO为最低价格向量,CL为收盘价格向量,OP为开盘价格向量% 向量图compass(u, v, 'b-o'); % 罗盘图横坐标u纵坐标vcompass(Z, 'b-o'); % 罗盘图复向量Zfeather(u, v, 'b-o'); % 羽毛图横坐标u纵坐标vfeather(Z, 'b-o'); % 羽毛图复向量Zquiver(x, y, u, v); % 以(x, y)为起点(u, v)为终点向量场图% 极坐标图% polar(theta, rho, 'b-o'); % 极角theta, 半径rhotheta = -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) % 与上一个类似
第4部分:多项式
多项式:
多项式创建时自动按照系数向量,按x降幂排列,最右边是常数,若所给数字为[1,2,3,4],则生成的多项式为,最后一项为常数
%%
% 多项式% 创建p = [1, 2, 3, 4]; % 系数向量,按x降幂排列,最右边是常数f1 = poly2str(p, 'x'); % 生成好看的字符串 f1 = x^3 + 2 x^2 + 3 x + 4,不被认可的运算式f2 = poly2sym(p); % 生成可用的符号函数 f2 = x^3 + 2*x^2 + 3*x + 4% 求值x = 4;y1 = polyval(p, x); % 代入求值;若x1为矩阵,则对每个值单独求值% 求根r = roots(p); % p同上,由系数求根,结果为根植矩阵p0 = poly(r); % 由根求系数,结果为系数矩阵%%
数据插值:
% 数据插值% 一维插值%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); % 累乘
数值计算:
% *数值计算% 最(极)值%多元函数在给定初值附近找最小值点x = fminsearch(fun, x0);% 函数零点x = fzero(fun, x0); % 在给定初值x0附近找零点
第5部分:符号函数
符号对象创建:
%%
% 符号对象创建% 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; % 创建符号函数% 符号对象精度转换digits; % 显示当前用于计算的精度digits(16); % 将计算精度改为16位,降低精度有时可以加快程序运算速度或减少空间占用a16 = vpa(sqrt(2)); % vpa括起的运算使sqrt(2)运算按照规定的精度执行a8 = vpa(sqrt(2), 8); % 在vpa内控制精度,离开这一步精度恢复
符号运算:
+加-减*乘/除外
'转置 ; ==相等 ; ~=不等
sin, cos, tan; asin, acos, atan 三角反三角
sinh, cosh, tanh; asinh, acosh, atanh 双曲反双曲
conj复数共轭;real复数实部;imag复数虚部;abs复数模;angle复数幅角
diag矩阵对角;triu矩阵上三角;tril矩阵下三角;inv逆矩阵;det行列式;rank秩;poly特征多项式;
expm矩阵指数函数;eig矩阵特征值和特征向量;svd奇异值分解;
符号多项式函数运算:
%%
% 符号多项式函数运算% *符号表达形式与相互转化% 多项式展开整理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求反函数%%
符号微积分:
% 符号微积分% 函数的极限和级数运算% 常量a,b% 极限limit(f, x, 4); % 求f(x), x->4limit(f, 4); % 默认变量->4limit(f); % 默认变量->0limit(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; % 常量nfn = 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变换%%
符号方程求解:
% *符号方程求解% 符号代数方程% 一元方程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可返回通解及解的条件% 非线性fsolveX = fsolve(fun, X0, optimset(option)); % fun函数.m文件名;X0求根初值;option选项如('Display','off')不显示中间结果等
其他参数(参数加上true生效):
IgnoreProperty,忽略变量定义时一些假设
IgnoreAnalyticConstraints,忽略分析限制;
MaxDegree,大于3解显性解;
PrincipleValue,仅主值
Real,仅实数解
相关文章:
MATLAB基础学习相关知识
MATLAB安装参考:抖音-记录美好生活 MATLAB基础知识学习参考:【1小时Matlab速成教程-哔哩哔哩】 https://b23.tv/CnvHtO3 第1部分:变量定义和基本运算 生成矩阵: % 生成矩阵% 直接法% ,表示行 ;表示列 a [1,2,3;4,5,6;7,8,9];%…...

Mac系统下使用Docker快速部署MaxKB:打造本地知识库问答系统
随着大语言模型的广泛应用,知识库问答系统逐渐成为提升工作效率和个人学习的有力工具。MaxKB是一款基于LLM(Large Language Model)大语言模型的知识库问答系统,支持多模型对接、文档上传和自动爬取等功能。本文将详细介绍如何在Ma…...

RT-Thread+STM32L475VET6——icm20608传感器
文章目录 前言一、板载资源二、具体步骤1.打开CubeMX进行配置1.1 使用外部高速时钟,并修改时钟树1.2 打开I2C3,参数默认即可(I2C根据自己需求调整)1.3 打开串口1.4 生成工程 2. 添加icm20608软件包3. 使能传感器,打开动态链接库4.…...

【信息系统项目管理师-案例真题】2022下半年案例分析答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一(24分)【问题1】(6分)【问题2】(10分)【问题3】(8分)试题二(26分)【问题1】(8分)【问题2】(8分)【问题3】(4分)【问题4】(6分)试题三(25分)【问题1】(12分)【问题2】(7分)【问题…...
3D机器视觉工业3D图像格式常见的格式
工业3D图像格式主要用于存储和交换三维模型数据,常见的格式包括: STL (Stereolithography) 用途: 3D打印和快速成型。 特点: 存储三角面片信息,文件较小,但不包含颜色和材质数据。STEP (Standard for the Exchange of Product Data) 用途: CAD数据交换。 特点: 支持几何、拓…...

SkyWalking集成Kafka实现日志异步采集经验总结
SkyWalking日志异步采集架构 【重点知识】 1、【Agent】kafka-reporter-plugin-x.x.x.jar包放plugins目录后必走kafka(kafka没有正确配置就会报错) 2、【Agent】异步如不开启数据压缩,日志数据较大,pod多、业务大时容易造成网络…...
Java知识点——IO流
目录 一、IO流基础概念 二、常见的IO流类 三、字符流 1.字符输入流(Reader)与字符输出流(Writer) 2.常用实现类 3.实例 四、字节流 1.字节输入流(InputStream)与字节输出流(OutputStrea…...

uniapp h5端和app端 使用 turn.js
前提:添加页后,添加页与当前页会重叠在一起,不知道为什么,没有找到解决办法 1.h5端 <template><view class"container"><view id"flipbook"><view class"page page1">Page 1</view><view class"page pag…...

使用大语言模型(Deepseek)构建一个基于 SQL 数据的问答系统
GitHub代码仓库 架构 从高层次来看,这些系统的步骤如下: 将问题转换为SQL查询:模型将用户输入转换为SQL查询。 执行SQL查询:执行查询。 回答问题:模型根据查询结果响应用户输入。 样本数据 下载样本数据…...
时间转换(acwing)c/c++/java/python
读取一个整数值,它是工厂中某个事件的持续时间(以秒为单位),请你将其转换为小时:分钟:秒来表示。 输入格式 输入一个整数 NN。 输出格式 输出转换后的时间表示,格式为 hours:minutes:second…...

连接Sql Server时报错无法通过使用安全套接字层加密与 SQL Server 建立安全连接
文章目录 一. 前言二. 解决方案 方案1方案2 三. 总结 一. 前言 在《数据库原理》这门课的实验上,需要使用SQL Server,然后使用jdbc连接sql server突然报错为:SQLServerException: “Encrypt”属性设置为“true”且 “trustServerCertific…...

基于CNN的FashionMNIST数据集识别3——模型验证
源码 import torch import torch.utils.data as Data from torchvision import transforms from torchvision.datasets import FashionMNIST from model import LeNetdef test_data_process():test_data FashionMNIST(root./data,trainFalse,transformtransforms.Compose([tr…...
go channel 的用法和核心原理、使用场景
一、Channel 的核心用法 1. 基本操作 // 创建无缓冲 Channel(同步通信) ch : make(chan int) // 创建有缓冲 Channel(容量为5,异步通信) bufferedCh : make(chan int, 5) // 发送数据到 Channel ch <- 42 // 从…...

pyside6学习专栏(七):自定义QTableWidget的扩展子类QTableWidgetEx
PySide6界面编程中较常用的控件还有QTableWidget表格控件,用来将加载的数据在表格中显示出来,下面继承QTableWidget编写其扩展子类QTableWidgetEx,来实现用单元格来显示除数据文字外,还可以对表格的单元格的文字颜色、背景底色进行设置&#…...
Mybatis常用动态 SQL 相关标签
1. <if> 用于条件判断,当满足条件时执行对应的 SQL 片段。 示例: <select id"findUser" resultType"User">SELECT * FROM usersWHERE 11<if test"name ! null and name ! ">AND name #{name}</if><if…...

AWQ和GPTQ量化的区别
一、前言 本地化部署deepseek时发现,如果是量化版的deepseek,会节约很多的内容,然后一般有两种量化技术,那么这两种量化技术有什么区别呢? 二、量化技术对比 在模型量化领域,AWQ 和 GPTQ 是两种不同的量…...

ESP32S3:解决RWDT无法触发中断问题,二次开发者怎么才能使用内部RTC看门狗中断RWDT呢?
目录 基于ESP32S3:解决RWDT无法触发中断问题引言解决方案1. 查看报错日志2. 分析报错及一步一步找到解决方法3.小结我的源码基于ESP32S3:解决RWDT无法触发中断问题 引言 在嵌入式系统中,RWDT(看门狗定时器)是确保系统稳定性的重要组件。然而,在某些情况下,RWDT可能无法…...

基于SpringBoot的民宿管理系统的设计与实现(源码+SQL脚本+LW+部署讲解等)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

go 日志框架
内置log import ("log""os" )func main() {// 设置loglog.SetFlags(log.Llongfile | log.Lmicroseconds | log.Ldate)// 自定义日志前缀log.SetPrefix("[pprof]")log.Println("main ..")// 如果用format就用PrintF,而不是…...
如何在 PDF 文件中嵌入自定义数据
由于 PDF 文件格式功能强大且灵活,它经常被用于内部工作流程。有时候,将自定义数据嵌入 PDF 文件本身会非常有用。通常,这些信息会被大多数工具忽略,因此 PDF 仍然可以作为普通 PDF 文件正常使用。 以下是一些实现方法࿱…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...