matlab做BEek,###Matlab小笔记###

1. fix 截断

fix(num)

删除 number 参数的小数部分并返回以整数表示的结果。

i=1+fix(365*rand(1,1));%产生[1,365]之间的一个随机数

2. waitforbuttonpress 等待按钮按下

w=waitforbuttonpress;

3. tic,toc 计时

tic;

func(param);

time0=toc;

disp(['用时' num2str(time0) 's']);

4.waitbar 进度条

clc;clearvars;close all;

option.isShowbar=true;

if option.isShowbar

hWait = waitbar(0, 'doing some work...');

end

nsize=10000;

mat=zeros(nsize,nsize);

for i = 1:nsize

if option.isShowbar

waitbar(i/nsize, hWait);

end

%do some work

mat(i,:)=(i-1)*nsize+1:i*nsize;

end

if option.isShowbar

close(hWait);

end

0818b9ca8b590ca3270a3433284dd417.png

5.使用同一个值初始化矩阵

initialize a MxN matrix with the same number

%方法1:

% Make a 3-by-8 matrix of 9s:

A(1:3,1:8) = 9 %如果上面存在一个矩阵A,那么将带来问题,之前的取值只是会覆盖

%方法2:

A=ones(M,N)*yournumber;

%方法3:

A=repmat(yournumber,M,N);

%方法4:

A=zeros(M,N);

A(:)=yournumber;

%方法5:

A = uninit(M,N);

A(:) = some_number;

%方法6:

a = 12;

A = a(ones(M, N));

6 找最大值及其位置

方法1:

s1=find(A==max(max(A)));%找到位置,返回的是连续存储的位置索引号

[m1,n1]=ind2sub(size(A),s1);%将位置索引转换为下标,即[nrows,ncols]

方法2:

[v,s2]=max(A(:));%找到最大值和所在的位置索引

[m2,n2]=ind2sub(size(A),s2);%将位置索引转换为下标索引[h,w]

7 mexPrintf/mexErrMsgTxt

printf("the value of A is :%d ",A);

mexPrintf("the value of A is :%d ",A);

mexErrMsgTxt("must be a double matrix!");

8. unique 取集合中不重复的元素构成向量

label=[1 1 2 2 3 3];

u=unique(label);

nclass=length(u);

因此在编写程序时,例如训练的时类别的标签,我们就可以通过这样获得类别的数目。

9 storage判断内存中是否能够容纳,例如多大的矩阵;

% 如果小于100MB,例如当data存储每个叶子结点数据data的boolen indicator

if storage([m n])<100

dataix=zeros(m,n);

else

dataix=sparse(m,n);

end

10 rmfield 移除结构体struct(或者结构体数组中)每个属性

例如data是一个结构体数组

data=rmfield(data,'landmark');

11 cell 移除某一行

cell(2,:)=[] % ok

cell{2,:}=[];% error

12 工作空间只保留指定变量

clearvars -except X_Train Y_Train ;%只保留X_Train 和 Y_Train变量。

13 匿名函数

匿名函数,其类似于内联函数。

function output = func1(input1,input2)

f = @(u,v)u+v;

% once

val = f(1,2);

% twice

val2 = f(2,3);

end

14 找到某个值的下标索引

ind = find(A(:)==value)

15 assert 函数

a = 3;

b = 4;

assert(a==b,'a 不等于 b,请检查');

16 计算每个变量的占用空间

利用whos函数

train_info = whos('gl_data');

fprintf(' %s大小为:%.2f M\n',train_info.name,train_info.bytes/(1024^2));

判断两个集合是否相等

例如

set1 = {'1','2','4','6'};

set2 = {'2','4','1','6'};

% setdiff(a,b) 表示a 减去 b

if isempty(setdiff(set1,set2))&& isempty(setdiff(set2,set1))

disp('they are equal!')

end

matlab imshow函数

matlab中显示图像的为:

imshow(img);

imshow(img,[low high]);

自动给变量命名

i = 3

eval(['trainDistribution',num2str(i)]);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值