1、第八讲作业答案,赵瑞,第八讲作业: 衡量一段时间t1,t2的用药疗效,通常看这段时间cd4细胞的净增率: (t2时刻的cd4细胞浓度 t1时刻的cd4细胞浓度)/t1时刻的cd4细胞浓度 对附件2中的数据进行分析,要求: 1)只考虑测量了6次的病人,并且各次cd4细胞浓度均不为零 2)对每种疗法按年龄段分类,两个年龄段: 40岁以下(包括40)、40岁以上(不包括40) 3)观察疗效并且预测以后的疗效 例如:满足1)、2)的第一种疗法的40岁以下病人,每个人都计算五个时间段的每段的cd4细胞的净增率,然后求各个时间段这些病人的cd4细胞的净增率的平均值,用这五个平均值衡量第一种疗法对于年龄在4
2、0岁以下病人的疗效,为了预测以后的疗效,对这五个值进行多项式拟合,求出误差,并且画出图一共有4种疗法,两个年龄段,所以应该做出八组曲线和图,用来衡量 这4种疗法对于每个年龄段病人的疗效,根据曲线的走势预测以后的疗 效。,load data.txt %读取数据data A=cell(4,2); %建立元胞数组A,Ai,j是一个矩阵 %表示满足条件的采用第i种疗法、 %第j个年龄段的病人五个时间段的cd4净增率 %如果第i种疗法、第j个年龄段的病人有n个, %则Ai,j应该有n行5列 id=data(:,1); %病人id,列向量 prog=data(:,2); %疗法 age=data(:,3)
3、; %年龄 cdn=data(:,5); %cd4浓度,%下面循环 for i=1:1313 %遍历所有病人ida=find(id=i); %id为i的病人的位置%下面判断id为i的病人是否满足条件if length(ida)=6 %id为i的病人是否测了6次%如果测了六次,再判断cd4浓度中是否有零cdz=(cdn(ida)=0);%cdn(ida)表示id为i的病人cd4浓度%cdz是个逻辑数组,size与cdn(ida)一样%cdn(ida)中零元素,cdz中相同位置返回1%cdn(ida)中非零元素,cdz中相同位置返回0if sum(cdz)=0 %如果cdz元素和为0,说明cdn(
4、ida)所有元素非零,这个病人满足要求%下面计算这个病人cd4净增率idcd4jz=(idcdn(2:end)-idcdn(1:end-1)./idcdn(1:end-1);,idprog=prog(ida(1); %这个病人采用的疗法是idprogidage=age(ida(1); %这个病人的年龄是idageif idage=10%给Aidprog,2增加一行endendend end,B=cell(4,2); %建立元胞数组B, %Bi,j是一个行向量,表示满足条件的采用第i种疗法、 %第j个年龄段的n个病人五个时间段的cd4净增率平均值 k=1; for i=1:4for j=1:2Bi,j=mean(Ai,j,1); %对Ai,j这个矩阵按列求平均值subplot(4,2,k),plot(1:5,Bi,j,r*); %画图k=k+1;end end,