首页 > 代码库 > 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);%产生一个1n的随机序列,容量为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)        %返回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');

效果图: