matlab各种技巧笔记

一、读取文件

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使用

  1. h=msgbox('text');  
  2. % 修改字体  
  3. ah = get( h, 'CurrentAxes' );  
  4. ch = get( ah, 'Children' );  
  5. set( ch, 'FontSize', 12 );  
  6. % 文本居中  
  7. th = findall(0, 'Tag','MessageBox' );  
  8. boxPosition = get(h,'position');  
  9. textPosition = get(th, 'position');   
  10. set(th, 'position', [boxPosition(3).*0.5 textPosition(2) textPosition(3)]);  
  11. set(th, 'HorizontalAlignment', 'center');  
  12. For example:
    str='Hello world'
    h=msgbox(str)
    % set(h,'Resize', 'on');  %
    set(h,'Position',[100 100 500 500])  %通过修改后边的四个坐标值可以改变msgbox的位置和大小
  1. % 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中对应的元素值


不定期更新

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值