Regnaiq
只是一个学生, 学无止境. 慢慢来, 比较快.
展开
-
matlab客户端最新功能:使用vs code的github copilot编写mlx实时脚本文件
Github的copilot可以大大提高编程速率,但是只能在VS code里应用。对于很多使用matlab的同学来说很不方便。因为vs code打不开。不过现在有了解决办法。原创 2024-12-27 06:28:57 · 1013 阅读 · 0 评论 -
matlab如何画一个全屏和半屏的figure
如何画一个上半个屏幕的figure。原创 2024-05-14 05:04:20 · 483 阅读 · 0 评论 -
Maltab之滤波带来的时延问题
【代码】Maltab之滤波带来的时延问题。原创 2023-08-08 20:38:27 · 1237 阅读 · 0 评论 -
Matlab之利用MarkerFaceColor来填充marker
但是如果想要一个很大的marker, 就需要把这个markersize调得很大, 比如MarkerSize=20。原创 2023-08-07 15:17:38 · 2310 阅读 · 0 评论 -
Matlab把两个不同的x轴和y轴画在同一个图里
我们知道画两个y轴可以用yyaxis. 那么画两个x轴呢?这时候可以用神奇的。原创 2023-07-05 14:57:27 · 5128 阅读 · 0 评论 -
使用yyaxis时如何分别定义两个不同的Y轴.
那么我们可以用以下方法进行修改。原创 2023-06-29 10:04:12 · 438 阅读 · 0 评论 -
matlab里的字体换行
matlab比如坐标轴的字体需要换行, 可以用。原创 2023-06-17 19:07:35 · 2300 阅读 · 1 评论 -
Maltab模拟循环队列
matlab里没有循环队列, 但有的时候需要类似循环队列的操作, 那么我们可以用。原创 2023-06-05 16:27:33 · 373 阅读 · 0 评论 -
matlab如何把字符‘1234‘变成数组[1,2,3,4]
【代码】matlab如何把字符'1234'变成数组[1,2,3,4]原创 2023-06-05 16:24:34 · 2540 阅读 · 0 评论 -
matlab在不画出弹出图片的情况下保存图片
【代码】matlab在不画出弹出图片的情况下保存图片。原创 2023-02-21 20:45:28 · 1658 阅读 · 0 评论 -
matlab不构建网络来使用深度学习层操作数组
python里有tensor, 可以调用deep learning的API来处理. 类似的, matlab里有dlarray, 也就是深度学习的array. 同样也可以调用matlab深度学习的函数来处理.有时候需要深度学习的功能来处理数据, 比如利用pooling来处理一下数组. 但是matlab的普通数组没有支持的函数, 自己写又太麻烦.同样地, 类似的操作可以应用于卷积等. 感兴趣的用户可以参考更多。原创 2022-12-27 17:28:15 · 836 阅读 · 0 评论 -
matlab之复制矢向图
第一个是保存, 第二个是复制为图片, 第三个是复制到矢量图.原创 2022-10-15 21:16:45 · 2418 阅读 · 0 评论 -
matlab画图坐标轴不用科学计数法
【代码】matlab画图坐标轴不用科学计数法。原创 2022-09-18 11:50:00 · 9439 阅读 · 2 评论 -
matlab之xcorr函数分析
假设有[r,lags]=xcorr(A,B);xcorr表示互相关.原创 2022-08-04 17:05:57 · 834 阅读 · 0 评论 -
Matlab画图保留最少的空白导出向量图
matlab画图导出时选择保存就经常会有多余得空白, 在插入论文的时候经常都需要先做裁剪, 非常麻烦. 以下几种方法可以快速保存图片, 同时保留最少量的空白.原创 2022-08-04 15:57:48 · 1775 阅读 · 0 评论 -
Maltab画图的各种坐标区的大小: OuterPosition, Position, TightInset
代码】Maltab画图的各种坐标区的大小: OuterPosition, Position, TightInset。原创 2022-08-04 14:39:28 · 3472 阅读 · 0 评论 -
Latex之加黑加粗公式中的字体
值得一提的是,bm包是专门为公式黑体准备的,在字母有黑体的时候效果和amsmath一样,但是没有黑体的时候bm会渲染伪黑体,效果比amsmath好.所以尽量用bm包.有时候印刷体的向量要写成黑体形式,如果直接使用。...原创 2022-07-30 21:57:52 · 6084 阅读 · 0 评论 -
Matlab导出矢量的频谱图
rendering勾选customrendering,再导出即可.但是这种情况下导出的文件都很大.和其他线图柱图不同,画出频谱图直接导出会变得很模糊.原创 2022-07-30 10:40:09 · 624 阅读 · 0 评论 -
Maltab用confusionchart画图classlabels的一个问题
confusionchart画图的时候可以设置不同class的名字, 比如下图注意, 这里Class的名字setosa, versicolor等是按字母顺序排列的, 而且大小写敏感. 无法自定义.原创 2022-07-03 16:02:11 · 1202 阅读 · 1 评论 -
matlab之在数据组中找到与某数最接近的元素或其下标
这个问题有点绕. 给个具体的例子:有数组A:>> A=rand(1,10)A = 0.1622 0.7943 0.3112 0.5285 0.1656 0.6020 0.2630 0.6541 0.6892 0.7482那么给定一个数B=0.5, 求A中哪个数最接近0.5?思路: 把A与B相减, 看看哪个差最小, 哪个就与B最接近.>> C=abs(A-B);>> C_min=min(C)原创 2021-12-26 17:45:57 · 24668 阅读 · 4 评论 -
matlab之同时选取矩阵数组的多个元素
比如我们现在有数组A>> AA = 1 2 3 4 5 6 7 8 9我们想取位置为[1,1]和位置[3,3]的元素, 也就是1, 9. 如果我们直接索引:>> A([1,1],[3,3])ans = 3 3 3 3 >> A([1,3],[1,3])ans = 1 3 7 9就不对原创 2021-12-26 17:26:41 · 5035 阅读 · 0 评论 -
matlab实现python的argmax
其实很简单, 就是用vec2ind.但是要注意, vec2ind是按列算的(每列取最大), 所以相当于argmax的axis=0. 这一点要注意.原创 2021-12-26 17:20:43 · 581 阅读 · 0 评论 -
npz文件转mat文件
python可以保存两种文件, npy和npz. npy是单个变量, npz可以保存多个变量.对于matlab来读取npy文件, 可以使用npy-matlab库.但是不适用于npz文件, 所以如果想用matlab读npz, 首先要先把npz转成.mat才可以.import scipy.io as ioio.savemat('test.mat', mdict=np.load('test.npz'))...原创 2021-12-21 11:01:46 · 3617 阅读 · 1 评论 -
matlab之取出小数部分
基本思想:取出整数部分, 再把数字减去整数部分, 就可以得到小数部分.num=3.5;decimal=num-floor(num);原创 2021-11-08 19:07:58 · 9483 阅读 · 0 评论 -
Maltab之求两条直线相交的锐角
function theta=getAcuteAngleOfTwoLines(point1,point2,point3,point4)[x1,y1]=deal(point1(1),point1(2));[x2,y2]=deal(point2(1),point2(2));[x3,y3]=deal(point3(1),point3(2));[x4,y4]=deal(point4(1),point4(2));t =[x2-x1,y2-y1];s =[x4-x3,y4-y3];theta=acosd(原创 2021-11-08 18:56:38 · 503 阅读 · 0 评论 -
matlab画图导出pdf超出页面范围
因为默认的导出pdf是A4大小, 所以在导出长图的时候有时候会不完整, 超出了页面宽度. 这时候有两个处理办法:把A4默认的竖向调整为横向页面修改导出的pdf大小, 比如A3.这里以第一个方法为例:fg=figure;fg.PaperOrientation='landscape';只需要把fiure的paper属性修改一下即可....原创 2021-10-22 09:33:31 · 2942 阅读 · 0 评论 -
Matlab之多个图共用一个colorbar
matlab在画图的时候, 如果用subplot 画出多个子图, 添加colorbar的时候只能为最后一个子图添加colorbar.matlab在2019b引入了tiledlayout函数, 可以方便地完成这个操作.这里引用官网的一个例子:Z1 = peaks;Z2 = membrane;tiledlayout(2,1);nexttilecontourf(Z1)nexttilecontourf(Z2)cb = colorbar;cb.Layout.Tile = 'east';.原创 2021-10-13 18:55:26 · 14874 阅读 · 17 评论 -
matlab画热度图
这里的热度图指一个二维矩阵, 每个矩阵元素代表了当前热度的大小. 如果已经直到第一维和第二维代表的意义, 就可以直接画该热度图了.假设该矩阵为A, 第一维是f, 第二维为t用mesh命令[X,Y] = meshgrid(t,f); %设定每个元素的坐标mesh(X,Y,A) % 画图xlim([t(1),t(end)]) % 去掉白边这时画出来的是三维图如果需要变成俯视图, 需要加入如下命令:view(90,0)mesh是用来画网格的. 网格线有颜色, 面无颜色. 但是这里矩阵比原创 2021-09-07 22:06:48 · 7160 阅读 · 3 评论 -
Matlab之classification learner app无法从workspace导入label (response variable)
在classification learner导入数据时, label可以自动从原始数据里选择一列, 也可以手动从workspace里选择. 但是今天选择的时候发现选项是灰色的, 无法选择.研究了一下发现matlab默认你一次性导入所有数据, 所以label里必须有所有的类别, 不可以每次只导入一部分数据. 所以matlab会自动检查你label里的类别, 如果只有一种, 那么就认为这不是一个label文件. 所以在导入的时候要把所有类的samples和label合并在一起之后再导入....原创 2021-08-30 11:04:43 · 518 阅读 · 1 评论 -
Matlab画切分信号后的竖直线
比如现在获得切分结果是segResult, 里面是[start1,end1,start2,end2,…];可以这样画:hold on% plot startstem(segResult(1:2:end),ones(1, length(segResult)/2)*max(signal),'Marker','none')hold on% plot endstem(segResult(2:2:end),ones(1, length(segResult)/2)*max(signal),'Marker'原创 2021-08-23 17:25:09 · 480 阅读 · 0 评论 -
MATLAB之把多个小cell拼成一个数组
问题描述现有一个cell向量 L (90000,1),每个元素都是由一个(100X9)的double数组组成的.如图.其中, 每个cell元素都是一个单独的数据, 我们要把它转换成(90000, 19, 100)的三维数组.cell2mat, 但是所有的数据会堆叠起来L2=cell2mat(L); % (90000, 19)reshape, 变成三维数组reshape的原理是从上到下, 从左往右拆开重组. 目前只有19这一维数据与要求一致, 那就以这个为突破口.L2=L2'; %原创 2021-07-23 11:20:52 · 8839 阅读 · 0 评论 -
Matlab之读取python的npy文件
可以借用npy-matlab库:b = readNPY('a.npy');另外如果需要python读取mat:Python之读取matlab v7.3 mat文件原创 2021-07-23 10:46:40 · 8453 阅读 · 8 评论 -
Matlab之在live script里强制独立窗口画图
Matlab的live script可以直接在旁边的窗口里画图. 有时候我们想强制让它像原先的script那样直接在一个独立窗口里画图.第一种方法: 直接在文件上右键, 运行即可.第二种方法: 在画图的figure前添加:set(gcf,'Visible','on')...原创 2021-07-12 16:24:59 · 1872 阅读 · 0 评论 -
matlab之矩阵转cell
矩阵转cell可以用mat2cell函数.C = mat2cell(A,[2 2],[3 2])意为把A变成[2X3],[2X2][2X3],[2X2]形式的四个cellC = mat2cell(A,[1,1,1])意为把A变成[1Xn][1Xn][1Xn]三个cell. 其中n为A的列数.详细请看文档.原创 2021-07-06 21:56:27 · 3846 阅读 · 0 评论 -
matlab之获取parfor循环内的变量
一般来说, parfor循环内的变量是不会保存的, 比如:parpool(3)parfor ii=1:3k=1;end运行后会发现k并没在变量空间中.如果要保存parfor内的变量, 需要首先给该变量赋初值, 然后在循环内修改该变量的元素.比如k=cell(1,3);parfor ii=1:3k{ii}=1;end我们就可以看到k=1×3 cell array {[1]} {[1]} {[1]}...原创 2021-07-05 22:09:09 · 3274 阅读 · 1 评论 -
matlab之one-hot编码与解码
有时候需要用matlab处理数据喂给Keras, 需要对label做一下编码.编码A=[1,3,2,4,3,1]第一步把label变成稀疏编码的矩阵:>> ind2vec(A)ans = (1,1) 1 (3,2) 1 (2,3) 1 (4,4) 1 (3,5) 1 (1,6) 1然后在把矩阵变成完全矩阵>> B=full(ind2vec(A)原创 2021-07-02 19:17:41 · 1118 阅读 · 0 评论 -
matlab之环减法
摘要有的时候某个数组可能有固定的含义, 是一个循环. 比如角度: [0,1,2,…,359].在做减法的时候就不能直接相减了, 比如0和359只相差了一度. 这个时候就需要环减法了.环减法问题定义确定问题内一共有多少个元素. 比如上述有n=360个元素. 因为所有元素组成了一个环, 所以他们之间最大的差为n/2=180.问题求解sub=abs(x1-x2); % 得到数值差sub_loop=360-sub; % 得到实际差总结环减法首先要确定一共有多少个元素n.环差=n-abs(x1原创 2021-06-25 15:47:15 · 347 阅读 · 0 评论 -
Matlab之生成随机数取不到端点值, 以及生成随机整数数问题
摘要matlab用rand来生成[0,1]之间的随机数. 如果需要生成特定范围内的随机数, 则需要先生成随机数, 再规约到特定范围的[a,b]之内. 但是需要注意的是, (matlab文档里也有讲明), 生成[a,b]之间随机分布的随机数, 理论上讲生成a,b的概率要和其他数相同, 但是实际上, 很难取到a,b两个值.本文内容有: 摘要生成1000个[0,4]的随机数生成1000个[0,4]的随机整数使用rand函数使用randi函数总结生成1000个[0,4]的随机数a = 0;b =原创 2021-06-25 11:18:04 · 811 阅读 · 1 评论 -
matlab之计算排列组合
(nk)\binom{n}{k}(kn)nchoosek(n,k)AnkA_{n}^{k}Anknchoosek(n,k)*factorial(k)原创 2021-06-11 20:53:23 · 2240 阅读 · 0 评论 -
使用matlab播放声音
sound(y,fs)这种方法matlab会后台自动播放声音y. 无法停止.pl=audioplayer(y,fs);play(pl)使用audioplayer对象也可以播放声音, 但是可以控制.比如pause(y) % 暂停stop(y) % 停止原创 2021-06-07 19:44:03 · 5956 阅读 · 0 评论