首页 > 代码库 > Matlab科研常用命令总结
Matlab科研常用命令总结
本文主要总结个人科研中用到的matlab命令,并不断跟新中!
%---------------------读取存放数据(矩阵)的txt文件--------------------------------%
data_source=dlmread(‘文件名‘,‘;‘);%读取以;为分隔符的数据,分割符为空格时省略。
data_source=textread(‘文件名‘, ‘‘ , ‘headerlines‘, 2);%从第二行开始读取数据,可以处理第一行为类别字符串时的情景。
A=load(FILENAME)%读取二进制文件
%读取ASCII文件
fid=fopen(FILENAME,‘r‘);
A=fread(fid);
fclose(fid);
%---------------------矩阵的并、差、交、异或运算--------------------------------%
交:
intesect(A,B),AB为向量,返回A,B中相同的元素,并且排序后输出。
intesect(A,B,‘rows‘),AB需为相同列的矩阵,返回他们相同的行。
[C,IA,IB] = intesect(...);将相同元素的index输出到IA,IB中。
并:
union :两个集合的并
差:
setdiff :集合差集
异或:
setxor (不在交集中的元素)
属于:
ismember
%-----------------------随机数系列--------------------------------%
randperm(n);%产生一个1到n的随机序列,容量为n
rand(1,n);%产生1行n列的0-1之间的随机矩阵
randn(n)产生一个n*n的矩阵,数据服从标准正太分布
%---------------------矩阵特定行列--------------------------------%
A(:,1)%第1列, A(2,:)%第二行, A(3,1:5)%第三行,第1至5列的元素
%---------------------矩阵拼接-----------------------------%
result=cat(2,A1,A2,...,An);%2代表按行拼接,1代表按列拼接
%---------------------索引相关-----------------------------%
[row col] = ind2sub(size(A), 6);%将索引号6,转换为行列号,size(A)给出矩阵的行数和列数。
index = sub2ind(size(A), 3, 2);%与ind2sub()正好相反
%--------------------------------------特征值相关--------------------------------------------------%
d = eigs(A,k)
plot(X1,Y1,X2,Y2,....)%一般会自动调节好坐标,用户也可以自动设置。
下面是一个例子:
figure; plot(funVal1,'-r'); hold on; plot(funVal2,'--b'); hold on; plot(funVal3,':g'); legend('mFlag=0, lFlag=0', 'mFlag=1, lFlag=0', 'mFlag=1, lFlag=1'); xlabel('Iteration (i)'); ylabel('The objective function value');
效果图: