Matlab常用Demo
添加脚本路径
genpath:生成 ‘想要添加的路径’ 目录路径;
addpath:将参数中的目录路径添加到当前工作目录中。
addpath(genpath('.\Watermark\matlab\'));
时间戳
获取当前系统时间,返回的是datatime类型数据:
t = datetime
2023-09-08 21:11:00
格式化当前系统时间,返回的是datatime类型数据:
t = datetime('now','Format','yyyymmddHHMMss')
20230908211457
格式化当前系统时间,返回str类型数据:
t = datetime;
t_str= datestr(t ,'yyyymmddHHMMss');
‘20230908220925’
如果要显示到ms,使用如下代码:
t_str=datestr(now,‘yyyymmddHHMMssFFF’)
文件夹
1.判断文件/文件夹是否存在
判断文件夹是否存在:
fold_name = './test/'
if ~exist(fold_name,'dir') % 'dir'用于指定按文件夹搜索
% 执行操作
end
判断文件是否存在:
file_name = './test.jpg'
if ~exist(file_name ,'file') % 'file'用于指定按文件搜索
% 执行操作
end
2.创建文件夹
创建一个名为FolderName的文件夹,FolderName可以是绝对路径,也可以是相对路径;
fold_name = './test/'
mkdir(fold_name );
在ParentFolder文件夹中创建一个名为FolderName的子文件夹,其中ParentFolder可以是绝对路径也可以是相对路径,如果不存在ParentFolder文件夹,那么MATLAB会自动创建;
parent_fold= './tes1t/'
fold_name ='test2'
mkdir(parent_fold, fold_name);
3.删除文件夹
需要删除的只有一个文件夹:
fold_name = './test/'
rmdir(fold_name );
删除文件夹及其内容,该方法可以删除一堆文件夹:
fold_name = './test/'
rmdir(fold_name, 's');
路径路径
1.拼接路径
path = fullfile('data','my','result') % path = 'data\my\result';
str = ['data','my','result']; % str = 'datamyresult'
2.获取当前工作目录的绝对路径
fullpath = mfilename('fullpath');%获取当前m文件的绝对路径,不包含文件名后缀
[path,name,ext] = fileparts(fullpath);%将绝对路径拆分,path为当前工作路径;name为当前运行文件名;ext为文件名后缀
mfileName = strcat(name,'.m');%拼接成包含后缀的文件名
3.获取文件夹下所有文件名
file_path = fullfile(abs_path,'*.mat') % 拼接路径
file_path = dir(file_path) % dir
fileNames={file_path.name}
4.获取文件夹下所有的文件夹名
data_input_path = './.20230925/train_raw/';
files = dir(fullfile(data_input_path));
size_row = size(files);
folder_num = size_row(1);
for i=3:folder_num % 从3开始的数据才有意义,具体可以debug看看
fileName_folder = fullfile(data_input_path,files(i,1).name)
end
5.将文件夹的路径进行保存
data_input_path = './.20230925/train_raw/';
data_output_path = './.20230925/knn_aug/';
files = dir(fullfile(data_input_path));
size_row = size(files);
folder_num = size_row(1);
mod_path = cell(folder_num-2,1);
for i=3:folder_num
abs_path = fullfile(data_input_path,files(i,1).name);
mod_path{i-2} = abs_path;
end
*.mat
1.读取mat
try
load(sig_path, 'x', 'fs_x', 'nBits'); % 必须包含字段x, fs_x, nBits
catch
disp('Error! Signal not found!');
return
end
2.保存mat
y = [1,2,3];
fs_x=1200;
save(out_path, 'y', 'fs_x');
遍历cell和array
numlist={3,6,18}
for k1 = 1:length(numlist)
fprintf('Number at position %d = %6.2f\n', k1, numlist{k1})
end
v=[1,4,6,4,1];
s=0;
for i=1:length(v)
s=s+v(i);
end
disp(s);