1、生物医学数据分析,刘青萍,函 数,汽车以60千米/时的速度匀速行驶,行驶 里程为S千米,行驶时间为t小时,试用 t的代数式表示S,S = 60 * t,弹簧的长度与所挂重物有关,如果弹簧原长为10cm,每1千克重物使弹簧伸长0.5cm,怎样用含重物质量m(kg)的式子表示受力后的弹簧长度L(cm)?,L = 10 +0.5*m,用10cm长的绳子围成长方形,若长方形的一边长为xcm,则长方形的面积S为多少?,S = x * (5 - x),有什么共同点?,每个变化的过程中都存在着两个变量,当其中一个变量变化时,另一个变量也随着变化,当一个变量确定一个值时,另一个变量也随着确定一个值,1,2,3
2、,心脏部位 生物电流,时间,y,x,函数不是数,它是指在一个变化过程中两个变量之间的对应关系。 函数是刻画和描述两个变量之间依赖关系的数学模型。,定义:设在某个变化过程中存在两个变量x和y,若对于变量x的每一个允许取的值,变量y按照某一对应关系,都有唯一确定的值与之对应,则称变量y为变量x的函数,记为y=f(x) , xD多元函数:y=f(x1,x2,xn),(x1,x2,xn)D,静脉注射G钠盐100000单位后,血清中的血物浓度C为时间t的函数C(t):其中时间t的单位为(h),C的单位(单位/mL)。试 绘制C随时间t变化的曲线,选择结构程序是计算机根据给定的条件进行分析、比较和判断,根
3、据判断结果采取不同的操作。选择结构也称为分支结构,通过条件语句来实现。,If条件1 语句块1 ElseIf条件2语句块2 ElseIf条件3语句块3 Else语句块n End,条件1,条件2,条件n-1,语句块1,语句块2,语句块n-1,语句块n,下一条语句,True,False,False,True,True,False,关键字“ElseIf”,If条件1 语句块1 End If条件2 语句块2 End If条件n 语句块n End,function y=func3f1(x) if (x=0) endif (x3)|(x0)error(自变量不在该函数定义域中取值) end,function
4、 y=func3f1(x) if (x=0) else error(自变量不在该函数定义域中取值) end,%exam31.m clear; close all; t=0:0.05:3;%t以0.05的间隔在0,3区间取值; for k=1:length(t)C(k)=feval(func3f1,t(k);%计算每个时刻t对应的C值 end figure,plot(t,C,o-), title(血清中药物浓度随时间变化图(方法1));%加标题 xlabel(t/h);%x坐标轴标注 ylabel(C/unit/ml);%y坐标轴标注,Length函数:数组长度(行数或列数表中最大值),%方法2
5、:在matlab中提供了直接绘制数学函数图形的函数fplot调用形式为:fplot(funname,xlimits), %第一个输入参数为数学函数名,第二个输入参数为自变量的取值范围,注意不要漏掉符号 % figure,fplot(func3f1,0 3); title(血清中药物浓度随时间变化图(方法2)) xlabel(t/h); ylabel(C/unit/ml);,M文件命名要求,M文件名中不能有空格,文件名首字母不能为数字或下划线,不能与Matlab的内部函数名相同,3a.m plot.mexam a1.m _b1.m,已知口服一定剂量的药物后,血药浓度C与时间t的关系为其中时间t的
6、单位为小时(h),C的单位为单位每毫升(单位/ml)。求最高的血药浓度以及达到最高血药浓度的时间,并做出C-t曲线。,40*(exp(-0.2*x)-exp(-2.3*x),求函数极小值命令格式:x,minf=fminbnd(f,a,b) 函数fminbnd(f,a,b)是对f(x)上搜索极小值点求函数极大值命令格式:x,maxf=fminbnd(-f,a,b) 若求f(x)的极大值点,需对- f(x)取极小值点,fplot(x) (40*(exp(-0.2*x)-exp(-2.3*x),0 24,k-)title(40*(exp(-0.2*x)-exp(-2.3*x) fplot(x) (-
7、40*(exp(-0.2*x)-exp(-2.3*x),0 24,r-);title(-40*(exp(-0.2*x)-exp(-2.3*x)函数);,%exam32.m Clear; Close all; tmax=fminbnd(x) -40*(exp(-0.2*x)-exp(-2.3*x),0,24);%找到对应于最大血药浓度的时刻tmax fmax=feval(x) (40*(exp(-0.2*x)-exp(-2.3*x),tmax); %得到最大血药浓度 fplot(x) (40*(exp(-0.2*x)-exp(-2.3*x),0 24,k-)title(血药浓度随时间变化图);%
8、加标题xlabel(t/h);%x坐标轴标注ylabel(C/unit/ml);%y坐标轴标注 hold on fplot(x) (-8*exp(-0.2*x)+92*exp(-2.3*x),0 24,k-.) legend(C(t),C(t); plot(tmax,fmax,*,MarkerSize,10); text(tmax-0.1,fmax+4,strcat(t=,num2str(tmax),Cmax=,num2str(fmax); hold off,研究机体对某种药物的反应,设给予药量x单位, 经过t小时后机体产生某种反应E,且有:其中a为常量(可允许给予的最大药量),本例中取a10
9、单位。试画出该函数图形并进行简单的分析。,x=0:0.5:10;t=0:0.5:10; xx,tt=meshgrid(x,t); E=xx.2.*(10-xx).*tt.2.*exp(-tt); figure,mesh(xx,tt,E,EdgeColor,black); alpha(0.6);%set transparency properties title(药物反应E(x,t); xlabel(给药量/unit),ylabel(时间/hour),zlabel(药物反应); view(55,18); %寻找E的最大值及对应的x,t Emax=max(E(:); i,j=find(E=Emax); xxmax=xx(i,j); ttmax=tt(i,j); text(xxmax,ttmax,Emax+5,strcat(,num2str(xxmax),num2str(ttmax),num2str(Emax),);,Thank You!,