matlab路径传递,Matlab:路径的操作
添加相对路径
在matlab中当代码很多时常常将结果存在不同的⽂件夹下⾯,常常使⽤相对路径对函数进⾏调⽤,但有时会存在问题。举个栗⼦:代码结构如下:
/codes/A/AA/code1.m
/codes/A/lib_A/lib1.m
/codes/B/BB/code2.m
/codes/B/lib_B/lib2.m
代码的依赖关系如下:
code1.m 依赖lib1.m
code2.m 依赖lib2.m和code1.m
⼩⿇雀栗⼦如下:
code1.m
function code1(a,b)
addpath('../lib_A/');
c=[a,b];
lib1(c);
end
lib1.m
function lib1(string_name)
print(string_name);
end
lib2.m
function str_name=lib2(number_name)
str_name=['00',num2str(number_name)];
end
code2.m
addpath('../lib_B/');
shot1=12345;
shot2=39045;
str1=lib2(shot1);
str2=lib2(shot2);
addpath('../../A/AA/');
code1(str1,str2);
测试运⾏结果:
意料之外的,会出现报错:
Undefined function or variable 'lib1'.
Error in code1 (line 5)
lib1(c);
出现这个错误的原因是运⾏的⽂件code2.m位于/code/B/BB/位置,这个是进⾏相对路径搜索的原点。
通过执⾏addpath('../lib_B/')可以正确的加载lib2.m,运⾏addpath('../../A/AA')也可以正确的地加载code1.m
但是在调⽤code1.m的过程,运⾏这句加载语句却出现了错误,addpath('../lib_A/');
这是因为虽然我们已经调⽤了code1.m但是此时的搜索原点仍然是以主调函数code2.m为基准的。相当于在/code/B/BB/的路径下addpath('../lib_A/'),这样⾃然不到lib1.m。
要解决这个问题,可以在code2.m的⽂件中添加lib1.m所在的位置。addpath('../../A/lib_A/'),这样就可
以正确的运⾏code2.m了。
当然,这个解决⽅法并不是很令⼈满意,因为每次从外部调⽤函数的时候,都要额外添加该函数所依赖的路径。如果可以使被叫函数⾃动根据⾃⼰的位置调⽤⾃⾝所依赖的路径,那么⼀定会⽅便很多。如果园⼦⾥的⼤神有什么解决⽅案,欢迎留⾔⽀招。
Matlab命令——⽬录操作(windows&;Linux)
Matlab命令——⽬录操作(windows&Linux) 1. filesep⽤于返回当前平台的⽬录分隔符,Windows是反斜杠(\),Linux是斜杠(/).有时此命令结合ispc命令使 ...
Node.js⽂件系统、路径的操作详解
17173 17173 2 75 2014-12-12T05:06:00Z 2014-12-12T05:06:00Z 21 2735 15595 www.17173 129 36 18294 ...
图像卷积、相关以及在MATLAB中的操作
图像卷积.相关以及在MATLAB中的操作 2016年7⽉11⽇ 20:34:35, By ChrisZZ 区分卷积和相关 图像处理中常常需要⽤⼀个滤波器做空间滤波操作.空间滤波操作有时候也被叫做卷积滤 ...
filezilla使用教程Node.js⽂件系统、路径的操作函数
Node.js⽂件系统.路径的操作函数 ⽬录 Node.js⽂件系统.路径的操作函数 1.读取⽂件readFile函数 2.写⽂件 3.以追加⽅式写⽂件 4.打开⽂件 5.读⽂件,读取打开的⽂件内容到 ...
Visual Studio 控制台应⽤程序 同时使⽤OpenCV和matlab mat⽂件操作
matalb具有灵活的图像处理,代码编写起来简洁⽽⾼效.⽽OpenCV具有很多成熟的计算机视觉算法,能够处理很多实时的识别处理等问题,⽽且代码运⾏起来效率很⾼.所以如何结合两者之间的优点,是让很多学术 ...
(转)AIX下的MPIO、RDAC、SDDPCM多路径软件操作 (AIX下的MPIO,查看AIX下hdisk与盘柜卷lun的对应关系)
AIX下的MPIO.RDAC.SDDPCM多路径软件操作 (AIX下的MPIO,查看AIX下hdisk与盘柜卷lun的对应关系) 原
⽂:blog.163/huangbao_007 ...
matlab常⽤⽬录操作
总结matlab下常⽤到的⽬录操作 添加当前⽂件夹及其⼦⽂件夹⾄搜索路径 % add path rootDir = fileparts(mfilename('fullpath')); addpath( ...
MATLAB基础指令操作
由于课程实验需要学习使⽤了MATLAB,在此记录⼀下MATLAB的基本操作和命令,供参考与查阅. 学习过程中的资料也链接如下: MATLAB 矩阵运算:wenku.baidu/v ...
python - os.path,路径相关操作
python处理系统路径的相关操作: # -*- coding: utf-8 -*- import os # 属性 print '__file__: %s' % __file__ # 绝对路径(包含⽂ ...
随机推荐
mono for android学习过程系列教程(4)
今天要讲的事情是构建安卓程序的UI界⾯. ⾸先给⼤家上点⼩点⼼,如图: 上⾯就是我们界⾯的设计模块,仔细看中间⼤块的下⽅,有⼀个Source,这就类似webform⾥⾯的设计和源代码界⾯. 在这个页⾯ ...
Python 登录系统
---------------------------------------------------------------------------------------- 该程序主要实现了以下3 ...
⽹络流dinic实现总结
太羞耻了,搞了半天居然没发现⾃⼰写的不是dinic,直到被⼀道时限紧的题⽬卡掉才发现 int dfs(int now,int flow,int sum) { if(now==n) return flo ...
JSON格式互转集合
在⼯作中我们经常会遇到格式转换的问题,有的时候是将JSON转换成DataTable.DataSet或是List等,也有可能将DataTable.DataSet或是List转换成JSON的,抽了点时间把 ...
GATK使⽤说明(⼀)
1. 官⽅⽹址 /gatk/
2. 下载Latest version:
3.7 3. FileZilla 上传⾄服务器,解压 ta ...
jdbc基础 (⼀) MySQL的简单使⽤
前段时间学习了jdbc,正好利⽤这⼏篇⽂章总结⼀下. JDBC 可做三件事:与数据库建⽴连接.发送操作数据库的语句并处理结果. ⽽程序⾸先要做的就是加载数据库驱动,这⾥我使⽤的是mysql: Stri ...
关于通过JS识别浏览器类型的⽅法
JS检测浏览器类型的⽅法 ⽹络上⼀般采⽤navigator.userAgent判断浏览器标识的办法,但是有个⿇烦的问题是IE11不断升级之后,IE11的userAgent变成: "Moz ...
Android内存管理(4)*官⽅教程 含「⾼效内存的16条策略」 Managing Your App's Memory
Managing Your App's Memory In this document How Android Manages Memory Sharing Memory Allocating and ...
Day 5内存管理,定义变量
昨⽇内容回顾 python的2种执⾏⽅式 交互式 写⼀句翻译⼀句 优点:能及时发现bug,及时调试 缺点:关即消失,不能保存 命令⾏式 优点:可以永久保存 缺点:⽆法及时看到结果 python3 c: ...
BAT:通过连接符处理判断OR的关系
使⽤情况说明: 适⽤于对某个⽂件夹下不同的⽂件夹(名称)做不同的处理,但存在需要对其中多个⽂件夹(名称)进⾏相同处理的情况 例⼦中的⽬录结构: .\1.2.3 -- ⽂件夹.\a.b.c -- ⽂件夹 ...
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论