一、读取文件mnist_data_dir='E:/mnist/test_images/';
imgs_path_fid = fopen([mnist_data_dir 'test_labels.txt'],'r');
imgs_path = textscan( imgs_path_fid , '%s %d', 10000);
'%s %d' 是读取格式,%s表示读取一个字符串,%d表示读取一个整数
10000表示读取1万行
二、矩阵操作
打乱矩阵(数组)顺序
把矩阵data的列顺序打乱:
idx=randperm(size(data,2),size(data,2));
mnist_train_data=data(:,idx);
三、msgbox使用
- h=msgbox('text');
- % 修改字体
- ah = get( h, 'CurrentAxes' );
- ch = get( ah, 'Children' );
- set( ch, 'FontSize', 12 );
- % 文本居中
- th = findall(0, 'Tag','MessageBox' );
- boxPosition = get(h,'position');
- textPosition = get(th, 'position');
- set(th, 'position', [boxPosition(3).*0.5 textPosition(2) textPosition(3)]);
- set(th, 'HorizontalAlignment', 'center');
- For example:
str='Hello world'
h=msgbox(str)
% set(h,'Resize', 'on'); %
set(h,'Position',[100 100 500 500]) %通过修改后边的四个坐标值可以改变msgbox的位置和大小
- % set(h,'Position',[100 100 100 100]);% 使用这个语句可以修改msgbox的位置和大小
四、获取指定目录下所有文件路径
CK_train_path='E:/CK+/divided_crop_by_detected/train/';
for i = 1:6
path = [CK_train_path, num2str(i),'/'];
% fprintf('%s\n',path);
files = dir(path);
sn = length(files);
for j = 1:sn
if strcmp(files(j).name,'.')||strcmp(files(j).name,'..')
continue;
end
img_path = [path, files(j).name];
% fprintf('%s\n',img_path);
end
end
一行一行的读,读取多行:
fid=fopen('ttt.txt','r');
a=fgets(fid)//读取第1行
a=fgets(fid)//读取第2行
a=fgets(fid)//读取第3行
...
fclose(fid);
五、用logical来索引矩阵
假如a是一个logica向量,为0或者1
B(a)则只返回a中为1的下标在B中对应的元素值
不定期更新