用于Tensorflow机器学习的Matlab实用函数
分享一些针对Matlab信号处理用于Tensorflow机器学习的一些自制实用函数。
1. 批量获取数据文件信息
% 读取文件夹下的所有/指定格式的文件名和其他信息
% format:指定的文件格式后缀名,如无输入则读取所有文件
function y = allfile(location,format)
if nargin == 2
y = dir([location '\*.' format]);
end
if nargin == 1
y = dir([location '\*']);
if strcmp(y(1).name,'.') && strcmp(y(2).name, '..')
y = y(3:end);
end
end
2. 绘制三维张量(Tensor)伪彩图
% 画三维矩阵图
% x为三维矩阵,维度必须是(样本数×长×宽)
% n为要画的样本编号(例如100张96*48图片,n=10时画第10张),不输入则 n=1
% titletext是画图时标题里要显示的内容,不输入则不显示
function y = draw_tensor(x,n,titletext)
if nargin == 3
a = x(n,:,:);
y = reshape(a,size(a,2),size(a,3));
imagesc(y)
title({
titletext,...
[num2str(num2str(n)) '*' num2str(size(a,2)) '*' num2str(size(a,3)) ,...
' (' num2str(size(x,1)) '*' num2str(size(x,2)) '*' num2str(size(x,3)) ')']});
end
if nargin == 2
a = x(n,:,:);
y = reshape(a,size(a,2),size(a,3));
imagesc(y)
title({
[num2str(num2str(n)) '*' num2str(size(a,2)) '*' num2str(size(a,3