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
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!");posted on 2016-09-29 16:47 Raby_Draby 阅读(157) 评论(0) 收藏 举报
浙公网安备 33010602011771号