MATLAB常用函数genpath()/addpath()/permute()说明

 一、genpath()/addpath()

pwd = 'F:\desktop\DiffuseRecon'; % pwd为当前路径
folder_all = genpath(pwd); 
% genpath(pwd)表示当前文件夹pwd下的所有文件夹folder以及folder下的全部子文件夹
% 此处folder_all(类型为char)的值为F:\desktop\DiffuseRecon;F:\desktop\DiffuseRecon\improved_diffusion;F:\desktop\DiffuseRecon\improved_diffusion\__pycache__;F:\desktop\DiffuseRecon\improved_diffusion.egg-info;F:\desktop\DiffuseRecon\scripts;

 如果输入  addpath E:\llj\ipackage_emd  只能添加ipackage_emd目录,如果该目录下有其他子文件夹,并且运行时候“隐式”调用到这些子文件夹(例如ipackage_emd目录下有子文件夹matdata,该子文件夹下有logo.mat文件,且在m文件代码中使用了load logo这样的句子,即没有显式给出logo.mat的具体路径,则称为“隐式”),则不能正确访问。因此,有必要在添加时使用以下语句把ipackage_emd目录下所有文件夹都添加到搜索路径中。

调用语句:addpath(genpath("E:\llj\ipackage_emd"))

  二、permute()

 permute函数功能是置换数组维度。

语法:B = permute(A,dimorder)

说明:B = permute(A,dimorder) ,B按照向量dimorder指定的顺序重新排列数组的维度。例如,permute(A,[2 1]) 是指交换矩阵 A 第一维(行)元素和第二维(列)元素。

三、reshape()

reshape函数功能是重构数组。

语法:B = reshape(A, sz);
说明:B按矢量sz定义的维度(包括行数 列数 维数)重构矩阵A来得到矩阵B

实现方式:先将矩阵A先排列成一列(结果感受就是按列优先排列),再按照矢量sz定义大小的行数切割

实例:

A = rand(4,5)

0.3537    0.6694    0.6692    0.3119    0.8322
0.6230    0.1045    0.5429    0.9518    0.3994
0.6557    0.4872    0.5621    0.9596    0.4807
0.1019    0.2323    0.9449    0.1287    0.2518

B = reshape(A, 10, 2)

0.3537    0.5621
0.6230    0.9449
0.6557    0.3119
0.1019    0.9518
0.6694    0.9596
0.1045    0.1287
0.4872    0.8322
0.2323    0.3994
0.6692    0.4807
0.5429    0.2518

四、size()/length()/numel()

size:获取数组的行数和列数

length:数组长度(即行数或列数中的较大值)

numel:元素总数。

s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。

[r,c]=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量。

如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或列数。 其中r=size(A,1)该语句返回的时数组A的行数, c=size(A,2) 该语句返回的时数组A的列数。

n=numel(A)该语句返回数组中元素的总数。    

n=length(A):如果A为非空数组,返回行数和列数两者之间数值较大的那一个值,即相当于执行了max(size(A));如果A为空数组,则返回0;如果A是一个向量则返回A的长度。

n=max(size(A):若A为非空数组,返回A的最大维数;若A为空数组,返回A中最长的非0维数。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值