假设我有一个表单结构:
firstrun.(char(patient(ldy,1))).(char(dypatient(llc,1))).(char(lcpatient(mps,1))).MaxCount;
结构变量然后具有长度为i的患者,该患者也具有长度j,依此类推。这允许我们有一棵树,以便我们可以从现场患者中挑选一个并选择与该患者相关的其他领域。
现在在行的末尾或最后一个存储所有值的字段中,我有一个包含单个值的字段。 MAXCOUNT。如下面的代码。
每位患者都有第一天或第一天,医院ID或位置。在提交的位置我有一个MaxCount。
例如,在第二天或第二天,我有相同的医院ID或位置,但具有不同的MaxCount。
我想在数天内有一个最大计数的图,记住这些是奇异值。例如:
firstrun.patientID.dayID_1.hospID_3.MaxCount is only 39
firstrun.patientID.dayID_2.hospID_3.MaxCount is only 22
.
.
.
firstrun.patientID.dayID_i.hospID_j.MaxCount is only 2
The vector to plot is then [39, 22, ...., n]
所以我对几天内每个医院ID或位置的访问次数有不同的情节。
%% load file
load('/Users/dave/Desktop/firstrun.mat')
if exist('firstrun','var')==1
patient = fieldnames(firstrun);
for ldy = 1:length(patient);
dypatient = fieldnames(firstrun.(char(patient(ldy,1))));
for llc = 1:length(dypatient);
lcpatient = fieldnames(firstrun.(char(patient(ldy,1))).(char(dypatient(llc,1))));
for mps = 1:length(lcpatient);
pspatient = fieldnames(firstrun.(char(patient(ldy,1))).(char(dypatient(llc,1))).(char(lcpatient(mps,1))));
MaxCount = firstrun.(char(patient(ldy,1))).(char(dypatient(llc,1))).(char(lcpatient(mps,1))).MaxCount;
end
end
end
else
disp('Variable does not exist')
end
如何为同一患者循环查看每天的位置,将相同位置分组在一起并绘制每个位置的访问变化情况?
谢谢你的帮助。
答案 0 :(得分:0)
下面的代码是
%% load file
load('/Users/dave/Desktop/TrialRun.mat’)
if exist('variablestruct','var')==1
patient = fieldnames(Patesyap);
for ldy = 1:length(patient);
dypatient = fieldnames(DataSynapto.(char(patient(ldy,1))));
for llc = 1:length(dypatient);
lcpatient = fieldnames(DataSynapto.(char(patient(ldy,1))).(char(dypatient(llc,1))));
for mps = 1:length(lcpatient);
pspatient = fieldnames(DataSynapto.(char(patient(ldy,1))).(char(dypatient(llc,1))).(char(lcpatient(mps,1))));
MaxCount = DataSynapto.(char(patient(ldy,1))).(char(dypatient(llc,1))).(char(lcpatient(mps,1))).MaxCount;
TemppatientID = patient(ldy,1);
PlotpatientLoc.(char(TemppatientID))(llc,1).(char(lcpatient(mps,1)))=MaxCount;
end
end
end
else
disp('variablestruct does not exist')
end
if exist('PlotpatientLoc','var')==1
PlotHold = fieldnames(PlotpatientLoc);
for patientIDPlot = 1:length(PlotHold);
mpatient = fieldnames(PlotpatientLoc.(char(PlotHold(patientIDPlot,1))));
for locloos = 1:length(mpatient);
plot((1:max(size([PlotpatientLoc.(char(PlotHold(patientIDPlot,1))).(char(mpatient(locloos,1)))]))),...
[PlotpatientLoc.(char(PlotHold(patientIDPlot,1))).(char(mpatient(locloos,1)))])
hold on
end
end
else
disp('Plot Variable Do not exist')
end