精华内容
下载资源
问答
  • Matlab 路径函数

    2021-04-20 06:01:55
    目前内容:**fileparts / mfilename / fulfile / genpath / addpath **fileparts***[pathstr,name,ext] = fileparts(filename) ***将filename字符串分解成路径,文件名和文件后缀。文件可以不存在,ext中含有前缀dot...

    整理备忘,后续可能继续补充。目前内容:

    **fileparts / mfilename / fulfile / genpath / addpath **

    fileparts

    ***[pathstr,name,ext] = fileparts(filename) ***

    将filename字符串分解成路径,文件名和文件后缀。文件可以不存在,ext中含有前缀dot(.)。

    file = 'H:\user4\matlab\myfile.txt';

    [pathstr,name,ext] = fileparts(file)

    pathstr =

    H:\user4\matlab

    name =

    myfile

    ext =

    .txt

    mfilename

    返回当前执行代码的文件名。fullpath参数指定返回完整路径+文件名。

    mfilename

    p = mfilename('fullpath')

    fullfile

    f = fullfile(filepart1,…,filepartN)

    构建完整文件名。

    f = fullfile({'a','b'},{'c','d'},'io.m')

    f =

    'a\c\io.m' 'b\d\io.m'

    genpath

    p = genpath(folderName)

    返回包含folderName及其多级子目录的路径。这些目录不包括隐藏文件夹、@

    开头的文件夹(类目录),+开头的文件夹(包目录)。

    addpath

    将目录添加到matlab搜索路径之中。position参数可以指定添加到搜索路径的顶部或底部。默认在顶部。

    frozen参数禁止Windows系统下添加目录的提示警告。

    addpath(folderName1,...,folderNameN)

    addpath(folderName1,...,folderNameN,position)

    addpath(___,'-frozen')

    oldpath = addpath(___)

    folderName = fullfile(matlabroot,'toolbox','images','colorspaces');

    p = genpath(folderName);

    addpath(p)

    将指定目录下的所有子目录加入搜索路径。

    展开全文
  • 有些我们自己写的MATLAB函数,希望能够在任何目录下面访问,而不是每次都把这些函数复制到当前目录current directory下,该如何操作呢?思路就是新建一个文件夹,然后将这个文件夹添加到matlab的系统搜索路径中。有...

    有些我们自己写的MATLAB函数,希望能够在任何目录下面访问,而不是每次都把这些函数复制到当前目录current directory下,该如何操作呢?

    思路就是新建一个文件夹,然后将这个文件夹添加到matlab的系统搜索路径中。

    有不同的方法可以实现,下面介绍两种在windows和linux/unix操作系统下比较容易实现的方法。

    windows系统

    运行matlab,选择“file”--"set path",然后将你已经建好的目录添加进去,然后保存就可以了,如下图所示。

    34bbc0ddccd9aa30c6b0cb627620e170.png

    linux/unix系统

    修改启动加载文件

    matlab在启动时,会自动搜索一些文件中定义的路径,通过在这些文件中添加相关路径,即可以把其添加到搜索路径中。具体操作:

    在 $/matlab/toolbox/local 目录下创建startup.m文件,并在文件中编写类似下面的内容:p=genpath('PATH OF YOU DIRECTORY');

    addpath(p);

    一点点解释是:matlab启动时会先执行 matlabrc.m 文件,而这个文件会搜索 startup.m 文件;如果找到就会执行。所以,如果将你的路径添加到这里,就会被在matlab启动时添加到系统搜索路径。

    matlab环境变量

    上面的方法要修改matlab目录下的文件。如果matlab是由root用户安装的,而你只是一般用户,那么你就没办法使用上面的方法了。不过可以通过增加matlab环境变量实现相同功能。

    编辑用户根目录下.bash_profile文件,在文件最后面添加下面一行export MATLABPATH=YOUR PATH:$MATLABPATH

    然后再更新.bash_profile文件即可,如下。$ source ~/.bash_profile

    参考http://folk.uio.no/jks/matpiv/html/node7.html

    http://www.mathworks.com/matlabcentral/newsreader/view_thread/112560

    展开全文
  • matlab函数用法总结

    2021-04-29 09:51:29
    文件处理系统ispc用来判断当前的电脑系统是否是windows系统,是返回1,不是返回0文件路径Currdir = fileparts(mfilename('fullpath'));addpath(genpath(fullfile(Currdir, 'io')));mkdir(fullfile(Currdir, 'io'));...

    文件处理系统

    ispc用来判断当前的电脑系统是否是windows系统,是返回1,不是返回0文件路径

    Currdir = fileparts(mfilename('fullpath'));

    addpath(genpath(fullfile(Currdir, 'io')));

    mkdir(fullfile(Currdir, 'io'));

    dataset_path = fullfile(Currdir, 'dataset', );

    if exist(dataset_path, 'dir') == 0

    error('dataset_path is missing; See README.md');

    end

    mfilename 表示正在运行的函数的路径

    fileparts 则返回文件上层的文件夹路径

    fullfile 则返回组合文件的全路径

    genpath 递归的产生该文件夹下的所有文件的路径

    addpath 把路径加入到工作区

    exist 查看路径是否存在

    mkdir 创建对应的文件夹文档读写相关

    dir_dataset = dir(dataset_path);

    lMask=cell2mat({dir_dataset(:).isdir});if(any(~lMask)), dataset_path(~lMask)=[]; end; %dir_dataset只保留子文件夹的信息

    strnam = dir('dataset_path*.jpg'); %只保留dataset下jpg文件的信息

    dir获取文件夹的相关信息,返回一个struct strnam = dir('path*.#')中path是你想要获取的文件夹路径,*是通配符,#是你想获取的文件类型,比如jpg,返回文件夹下所有jpg文件的信息

    fid=fopen(filename,permission);

    fid=+N (N>0):文件打开成功,代号为N fid=-1:文件打开失败 permission:'r'-读,'w'-写,'a','rt+','wt+','at+'

    sp=sprintf('pi= %8.5f',pi); %生成格式化字符串stringprintformat

    disp(sp); %->'pi=3.14159'(数字长度8位,小数点后5位,f小数形式)

    fprintf(fid, format, A);%生成格式化字符串到文件或显示屏fileprintformat

    fid为文件句柄(default时为1,直接输出到命令行),指定要写入数据的文件

    format是用来指定数据输出时采用的格式,与fscanf函数相同:

    %d 整数

    %e 实数:科学计算法形式

    %f 实数:小数形式

    %g 由系统自动选取上述两种格式之一

    %s 输出字符串

    A是用来存放数据的矩阵。

    [A, count]=fscanf(fid,format,size)%从一个文件中读取数据到A中,常用于画图

    fid=fopen('d:num.txt');

    data=fscanf(fid,'%f,%f,%f',[3,inf]) ;%这里得用单引号

    fclose(fid);

    size=[3,inf]文件d:num.txt内容如下:13,1,3.4

    3,2.1,23

    data结果如下:13,3

    1,2.1

    3.4,23

    for d=1:3

    s = ['load August',int2str(d),'.mat']

    eval(s)

    end

    eval将字符串转换成可执行的语句并运行,上面的循环相当于下面3句话

    load August1.mat

    load August2.mat

    load August3.mat正则表达式regexp

    通用画图

    维度转换

    数据类型转换 cell2mat(),num2str(),str2num(),unique(),cat()

    C = cat(dim, A, B) %按dim来联结A和B两个数组

    cat(2, A, B)%-->[A, B]

    cat(1, A, B)%-->[A; B]

    向量化编程bsxfun arrayfun cellfun structfun

    A = randi(10,3,2)%假设你有3组数据,每一组数据有2维

    7 7

    8 2

    8 8

    A_cell = num2cell(A,2)%先将其按行转化为cell

    [1x2 double]

    [1x2 double]

    [1x2 double]

    y_hat = cellfun(@(x) (x.*10) ,A_cell, 'UniformOutput', false)%这样就可用cellfun进行向量化处理了

    [1x2 double]

    [1x2 double]

    [1x2 double]

    y = cat(1,y_hat{:})%处理完成之后,又变换回原来的格式

    70 70

    80 20

    80 80

    函数相关函数输入参数

    nargin对应varargin的个数,是一个数值,而varargin用来存入输入变量,以元胞数组形式存储 nargout对应varargout的个数,是一个数值,而varargout用来存入输出变量,以元胞数组形式存储 nargin用来判断输入变量个数的函数。可以针对不同的输入参数个数执行不同的功能。通常用它来设定一些默认值。

    展开全文
  • 这是别人总结的三种编译的方法%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5方法一:已有gui.m文件和gui.fig文件1 在matlab的command窗口中输入mcc -B sgl GUI.m2.将上步生成的文件包括*m 文件...

    这是别人总结的三种编译的方法

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5

    方法一:

    已有gui.m文件和gui.fig文件

    1 在matlab的command窗口中输入

    mcc -B sgl GUI.m

    2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器

    此时仍需matlab所必需的动态连接库。

    3. 将 /extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上

    4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在将在指定目录下解压缩出bin和toolbox两个子目录,

    其中在bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共

    有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。

    而toolbox目录则必须与应用程序同一目录。

    方法二:

    matlab编程很方便,强大的矩阵运算功能,很多好用的工具箱,但是一般程序都要在matlab环境中运行,能否脱离这个环境打包发布呢,matlab也提供了这样的工具。

    1. 转化为c/c++程序并编译为.exe

    先验证mcc是否可用,用matlab中的example验证即可

    建议不用matlab默认的lcc 编译器(可能有问题),可使用VC6编译器(按默认路径安装)

    由于带有界面,需要图像库支持,编译时应使用命令: mcc -B sglcpp pressure

    编译生成若干c/c++源码,以及.exe文件、bin目录中figure菜单条/工具条文件(.fig)等

    程序发布需要.exe、bin\、.fig

    2. 在未装matlab的电脑上运行程序需要数学运行时库、图像运行时库以及用到的工具箱mex文件

    前两者已经在\matlab\extern\lib\win32mglinstaller.exe压缩包中,将其解压,并在环境变量path中添加解压到的路径

    另外若程序中还用到其他工具箱的东西,那么需要将此工具箱中需要的mex文件也一并放在解压到的路径,子文件夹位置与matlab中的位置相同

    3. 在确保.exe程序可以运行的情况下 可以用setup factory打包发布

    以下通过注册表自动添加path路径

    %--------------------------------------------------------------------------------------

    Screen.Next(); -- 进入下一个屏幕

    resultDialog = Dialog.Message("注意", "向环境变量中加入matlab数学库及图象库的安装路径?", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);

    if (resultDialog == IDYES) then --加入安装路径

    strPath = Registry.GetValue(HKEY_CURRENT_USER, "Environment", "path", true);

    if strPath ~= ""  then

    strPath = String.Concat(strPath, ";");

    end

    strPathToAdd = SessionVar.Expand("%AppFolder%");

    strPathToAdd = String.Concat(strPathToAdd,"file://MATLAB6p5//bin//win32");

    -- 如果路径中无该位置,则加入

    if String.Find(strPath,strPathToAdd) == -1 then

    strPath = String.Concat(strPath, strPathToAdd);

    Registry.SetValue(HKEY_CURRENT_USER, "Environment", "path", strPath, REG_SZ);

    end

    end

    %--------------------------------------------------------------------------------------

    方法三:

    在网上搜了一个方法,还没有用过, 贴在这里仅供参考:

    一、 完全可以,而且生成的.exe文件可以在没有安装matlab的机器上使用,方法吗---

    首先,使用mcc编译得到.exe文件,具体参数见帮助文件;

    其次,将.exe文件及相关资源文件以及一个称为mglinstaller.exe的软件包一起拷到别的机器上,运行mglinstaller.exe,并添加环境变量path,即可执行.exe文件

    第三,在MATLAB环境,执行命令

    mcc  -m  -B   sgl  file.m

    或者    mcc -p  -B  sglcpp  file.m

    请键入help  mcc看帮助。

    mcc是在“command   windows”   用的吗?

    只要“mglinstaller.exe”,与.exe文件及相关资源文件就可以了吗.

    还有“添加环境变量path”是path到.exe文件的环境中是吧?

    二、 在matlab下的workspace里打comtool,点file-open project将我们先前建好的comtest.cbl工程文件打开,再点component--package component就实现了打包,此时到comtest\distrib文件夹里看,生成的comtest.exe就是打包后的解压程序,双击它会解压出一些文件,再点击解压出来的_install.bat就可以实现安装

    三、 如何将gui生成exe ?

    已有gui.m文件和gui.fig文件

    1 在matlab的command窗口中输入

    mcc -B sgl GUI.m

    2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器

    此时仍需matlab所必需的动态连接库。

    3. 将 /extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上

    4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在指定目录下解压缩出bin和toolbox两子目录,其中在bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。而toolbox目录则必须与应用程序同一目录。

    5.大功告成

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    其中的mglinstallar.exe我的机器上怎么没有呢

    这和math兄说的mcrinstaller是一个东西吗?

    我想编译成独立运行的小程序

    需要用到各种数学、绘图以及小波等等函数

    该怎么办呢?

    [本帖最后由 junzifei 于 2008-3-10 19:47 编辑]

    展开全文
  • 第1章 MATLAB操作基础1.1 MATLAB概述1.1.1 MATLAB产生的历史背景1.1.2 MATLAB的主要功能1.1.3 MATLAB的语言特点1.2 MATLAB的运行环境及安装1.2.1 MATLAB的运行环境1.2.2 MATLAB 7.0的安装1.3 MATLAB集成...
  • MATLAB函数速查手册

    万次阅读 多人点赞 2018-03-25 09:06:26
    MATLAB函数速查手册》较全面地介绍了MATLAB的函数,主要包括MATLAB操作基础、矩阵及其基本运算、与数值计算相关的基本函数、符号运算的函数、概率统计函数、绘图与图形处理函数、MATLAB程序设计相关函数、Simulink...
  • matlab程序运行指定的函数需要在当前的工作路径列表path中,否则不可认。调试和编程常用的三个函数:1,pwd 找到当前工作文件夹currentFolder = pwd会返回一个类似与:C:MATLABParticleFilter的地址2, addpath 添加...
  • matlab函数总结

    千次阅读 2018-07-28 10:38:58
    ndims(A)返回A的维数 size(A)返回A各个维的最大元素个数 length(A)返回max(size(A)) [m,n]=size(A)如果A是二维数组,返回行数和列数 nnz(A)返回A中非0元素的...MATLAB的取整函数:fix(x), floor(x) :,ceil(x) , ro...
  • 有关文件路径的几个函数在编程中的作用Last Edit 2014/1/161,genpath: (gen=generate,顾名思义就是一个产生路径函数,这个路径须存在)genpathgenpath directoryp = genpath('directory')>>genpath其结果为C:\...
  • 目录1 常用命令表1.1 管理用命令表1.2管理变量与工作空间用命令表1.3文件与操作系统处理命令表1.4窗口控制命令表1.5启动与退出命令2 运算符号与特殊字符表表2.1运算符号与特殊字符表2.2逻辑函数3 语言结构与调试表...
  • addpath(genpath('路径名')); 重点在于genpath,记得要加上~
  • MATLAB搜索路径设定

    千次阅读 2018-09-12 18:19:01
    MATLAB中,脚本或函数只有在当前路径或搜索路径中才是可被调用的。搜索路径MATLAB系统中预先设定的一系列路径,用户也可以进行添加、修改或删除。 1. 工作区变量 在D:\Matlab\Ch01下,输入以下命令: 可以...
  • 直接在图的带权邻接矩阵中用插入顶点的方法依次递推地构造出n个矩阵D(1),D(2)…D(n)(每次加入一个点然后更新最短路径矩阵D),D(n)是图的最短距离矩阵,同时引入一个后继点矩阵path记录两点间的最短路径。...
  • 用addpath把文件加入它的工作路径后,就不会弹出提示。 比如: addpath ABC; 或者 addpath(a);%a为路径 也可以添加当前文件夹及其子文件夹到路径 addpath matlab currentFolder = pwd; addpath(genpath(current...
  • 这里就总结一下如何在VS工程中调用MATLAB函数,以及遇到的问题如何解决的方法。 VS配置 这一步很重要,类似于其他C++库的配置,如:添加包含目录和库路径。 添加库目录(自己的MATLAB安装路径中查找):D:\...
  • 【转载】matlab添加路径

    万次阅读 2018-08-29 21:48:53
    1. 添加路径:addpath('当前路径中的文件夹名1','当前路径下的文件夹名2','当前路径中的文件夹名n');【即可一次性添加多个路径】 addpath('./上级目录中的文件夹1','./上级目录中的文件夹2','./上级目录中的文件夹...
  • matlab中save、load添加路径的使用方法

    千次阅读 2020-03-21 22:20:08
    matlab中save、load添加路径的使用方法 原文连接:https://blog.csdn.net/m0_38103697/article/details/78246664?depth_1- 1 、添加存储路径: workpath = strcat(filesep,'tmp',filesep,'example_',datestr(now,'...
  • 1.filesep 用于返回当前平台的目录分隔符...用于将若干字符串连接成一个完整的路径。例如: >> f=fullfile('D:','Matlab','example.txt') f=D:\Matlab\example.txt (在Windows中,“D:\”表示D盘,“D:”表示目录)
  • MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如:>> (5*2+1.3-0.8)*10/25ans =4.2000MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer...
  • matlab相对路径摘抄

    千次阅读 2019-12-16 20:02:33
    matlab相对路径摘抄 1 当前路径下 (mat和m文件在一起) : load .mat; 在下一级路径下 : load .下一级路径的文件夹名.mat; 在上一级路径下: load …***.mat; 在平行文件夹内 : load …平行的文件夹***.mat; 在上...
  • 如何将一个新函数加到MATLAB函数库中
  • matlab 中读取全是数字的txt文件并赋值给数组以及添加绝对路径的办法(用于uigetfile和fopen连用)近日初学分子模拟,手上有一大堆数据,我首先想画出分子的位置,捣鼓了半天,总算搞出了一点点动静哈哈。放出源程序...
  • 如何将一个新函数加到MATLAB函数库中 ...
  • Matlab导入编写的函数

    2020-02-15 16:39:37
    1.在网上搜索的matlab函数或自己编写的函数,想要导入matlab库中,先在该路径保存该函数,然后设置路径->删除该路径->添加文件夹->选择该路径->保存,就可以了。 2.导入Libsvm时,参考相关教程,需要...
  • MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如:>>(5*2+1.3-0.8)*10/25ans =4.2000MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)...
  • 文章目录MATLAB基础变量命名规则特殊变量常用变量数据类型路径管理工作空间MATLAB基础变量命名规则以字母开头,可以包含字符、数字、下划线。长度 <=63特殊变量ans 运算结果的默认变量名beep 使计算机发出蜂鸣声...
  • vs2013调用matlab函数

    2021-04-19 02:07:07
    1、添加matlab环境:在vs2013中vc-directory中添加matlab的excutable 、include、library的directoryInclude:E:\matlab2014\extern\includeLibrary:E:\matlab2014\extern\lib\win64\microsoft然后再linker的input中...
  • matlab程序运行指定的函数需要在当前的工作路径列表path中,否则不可认。调试和编程常用的三个函数:1,pwd 找到当前工作文件夹currentFolder = pwd会返回一个类似与:C:MATLABParticleFilter的地址2, addpath 添加...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,024
精华内容 2,009
关键字:

matlab函数加入路径

matlab 订阅