Matlab命令总结

总结一下MATLAB常用的命令和函数,方便自己以后查阅。

save

save 保存指定的变量到当前目录,例如:

A=[1,2,3];
B=[4,5,6];
save('text.mat','A','B'); 

返回 文章目录

load

load,将之前保存到文件的变量加载工作区,直接用load,会覆盖同名的变量,可以采用如下形式:

data=load('text.mat');

这会将text.mat文件中的数据加载到data,这时data就成了一个结构数组。 当然也可以选择加载部分变量,如:

data=load('text.mat','A');

该命令只将A加载到data中。
返回 文章目录

set

set 命令
设置句柄图像的属性,需要注意的是计算机屏幕的句柄值为0,该函数的内容很丰富用help命令查看。

返回 文章目录

strcat

strcat 命令
连接字符串的函数,经常用在需要批量处理的情况,可以下面第5个命令mkdir合用。下面举一个简单的例子,看一下strcat的基本用法。

a='I am';
b=' a nice person.'
c=strcat(a,b);

运行结果为:c=‘I am a nice person.’,需要注意程序中的空格。

返回 文章目录

mkdir

mkdir 命令
创建文件夹,可以和strcat命令联合使用,创建一系列文件夹,文件夹的名字可以时连续的,例如

for i = 1:3
    mkdir(strcat('Folder_',num2str(i)));
end

运行之后,在当前工作目录下创建了三个文件夹,分别为Folder_1,Folder_2和Folder_3,当然也可以指定目录下创建文件夹。
返回 文章目录

sort

sort 命令
排序,IX存储排序的结果abb中的元素在原来数组ab中的位置索引。

ab=[22,11,33]

ab =

    22    11    33

>> [abb,IX]=sort(ab)

abb =

    11    22    33

IX =

     2     1     3

返回 文章目录

find

find 命令
返回非零元素的行数和列数

>> aa=[1,0;1,1]

aa =

     1     0
     1     1

>> [row,col]=find(aa)

row =

     1
     2
     2


col =

     1
     1
     2

返回非零元素的行数和列数

返回 文章目录

round

round 命令
四舍五入,需要注意数值的正负

>> test=[-1.3,-1.5,1.3,1.5]

test =

   -1.3000   -1.5000    1.3000    1.5000

>> round(test)

ans =

    -1    -2     1     2

round,四舍五入

返回 文章目录

sparse

sparse 函数
创建稀疏矩阵,常用的格式:

sparse(A):将矩阵A转化为稀疏矩阵的形式,例如:

>> A=eye(3)

A =

     1     0     0
     0     1     0
     0     0     1

>> B=sparse(A)

B =

   (1,1)        1
   (2,2)        1
   (3,3)        1

>> full(B)

ans =

     1     0     0
     0     1     0
     0     0     1

注: full 函数可以返回原来的矩阵的表达形式。

S = sparse(i,j,s,m,n,nzmax)
由i,j,s三个向量创建一个m*n的稀疏矩阵,并且最多含有nzmax个元素。
S = sparse(i,j,s,m,n)
此时,nzmax = length(S)

B=sparse([2,2,3],[1,2,3],[3,1,2],4,4)
full(B)

结果为

B =

   (2,1)        3
   (2,2)        1
   (3,3)        2


ans =

     0     0     0     0
     3     1     0     0
     0     0     2     0
     0     0     0     0

返回 文章目录

nnz

nnz 函数:Number of nonzero matrix elements

矩阵非零元素的数量,例如

>> A=eye(3)

A =

     1     0     0
     0     1     0
     0     0     1

>> num=nnz(A)

num =

     3

返回 文章目录

numel

numel函数
计算数组中满足指定条件的元素个数
用法如下:
n = numel(A); % 返回数组A中元素个数。
n = numel(A,A>2); % 返回数组A中大于2的元素个数。
n = numel(A, index1, index2, … indexn); % 返回A(index1, index2, … indexn)中元素的个数
例如:

>> A=rand(4)

A =

    0.8147    0.6324    0.9575    0.9572
    0.9058    0.0975    0.9649    0.4854
    0.1270    0.2785    0.1576    0.8003
    0.9134    0.5469    0.9706    0.1419

>> numel(A)

ans =

    16

>> numel(A, A>0.5)

ans =

    10

>> numel(A,1,2)

ans =

     1
      
>> numel(A,1:2,2:3)

ans =

     4

返回 文章目录

变量的查看、保存和清除

变量的查看、保存和清除的命令小结

  1. 变量的查看
    who:列出当前工作空间的变量
    whos: 列出当前工作空间的变量及信息
  2. save filename.mat:将所有变量都保存到 filename.mat,该文件保存在当前目录下
    也可以只保存部分变量,例如
A=[1,2,3];
B=[4,5,6];
save('text.mat','A','B'); 
  1. 变量的清除
    clear:清除全部变量
    clear var1:清除变量var1
    clearvars -except var1 var2:清除除var1 var2之外的所有变量
    clear v*:可按照一定的命名规则清除变量,如清除以字母v开头的全部变量
    clear global var,clear global:清除某个全局变量,清除所有全局变量可使用

返回 文章目录

lognpdf

lognpdf 对数正态分布
Y = lognpdf(X,MU,SIGMA),mu是均值(期望),SIGMA是标准差。

返回 文章目录

randperm 和 randsample

  1. randperm: 生成不重复的随机排列,注意时返回一个行向量
    类似的命令有randi,该函数可以生成重复的元素
    用法:
    P = randperm(N),
    P = randperm(N,K) ,此处特别注意:K<=N
    例如:
>> randperm(4)

ans =

     1     2     3     4

>> 
>> randperm(4,3)

ans =

     1     2     4

>> randperm(4,5)
Error using randperm
K must be less than or equal to N. 
  1. randsample
    随机抽样,可以重复,也可以不重复,可通过参数进行控制
    用法:
    randsample(n,k): 返回k个不相同的数(1:n)
    randsample(ARRAY,k): 从ARRAY数组里面随机取出k个不相同的元素
    randsample(n,k,replacement): replacement表示是否允许重复,1表示重复,0表示不重复
    randsample(population,k,true,w) : 具有权重功能,可以设置population中每一个元素出现的频率,w是权重系数,w可以结合某些概率分函数使用
    例如:

K>> randsample(4,3,1)

ans =

     4
     4
     2

K>> randsample(4,3,0)

ans =

     2
     1
     4

K>> randsample([22,33,44,55],3,1)

ans =

    33    44    22

K>> randsample([22,33,44,55],3,1)

ans =

    33    33    22

K>> randsample([22,33,44,55],1,true,[0.8,0.1,0,0.1])

ans =

    22

K>> randsample([22,33,44,55],2,true,[0.8,0.1,0,0.1])

ans =

    22    22

说明:22出现的概率设置为0.8
返回 文章目录

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值