【发布时间】:2015-10-21 03:30:34
【问题描述】:
假设我有一个目录列表:
/users/david/patients/patientID/Day
/users/david/patients/patientID/Daya/HospID_x/Data
/users/david/patients/patientID/Dayb/HospID_y/Data
/users/david/patients/patientID/Dayc/HospID_z/Data
/users/david/patients/patientID/Day
/users/david/patients/patientID/Daya/HospID_x/Data
/users/david/patients/patientID/Dayb/HospID_y/Data
/users/david/patients/patientID/Dayc/HospID_z/Data
/users/david/patients/patientID/Day
.
.
数据是混合的,包含图像、矢量、文本等。我已经生成了一个文件夹列表,其中包含我要对其执行操作的数据。在我的脚本中处理这些数据类型之后,我在工作区中生成了一堆变量。变量在下一个循环中被覆盖。我想创建一个包含这些变量或结果的结构文件。这意味着,患者将在患者 ID 下拥有多个 DaysID,在 DaysID 下拥有不同的 HospID。
【问题讨论】:
-
您觉得可以创建一个树结构来更好地解释这一点吗?我很难找到哪些字段是值,哪些是标题。
-
这是树形结构:imgur.com/OEHqfT6,谢谢。让我难过的是结构中的字段被访问过一次,以及在字段中创建的值。
-
你对嵌套结构数组而不是单元格有什么看法?此外,这里的性能是一个问题吗?如果性能是一个问题,您应该使用嵌套的 for 循环或 while 循环。由于结构是固定的(嵌套 for 循环的部门是确定性的),这很容易。让第一个循环为
Patient并深入每个循环。字段的名称可以用这种方式设置,t='DayA'; q.(t) = 'foo';。尝试这个。当我不确切知道您的变量是什么样子时,很难提供代码。对于嵌套结构数组,我的意思是包含其他结构或结构数组的结构数组 -
请找到上面的代码,文件夹列表如上即:
-
好的,谢谢,我想我现在开始清楚地了解这个问题了。我了解您想从文件夹系统中命名结构。就多了一个问题。文件夹
/users/david/patients/patientID/Day是这些具有确切名称的空文件夹(可能除了唯一的患者 ID)?
标签: matlab if-statement for-loop data-structures struct