通过大量的变量之间的有效运转?

5视图(30天)
这里有一个问题。
想要通过大量的变量在不同的函数。
在m文件中定义这些变量。和其他m文件(函数)需要使用这些变量。
我怎样才能有效地分享这些变量?
我知道我可以定义一个结构,把所有的变量。
但每次我需要使用这些变量需要写很多行开始等
nelx = Prob.nelx;
不= Prob.nely;
我想知道有没有其他方法来做呢?

接受的答案

1月
1月 2013年2月11日
使用单一结构从一个专门的函数m是一个很好的策略已经:它使定义在一个文件中,记忆效率和清洁。
请注意,表达式 不= Prob.nely 不复制数据,如果这个数组有超过1的元素。Matlab使用共享数据而不是副本,这意味着变量 指向内存中的值相同的字段 Prob.nely
这个函数 FEX: structvars 复制的字段结构自动变量。但这是容易编程错误,例如如果函数需要使用一个字段,您忘了定义的结构体,那么生成的错误消息会混乱,虽然 不= Prob.nely 将创建一个明确的信息像“没有字段ne在结构”。除了创建变量 动态 不允许Matlab的JIT加速器工作有效率,这样程序的总性能将会降低。
摘要:当前方法是高效、清洁、清晰。

更多的答案(3)

托尔斯滕
托尔斯滕 2013年2月11日
而不是写语句
nelx = Prob.nelx;
不= Prob.nely;
你可以做你的概率计算。nelx和概率。不,我。e,在您的代码只需每个nelx前缀,ne,……遇到的问题。”,例如,
x = 123 *概率。nelx + 2 * Prob.nely;

优素福Khmou
优素福Khmou 2013年2月11日
在工作区中创建变量并保存“保存”命令,每例如果您创建两个变量a和b,然后:保存youfilename b
在不同M-files您加载文件“加载”功能:
负载yourfilename
5个评论
1月
1月 2013年2月11日
写入磁盘一定程序中的一个瓶颈。全局变量是一个坏主意也:即使这将加快项目一些百分比,调试和维护的代码将需要更多的时间,这是更容易浪费几天或几周。

登录置评。


乔斯(10584)
乔斯(10584) 2013年2月11日
为什么不是简单地通过()的一部分结构围绕这些功能吗?

类别

找到更多的在变量帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!