52matlab技术网站,matlab教程,matlab安装教程,matlab下载

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4030|回复: 0
打印 上一主题 下一主题

matlab文件组织方法

[复制链接]

123

主题

207

帖子

2996

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2996
跳转到指定楼层
楼主
发表于 2017-10-24 18:12:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 matlab的旋律 于 2017-10-24 18:14 编辑

     把所有的文件放到一个路径下很凌乱,尤其matlab中一个函数一个文件!想要分类存放怎么办,之前一直用addpath函数(添加路径)和rmpath函数(删除路径)来实现,今天看到package的使用方法,mark一下。原文链接:http://blog.sina.com.cn/s/blog_88c6b0cc0101qrm7.html
package文件夹是以+号开头的文件夹。
调用包内的函数要使用  包名.函数名
private文件夹是只能供包内的函数使用的函数, 使用时直接写函数名即可
废话不多说,直接来例子最直观!文件夹结构如下图所示,其中的函数只是简单的加减乘除四则运算:


以下测试代码包含的内容:
调用包内的函数
调用子包的函数
引入包内的函数
包内函数调用private文件夹内的函数

%Matlab代码
clc;clear;   
help mypackage %列出包内的各个函数的help,不包含子包的   
what mypackage %列出包内文件列表及子包的列表   
sum1_2=myPackage.add(1,2)  %调用包内的函数要使用  包名.函数名   

% import myPackage %整个包都引入   
import myPackage.sub %只引入一个函数,   
sub1_2=sub(1,2) %引入后可以直接用函数名调用了   
clear import   
% doc import   

div1_2=myPackage.childPackage.div(1,2) %两层的包     
mul1_2=myPackage.invokeMulInPrivate(2,3) %包内的函数可以调用包内 private文件夹中的函数   
depdencyOfInvokeMulInPrivate=depfun('myPackage.invokeMulInPrivate') %列出该函数使用到的函数,可以看到调用了private文件夹中的函数   
myPackage.errorWhenInvokeAddFunctionInTheSamePackage  %即使是包内的文件,也不能直接调用包内的函数!!必须加上包名,不爽啊!!!
可以在每个包内的函数文件内部 写上'import packagename.*' 注意不能在函数内部写'clear import',只能在主函数内写'clear import'


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|52matlab技术网站 ( 粤ICP备14005920号-5 )

GMT+8, 2024-5-18 15:54 , Processed in 0.087012 second(s), 20 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表