1、常微分方程的求解常微分方程的求解数据的统计分析数据的统计分析曲线拟合曲线拟合*随机试验随机试验v设微分方程初值问题设微分方程初值问题:v命令形式命令形式1:dsolve(eqution,var)v命令形式命令形式2:dsolve(eqution,cond1,cond2,var)00)(),(yxyyxfdxdy常微分方程的求解常微分方程的求解00(,)()dyf x ydxy xy (,)yf x C 符号解法符号解法2dyydxx(1/)xyCe dsolve(Dy=y/(x2),x)自变量自变量大写大写?dsolve(Dy=y/(x2),x)ans=C1*exp(-1/x)2 3,(1)0
2、,(5)0 xyyxyy 求解求解?dsolve(x*D2y-3*Dy=x2,y(1)=0,y(5)=0,x)大写大写对应求对应求导阶数导阶数conditionans=-1/3*x3+125/468+31/468*x4 求解常微分方程求解常微分方程t,y=ode23(fun,tspan,y0)t,y=ode23(fun,tspan,y0)需要把微分方程化为一阶微分方程组需要把微分方程化为一阶微分方程组tspan=t0 tftspan=t0 tf表示积分的起始值和终止值;表示积分的起始值和终止值;funfun是定义函数的文件名;是定义函数的文件名;t,y=ode45(fun,tspan,y0)t
3、,y=ode45(fun,tspan,y0)y0是初始状态列向量。是初始状态列向量。常常微微分分方方程程的的数数值值解解法法212tyy 121,xy xyx 2yx 22112txx 1222112xxtxx 2212yxtyy 例:用数值积分的方法求解微分方程:例:用数值积分的方法求解微分方程:00t 设初始时间设初始时间3ft ;终止时间;终止时间00|0,|0ttyy 初始条件初始条件分析:求解分析:求解 令:令:(化为一阶微分方程)即原微分方程化为:(化为一阶微分方程)即原微分方程化为:122,yxyxyx 112221200012xxxtxxx 即即12xxx 写成矩阵形式为写成矩
4、阵形式为21201011012xtx 122,yxyxyx 201011012tx yy(化为一阶微分方程)(化为一阶微分方程)010101xu xdot=放入函数放入函数exf.m中中u112221200012xxxtxxx 即即function xdot=exf(t,x)u=1-(t.2)/(2*pi);xdot=0,1;-1,0*x+0 1*u;注注:函数名必须为:函数名必须为exf.mt0=0;tf=3*pi;x0t=0;0;定义另外一个函数为主函数定义另外一个函数为主函数初始和终止时间初始和终止时间初始条件初始条件t,x=ode23(exf,t0,tf,x0t)exf为已定义的子函数
5、为已定义的子函数该函数用来记录一该函数用来记录一阶微分方程阶微分方程010101xu xdot=212tu y=x(:,1);%t,x中求出的中求出的x是按列排列,是按列排列,故用故用ode23求出求出x后后 只要第只要第 一列即为一列即为y y2=-1/2*(-2*pi-2+t.2)/pi-(pi+1)/pi*cos(t);clf,plot(t,y,o,t,y2,-)解析解为:解析解为:dsolve(D2y+y=1-t2/(2*pi),y(0)=0,Dy(0)=0,t)ans=-1/2*(-2*pi-2+t2)/pi-(pi+1)/pi*cos(t)统计做图统计做图在数据较小、较少的情况下输
6、入在数据较小、较少的情况下输入Matlab交互环境交互环境境下输入境下输入M文件的形式输入文件的形式输入数据数据数据量较大,且不以计算机可读数据量较大,且不以计算机可读形式存在形式存在load*.M读数据文件的命令读数据文件的命令读入读入load*.txt常用计算统计量的函数常用计算统计量的函数 函数函数功能及格式功能及格式mean(x)求求x阵列的均值,格式:阵列的均值,格式:M=mean(x)median(x)求求x阵列的中位数,格式:阵列的中位数,格式:M=median(x)range(x)求求x阵列的极差,格式:阵列的极差,格式:R=range(x)var(x)求求x阵列的方差,格式:
7、阵列的方差,格式:V=var(x)std(x)求求x阵列的标准差,格式:阵列的标准差,格式:S=std(x)例例14 某班(共有某班(共有120名学生)的高等数学成绩如下:名学生)的高等数学成绩如下:74 63 78 76 89 56 70 97 89 94 76 88 65 83 72 41 39 72 73 68 14 76 45 70 90 46 54 61 75 76 49 57 78 66 64 74 78 87 86 73 47 67 21 66 79 67 68 65 56 84 66 73 68 72 76 65 70 94 53 65 77 78 53 74 59 50 98
8、 67 89 78 63 92 54 87 84 80 63 64 85 66 69 69 60 54 75 33 30 62 74 65 84 73 55 85 75 76 81 71 83 72 56 84 76 75 67 65 35 94 59 47 45 67 75 36 78 82 94 70 84 75根据以上数据作出该门课程成绩的频数直方图。根据以上数据作出该门课程成绩的频数直方图。解:将以上数据以一列的形式存为解:将以上数据以一列的形式存为A.txt文件,利用文件,利用load A.txt命令读入数据。命令读入数据。把数据的最大和最小值为端点的区间等分为把数据的最大和最小值为
9、端点的区间等分为10,12,20等份,分别作频数直方图,等份,分别作频数直方图,MATLAB命令如下:命令如下:hist(A,10)hist(A,12)hist(A,20)M=68.9583 71.5000 84.0000 249.5697 15.7978例例15 求例求例14中中A的均值、中位数、极差、方差和的均值、中位数、极差、方差和解:在命令窗口输入:解:在命令窗口输入:M=mean(A),median(A),range(A),var(A),std(A)标准差。标准差。多项式拟合多项式拟合根据平面上的若干点,要求确定一个一元函数,使这些点根据平面上的若干点,要求确定一个一元函数,使这些点
10、与曲线之间的距离的和尽量小。与曲线之间的距离的和尽量小。取取x0,1之间的数,步长为之间的数,步长为0.1y取取2.3,2.5,2.1,2.5,3.2,3.6,3.0,3.1,4.1,5.1,3.8判断用什么曲线来进行拟合?判断用什么曲线来进行拟合?vpolyfit(x,y,n)多项式数据拟合多项式数据拟合v功能:功能:将给定向量将给定向量 x,y对应的(对应的(xi,yi)作为数据点,拟合成)作为数据点,拟合成n次多项次多项式;式;向量向量x,y具有相同的维数;具有相同的维数;n为正整数,为正整数,n值越大则拟和的精度越好;值越大则拟和的精度越好;p为多项式的系数向量。为多项式的系数向量。v
11、poly2str(p,x)将多项式表示成习惯的将多项式表示成习惯的 形式形式 p是多项式系数,字符是多项式系数,字符x为自变量为自变量vpolyval(p,X)按数组规则计算按数组规则计算X处多处多 项式的值项式的值v功能:功能:计算多项式计算多项式p的变量在点阵的变量在点阵X处的值处的值;x可以为向量或矩阵,计算结果是与可以为向量或矩阵,计算结果是与x同维的向量或矩阵。同维的向量或矩阵。x=0:.1:1;y=2.3 2.5 2.1 2.5 3.2 3.6 3.0 3.1 4.1 5.1 3.8;p2=polyfit(x,y,7);poly2str(p2,x)x1=0:0.01:1;y2=po
12、lyval(p2,x1);plot(x,y,rp,x1,y2,-)p2 为对应的多项式的系数矩阵为对应的多项式的系数矩阵输出以输出以x为自变量为自变量p2为系数的多项为系数的多项式式00.10.20.30.40.50.60.70.80.9122.533.544.555.5随机试验随机试验古典概率:古典概率:事件事件A发生的概率发生的概率()mP An 在在100人的团体中,如果不考虑年龄的差异,研究是否有人的团体中,如果不考虑年龄的差异,研究是否有两个以上的人生日相同。假设每人的生日在一年两个以上的人生日相同。假设每人的生日在一年365天中天中的任意一天是等可能的,那么随机找的任意一天是等可能
13、的,那么随机找 个人(个人(365)n问这些人生日各不相同的概率是多少?问这些人生日各不相同的概率是多少?至少有两个人生日相同的概率为多少?至少有两个人生日相同的概率为多少?for n=1:100 p0(n)=prod(365:-1:365-n+1)/365n;p1(n)=1-p0(n);endn=1:100;plot(n,p0,n,p1,-)Xlable(人数人数),ylable(概率概率)Legend(生日各不相同的概率生日各不相同的概率,至少两人相同的概至少两人相同的概率率)axis(0 100 0.1 1.1),grid on作业作业vP130 8vP168 24,27vP190 15考试安排考试安排v考试时间:考试时间:40分钟。每人分钟。每人12题。题。v在在F盘上建立文件夹,以盘上建立文件夹,以“班级班级+学号学号+姓名姓名”命名。命名。v开卷考试,只能带书本,不可拷贝。开卷考试,只能带书本,不可拷贝。