Matlab
Satisfying
#自律女孩养成记#
#立刻行动派#
外表平静似水,内心坚定如刚。
展开
-
【20220901】【Matlab】Matlab字符串和ASCII的相互转换
生成固定长度的列表,所以可以利用字符串和 ASCII 码的转换关系,先生成一个元素全为 32 的列表,然后再转为字符串即可。原创 2022-09-01 17:19:14 · 2050 阅读 · 0 评论 -
【20220420】【Matlab】错误使用 save,必须为字符串标量或字符串的解决办法~
1. 报错信息错误使用 save 必须为字符串标量或字符向量。clear; clc;a = 10;path = 'D:\';name = 'matData';path_name = fullfile(path, name);save(path_name, a);2. 报错原因Matlab 的 save 函数是通过字符串去寻找工作区中的变量。所以给 a 加上单引号即可~(参考:matlab 循环存储变量为.mat 以及save函数报错:错误使用 sav...原创 2022-04-20 15:24:48 · 16518 阅读 · 0 评论 -
【20210128】【Matlab】Matlab中如何判断一个变量存在、数组为空?
1. 判断变量存在 —— exist()clear all; clc; close all; warning off;a = '100';exist('a');%%%%%%% ans = 1clear all; clc; close all; warning off;a = '100';clear a;exist('a');%%%%%%% ans = 0clear all; clc; close all; warning off;a = '100';clear原创 2021-01-28 13:58:11 · 4946 阅读 · 0 评论 -
【20211208】【Matlab】使用Matlab中的pca函数实现数据降维,并将数据可视化
1. pca函数使用方法 [coeff, score] = pca(data);(1)输入参数data:待降维的数据集(2)输出参数 coeff:主成分分量,即样本协方差矩阵的特征向量; score:主成分,即样本在低维空间的投影,也就是降维后的数据。注意:score 的维度和原始样本 data 的维度一致,如果想要降到 k 维,只需选取 score 的前 k 列即可~%%clear; clc; close all...原创 2021-12-08 21:36:12 · 15172 阅读 · 15 评论 -
【20211208】【Matlab】使用Matlab中setdiff生成两个数组的差集
1. C = setdiff(A, B)功能:返回 A 中存在但 B 中不存在的数据,不包含重复项。 (参考:setdiff)原创 2021-12-08 21:25:23 · 563 阅读 · 0 评论 -
【20211208】【Matlab】使用Matlab中randperm生成1~N中无重复元素的M个数
1. p = randperm(n) 功能:生成一个随机排列 1*n 的行向量,元素都是1~n 之间的整数,且该行向量没有重复元素。2. p = randperm(n, m)功能:生成一个随机排列 1*m 的行向量,元素都是1~n 之间的整数,且该行向量没有重复元素。 (参考:randperm)...原创 2021-12-08 21:20:55 · 570 阅读 · 0 评论 -
【20211103】【Python/Matlab】Python 中 numpy.reshape() 和 Matlab 中 reshape(mat) 的区别
1. Python 中 reshapenumpy.arange(n).reshape(a, b) # 依次生成 n 个自然数,并且以 a 行 b 列的数组形式显示''' 常见的用法 ''' reshape(n, -1) # 转化成 n 行reshape(-1, m) # 转化成 m 列举个栗子~import pandas as pdimport numpy as npa = list(range(1, 11, 1))b = np.arange(1, 21, 2)prin原创 2021-11-03 11:41:41 · 627 阅读 · 0 评论 -
【20211009】【Matlab】设置 legend 的位置
legend 除了常用的文字参数外,还可以加 [1, 2, 3, 4] 的参数,分别对应右上角、左上角、左下角、右下角。 (参考:MATLAB如何调整legend标注在图中的位置)原创 2021-10-09 17:40:53 · 10215 阅读 · 0 评论 -
【20210910】【Matlab】load .mat 数据之后将变量重命名
一、背景在使用 Matlab 过程中,需要读取 .mat 数据使用,使用 load 命令之后赋给一个变量,发现并不是把 mat 数据的内容赋给这个变量,而是赋值了一个结构体。所以在使用时,问题在于这个结构体内变量名是未知的,所以没办法直接使用。二、解决办法fieldnames:获取一个未知的 struct 的所有 field;getfield:返回 struct 中指定字段的值。% 创建一个结构体tmp.a = 1;tmp.b = 2...原创 2021-09-10 18:10:22 · 13155 阅读 · 3 评论 -
【20210907】【Matlab】画图命令 pcolor 的使用
hfig = pcolor(packet_ind, range_axis, OneRange_1Hz); set(hfig, 'linestyle', 'none'); colormap('jet'); view([0, 90]); axis('tight');hold on;plot([left, left], 'm--', 'linewidth', 3); hold on;plot([right, right], 'm--', 'linewidth', 3); hold off;...原创 2021-09-07 15:06:50 · 2047 阅读 · 0 评论 -
【20210907】【Matlab】字符数组、数值数组、元胞数组之间的相互转化
(参考:MATLAB 字符数组 数组 元胞之间的转换)原创 2021-09-07 08:48:44 · 1629 阅读 · 1 评论 -
【20210831】【Matlab】Matlab 中异常捕获 try-catch-end 的使用
1. 使用方法try statements;catch exception statements;end2. 注意事项(1)Maltab 中的 try-catch-end 不能嵌套多个 catch 语句,但可以嵌套多个完整的 try-catch-end 模块!(比如在工作中我使用了四层嵌套)try data = DataSamples_descend_lp(:, 1:3);catch try data = DataSamples原创 2021-08-31 17:39:50 · 615 阅读 · 0 评论 -
【20210810】【Matlab】Matlab 双 y 坐标绘图
1. 方法一:使用 yyaxis left / yyaxis right 激活即可~(参考:matlab 双y坐标 及其坐标属性设置 yyaxis)%% 使用双轴坐标系作图clear; clc; close all; warning off;x = 1 : 100;y1 = sin(x);y2 = cos(x);fig = figure;leftColor = [0, 0, 0];rightColor = [0, 0, 0];set(fig, 'defaultA...原创 2021-08-10 16:31:48 · 1488 阅读 · 0 评论 -
【20210728】【Matlab】genpath、addpath的应用
在 Matlab 中,一个大工程可能包含了很多个函数,这些函数都要在当前路径下存在,代码才能运行成功。但现在想要把函数整理到一起,放在文件夹下,主函数放在当前路径,这样看起来就十分便捷。 可以这样实现:addpath(genpath('想要添加的路径'))% 【解释】% genpath:生成 '想要添加的路径' 目录路径;% addpath:将参数中的目录路径添加到当前工作目录中。(参考:addpath 与 genpath)...原创 2021-07-28 17:56:46 · 6682 阅读 · 0 评论 -
【20210719】【Matlab】Matlab 批量读取指定格式的文件数据
使用 Matlab 批量读取指定格式的文件数据,以读取下面文件夹中 .csv 文件为例:代码:%% 使用 fullfile 和 dir 组合,读取特定格式的数据文件files_path = 'K:\tmp'; % 文件存放路径folder_csv = fullfile(files_path, '*.csv'); files_csv = dir(folder_csv);运行结果:...原创 2021-07-19 11:20:47 · 659 阅读 · 0 评论 -
【20210610】【Matlab】分享一个控制参数输出精度的方法~
我依次确认了前端、后端收到的数据和展示出来的数值结果一致之后,去找算法C化工程师,同事反馈问题出在他拿到数据之后,根据数据协议,依据四舍五入原则,对数据做了截断,所以问题出在 AHI 四舍五入这一步。由此,我需要修改算法输出结果,需要修改一下输出参数保留在小数点后两位。方法是:假设存在一个小数 a = 1.23456,如果需要保存小数点后 N 位,那么 round(a*10^N) / 10^N 即可实现。(round实现四舍五入的功能)...原创 2021-06-10 10:00:29 · 1895 阅读 · 0 评论 -
【20180131】【Matlab】读取文本文档并绘制误差线
close all;clear all;clc;sta = fopen('statistics.txt');Data = textscan(sta,'%f%f%f%f');fclose(sta);x = Data{1};y = Data{2};errlower = Data{3};errupper = Data{4};errorbar(x,y,errlower,errupper...原创 2018-01-31 16:38:13 · 434 阅读 · 0 评论 -
【20180131】【Matlab】hist( )函数、bar( )函数绘制直方图
hist( )函数1. hist(x):其中x为一维向量,该函数是将x的最小值与最大值之间的区间等分为10份,输出的直方图横坐标为x,纵坐标为相应区间数值的个数。相当于hist(x,10)。从下图可以看出两种形式是等价的。x = [0,0,5,1,3,0.9,3,1,7,5,9.8];figure(1)hist(x);figure(2)hist(x,10); ...原创 2018-01-31 18:47:02 · 15059 阅读 · 0 评论 -
【20180131】【Matlab】find( )函数的用法
一、基本功能:1. find(X):返回向量或数组不为零元素的位置索引。2. find(X,k,'first'):返回前k个不为零元素的位置索引。3. find(X,k,'last'):返回后k个不为零元素的位置索引。 (一) X为向量X = [0,1,0,6,4,2,0,5,0,0,9];a = find(X);b = find(X,3);c = fi...原创 2018-01-31 19:24:55 · 1146 阅读 · 0 评论 -
【20180128】【matlab】均值、标准差、方差、协方差、中值的求解
求均值:向量行向量A:mean(A) A = [1,2,3,4,5];mean(A)ans = 3 列向量A:mean(A) B = [0,3,1,0,6]';mean(B)ans = 2 矩阵---mean(A,dim)按列求均值:mean(A) 或 mean(A,1),注:若后面无参数,默认按列求均值 ...原创 2018-01-28 19:59:03 · 67866 阅读 · 5 评论 -
【20180125】【Matlab】矩阵对列、行、所有元素求和
若有矩阵A = [1,2,3;2,3,4;3,4,5],对矩阵进行以下运算。1. 矩阵对各列元素求和ans = sum(A) = 6 9 122. 矩阵对各行元素求和ans = sum(A,2) = 6;9;12 3. 对所有元素求和ans = sum(sum(A)) = 27 或者 ans = sum(sum(A),2) = 27 ...原创 2018-01-25 19:15:10 · 54110 阅读 · 0 评论 -
【20180125】【Matlab】 rand(), randn(), randi()函数的使用方法
1. rand()函数用于生成取值在(0~1)之间均匀分布的伪随机数。rand(n):生成n*n的0~1之间的满足均匀分布的伪随机矩阵; rand(m,n):生成m*n的伪随机数; rand(m,n,'double'):生成m*n的双精度伪随机数; rand(m,n,'single'):生成m*n的单精度伪随机数;注:‘double’和‘single’单引号不能省。...原创 2018-01-25 20:10:14 · 9805 阅读 · 0 评论 -
【Matlab 】diag函数用法
————————转载————————diag函数功能:矩阵对角元素的提取和创建对角阵设以下X为方阵,v为向量1、X = diag(v,k)当v是一个含有n个元素的向量时,返回一个n+abs(k)阶方阵X,向量v在矩阵X中的第k个对角线上,k=0表示主对角线,k>0表示在主对角线上方,k<0表示在主对角线下方。例1:v=[1 2 3];diag(v, 3)ans = 0 ...转载 2017-12-06 20:40:43 · 6800 阅读 · 0 评论 -
【Matlab】datenum函数用法
matlab中包含了很多自带的函数,为用户的使用带来了方便。其中就有一个函数是datenum。在此了解一下吧。datenum用来将给定的日期字符串转换为日期数字。所谓日期字符串是指平时我们所了解到的日期,比如:2017年5月20日。而日期数字则是从公元0年到给定日期之间所经历的天数。但是使用datenum函数有一定的规则,若不遵循该规则使用的话,matlab软件就会报错。好了,现在就看下daten...转载 2017-12-07 15:45:57 · 9091 阅读 · 0 评论 -
【Matlab】public/private/protected的具体区别
在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。 1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用 2、private:private表示私有,私有的意思就是除了class自己之...转载 2018-01-08 10:41:46 · 1975 阅读 · 0 评论 -
【20180419】【Matlab】解决Maltab文件关联的问题,亲测有效,问题已解决~
======================== 原文:点击打开链接 =========================新安装MATLAB2016a之后,发现MATLAB没有和m文件关联 每次打开m文件后都会重新打开一次MATLAB主程序后来发现这样的办法,亲测有效 下载压缩包:点击打开链接步骤:1. 解压2. 将解压文件中的associateFiles.m添加到...原创 2018-04-19 16:05:41 · 645 阅读 · 1 评论 -
【20180419】【Matlab】Matlab中.M文件和.mat文件的区别以及.mat文件的生成和调用方法
.m文件和.mat文件的区别1. .M文件是指Matlab中保存代码的文件;2. .mat文件是指存储数据的数据文件;.mat文件的生成和调用方法1. 生成数据文件:用save命令save('data.mat','a','b','c') %假如有三个变量'a', 'b', 'c',要将它们保存在'data'数据文件中。2. 调用数据文件:用loa...原创 2018-04-19 17:02:44 · 7559 阅读 · 0 评论 -
【20180627】【Matlab】.mat文件的生成和使用,save和load,dir/mkdir/isdir的使用方法,Matlab加注释,三种取整函数,fprintf和printf的区别
Matlab中.mat文件的生成、读取、调用方法.mat文件是Matlab的数据存储的标准格式,它是标准的二进制文件,还可以以ASCII码形式保存和加载,在Matlab中打开显示类似于Excel表格。.mat文件本质:标准的二进制文件.mat文件格式:Matlab的数据存储格式.mat文件调用:几个相关函数名(load打开.mat文件,save关闭/保存.mat文件)(参考:...原创 2018-07-30 12:56:17 · 20895 阅读 · 3 评论 -
【20190612】【Matlab】max() 函数的用法详解
[a, p] = max(sigmoid(X * all_theta'), [], 2);多元逻辑回归代码中遇见了这样一行,我的疑问是:为什么 max() 中要加一个 ‘[]’ ? max用法的几种形式: max(a); max(a, b); max(a, [], dim); [C, I] = max(a); [C, I] = max(a, [], dim); 区分...原创 2019-06-12 14:35:45 · 24919 阅读 · 2 评论