版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Matlab应用重点(1)
曲线拟合曲线拟合定义在实际工程应用和科学实践中,经常需要寻求两个(或多个)变量间的关系,而实际去只能通过观测得到一些离散的数据点。针对这些分散的数据点,运用某种你和方法生成一条连续的曲线,这个过程称为曲线拟合。曲线拟合可分为:(1)参数拟合----最小二乘法(2)非参数拟合----
插值法一、数据预处理在曲线拟合之前必须对数据进行预处理,去除界外值、不定值和重复值,以减少人为误差,提高拟合的精度。数据预处理包括:(1)数据输入与查看(2)数据的预处理传输数据通过数据GUI来实现,查看数据点通过曲线拟合工具的散点图来实现。1.输入和查看数据集(1)打开曲线拟合工具界面通过cftool命令打开曲线拟合工具界面5个命令按钮Data按钮:可输出、查看和平滑数据;Fitting按钮:可拟合数据、比较拟合曲线和数据集;Exclude按钮:可以从拟合曲线中排除特殊的数据点;Ploting按钮:在选定区间后,单击按钮,可以显示拟合曲线和数据集;Analysis按钮:可以做内插法、外推法、微分或积分拟合。(2)输入数据集在输入数据之前,数据变量必须存在于matlab的工作区间。可以通过load命令输入变量。单击曲线拟合工具界面中的Data按钮,打开Data对话框,在对话框中进行设置,可以输入数据。Data对话框包括两个选项卡:DataSets和Smooth.DataSets选项卡:.Importworkspacevectors把向量输入工作区,要注意的是变量必须具有相同的维数,无穷大的值和不定值被忽略。Xdata用于选择观测数据Ydata用于选择X的响应数据Weight用于选择权重,与响应数据相联系的向量,如果没选择,默认值为1..Preview对所选向量进行图形化预览.Datasetname设置数据集的名称。工具箱可以随即产生唯一的文件名,但用户可以重命名。.Datasets选项以列表的形式显示所有拟合的数据集。当选择一个数据集时,可以对它做如下操作:
.View查看数据集,以图标形式和列表形式,可以选择方法排除异常值;
.Rename重命名.Delete删除数据组例:输入数据,采用matlab自带的文件censuscensus有两个变量:cdate和pop。
cdate是一个年向量,包括1790-1990年,pop是对应年份的美国人口。>>
whos-filecensusNameSizeBytesClassAttributes
cdate21x1168doublepop21x1168double>>loadcensus>>
cftool(cdate,pop)散点图单击Data按钮在Xdata和Ydata两个下拉式列表框中选择变量名,将在Data对话框中显示散点图的预览效果:当选择Datasets列表框中的数据集时,单击View按钮,打开ViewDataSet对话框工作表方式2.数据的预处理在曲线拟合工具箱中,数据的预处理主要包括平滑法、排除法和区间排除法等。(1)平滑数据打开拟合工具箱,单击Data按钮,打开Data对话框,选择Smooth选项卡Smooth选项卡各选项的功能:.Originaldataset用于挑选需要拟合的数据集;.Smootheddataset平滑数据的名称;.Method用于选择平滑数据的方法,每一个相应数据用通过特殊的曲线平滑方法所计算的结果来取代。平滑数据的方法包括:(ⅰ)Movingaverage用移动平均值进行替换;(ⅱ)Lowess局部加权散点图平滑数据,采用线性最小二乘法和一阶多项式拟合得到的数据进行替换;(ⅲ)Loess局部加权散点图平滑数据,采用线性最小二乘法和二阶多项式拟合得到的数据进行交换;(ⅳ)Savitzky-Golay
采用未加权的线性最小二乘法过滤数据,利用指定阶数的多项式得到的数据进行替换;(ⅴ)Span用于进行平滑计算的数据点的数目;(ⅵ)Degree用于Savitzky-Golay方法拟合多项式的阶数。.Smootheddatasets对于所有平滑数据集进行列表。可以增加平滑数据集,通过单击Createsmootheddataset按钮,可以创建经过平滑的数据集。.View按钮打开查看数据集的GUI,以散点图方式和工作表方式查看数据,可以选择排除异常值的方法。.Rename用于重命名。.Delete可删去数据组。.Savetoworkspace保存数据集。(2)排除法和区间排除法排除法是对数据中的异常值进行排除。区间排除法是采用一定的区间去排除那些用于系统误差导致偏离正常值的异常值。在曲线拟合工具中单击Exclude按钮,可以打开Exclude对话框Exclusionrulename指定分离规则的名称Existingexclusionrules列表产生的文件名,当你选择一个文件名时,可以进行如下操作:Copy复制分离规则的文件;Rename重命名;delete删去一个文件;View以图形的形式展示分离规则的文件。Selectdataset挑选需要操作的数据集;Excludegraphically允许你以图形的形式去除异常值,排除个别的点用“×”标记。Checktoexcludepoint挑选个别的点进行排除,可以通过在数据表中打勾来选择要排除的数据。ExcludeSections选定区域排除数据:
ExcludeX选择预测数据X要排除的数据范围;
ExcludeY选择响应数据Y要排除的数据范围。(3)其他数据预处理方法其他的预处理方法不便通过曲线拟合工具箱来完成,主要包括两部分:响应数据的转换和去除无穷大、缺失值和异常值。响应数据的转换一般包括对数转换、指数转换,用这些转换可以使非线性的模型线性化,便于曲线拟合。变量的转换一般在命令行里实现,然后把转换后的数据输入曲线拟合工具箱,进行拟合。无穷大、不定值在曲线拟合中可以忽略,如果想把他们从数据集中删除,可以用isinf和isnan置换无穷大值和缺失值。二、曲线拟合Matlab提供两种曲线拟合方法:(1)以函数的形式,使用命令对数据进行拟合。这种方法比较繁琐,需要对拟合函数有比较好的了解。(2)用图形窗口进行操作,具有简便、快速,可操作性强的优点。1.多项式拟合函数(1)Polyfit函数P=polyfit(x,y,n)用最小二乘法对数据进行拟合,返回n次多项式的系数,并用降序排列的向量表示,长度为n+1.[p,s]=polyfit(x,y,n)返回多项式系数向量p和矩阵s。s与polyval函数一起用时,可以得到预测值的误差估计。如数据y的误差服从方差为常数的独立正态分布,polyval函数将生成一个误差范围,其中包含至少50%的预测值.[p,s,mu]=polyfit(x,y,n)返回多项式的系数,mu是一个二维向量[u1,u2],u1=mean(x),u2=std(x),对数据进行预处理x=(x-u1)/u2(2)Polyval函数利用该函数进行多项式曲线拟合评价y=polyval(p,x)返回n阶多项式在x处的值,x可以是一个矩阵或者是一个向量,向量p是n+1个以降序排列的多项式的系数。.y=polyval(p,x,[],mu)用x=(x-u1)/u2代替x,其中mu是一个二维向量[u1,u2],u1=mean(x),u2=std(x),通过这样处理数据,使数据合理化。[y,delta]=polyval(p,x,s)[y,delta]=polyval(p,x,s,mu)产生置信区间y±delta。如果误差结果服从标准正态分布,则实测数据落在y±delta区间内的概率至少为50%。例>>x=[00.03850.09630.19250.28880.385];>>y=[0.0420.1040.1860.3380.4790.612];>>[p,s,mu]=polyfit(x,y,5)输出结果为:p=Columns1through50.0193-0.0110-0.04300.00730.2449Column60.2961说明拟合的多项式为:s=R:[6x6double]
df:0
normr:2.3684e-016mu=0.16690.1499自由度为0
标准偏差为2.3684e-016例:根据表中数据进行4阶多项式拟合X1345678910F(x)1054211234>>x=[1345678910];
>>y=[1054211234];
>>[p,s]=polyfit(x,y,4);
>>y1=polyval(p,x);
>>
plot(x,y,'go',x,y1,'b--')>>poly2str(p,'t')
ans=
-0.0049945t^4+0.11461t^3-0.61143t^2-1.1005t+11.5499例:电阻和温度的关系数据如下求60度时的电阻.温度20.532.751.073.095.7电阻7658268739421032>>T=[20.532.7517395.7];>>R=[7658268739421032];>>a=polyfit(T,R,1);>>y=poly2str(a,'t')y=3.3987t+702.0968>>y=polyval(a,T)%计算多项式在某一点处的值y=1.0e+003*0.77180.81320.87540.95021.0274>>
plot(T,R,'k+',T,y,'r*')>>holdon>>
plot(T,y,'b')>>polyval(a,60)ans=906.0212例:已知年龄和运动能力的一组数据,试确定二者的关系(根据图形指定次数)年龄17192123252729第一人20.4825.1326.1530.026.120.319.35第二人24.3528.1126.331.426.9225.721.3>>x1=[17:2:29];>>x=[x1x1];>>y=[20.4825.1326.1530.026.120.319.3524.3528.1126.331.426.9225.721.3];>>
plot(x,y,'r+')>>a=polyfit(x,y,2)a=-0.20038.9782-72.2150>>poly2str(a,'x')ans=-0.20031x^2+8.9782x-72.215>>x1=17:0.1:29;>>y1=-0.20031*x1.^2+8.9782*x1-72.215;>>holdon;plot(x1,y1,'b')数据拟合函数表cfit产生拟合的目标fit用库模型、自定义模型、平滑样条或内插方法来拟合数据fitoptions产生或修改拟合选项fittype产生目标的拟合形式cflibhelp显示一些信息,包括库模型、三次样条和内插方法等。disp显示曲线拟合工具的信息get返回拟合曲线的属性set对于拟合曲线显示属性值数据拟合函数表excludedata指定不参与拟合的数据smooth平滑响应数据confint计算拟合系数估计值的置信区间边界differentiate对于拟合结果求微分integrate对于拟合结果求积分predint对于新的观察量计算预测区间的边界datastates返回数据的描述统计量feval估计一个拟合结果结果或拟合类型plot画出数据点、拟合线、预测区间、异常值点和残差2.曲线的参数拟合第一步:在命令行键入Cftool打开curvefittingtool对话框;第二步:在curvefittingtool对话框中
单击Data按钮打开data对话框指定要分析的(预先存在工作区间)数据;第三步:在curvefittingtool对话框中单击fitting按钮打开fitting对话框,进行设置,实现曲线拟合。Fitting对话框包括两个面板:“FitEditor”面板和“Tabe
ofFits”面板。(1)Fiteditor选择拟合的文件名、数据集,选择排除数据的文件,比较数据拟合的各种方法,包括库函数、自定义的拟合模型和拟合参数的选择。(2)TableofFits同时列出所有的拟合结果。两个面板的详细描述:Newfit和Copyfit按钮:开始进行曲线拟合是,单击Newfit按钮,它采用默认的线性多项式拟合数据。在原有的拟合形式上,选择不同的曲线拟合方法,可以用Copyfit按钮。Fitname选项为当前拟合曲线的名字。单击Newfit按钮时系统会产生默认的文件名。Dataset选项为当前的数据集。Exclusionrule排除异常值的文件名,在数据预处理前建立的文件名。CenterandscaleXdata可对观测数据进行中心化和离散化处理。Typeoffit
拟合的类型,包括参数拟合和非参数拟合两种。具体包括:(1)CustomEquations自定义拟合的线性或非线性方程;(2)Newequation使用CustomEquations按钮钱,必须单击Newequation按钮选择合适的方程;(3)Exponential指数拟合包括两种形式:
y=a*exp(b*x)y=a*exp(b*x)+c*exp(d*x)(4)Fourier傅立叶拟合,正弦和余弦之和(共8个多项式)
(5)Gaussian高斯法,包括8个公式:(6)Interpolant
内插法,包括线性内插、最近邻内插、三次样条内插和shape-preserving内插;(7)Polynomial多项式,从一次到九次;(8)Rational有理拟合,两个多项式之比,分子与分母都是多项式;(9)Power指数拟合,包括两种形式:
y=a*x^by=a*x^b+c(10)Smoothingspline
平滑样条拟合,默认的平滑参数由拟合的数据集来决定,参数是0产生一个分段的线性多项式拟合,参数是1产生一个分段三次多项式拟合;(11)SumofSinFunctions正弦函数的和,采用以下8个公式:
a1*sin(b1*x+c1)
…a1*sin(b1*x+c1)+…+a8*sin(b8*x+c8)(12)Weibull
两个参数的Weibull分布,表达式如下:Y=a*b*x^(b-1)*exp(-a*x^b)Fitoptions包括一些拟合方法,如线性拟合、非线性拟合,以及其他选项;单击Apply按钮:采用上述所选各种方法进行拟合;单击Immediateapply按钮,在选择一个拟合形式后立即输出结果并存储;Results罗列进行拟合的各种参数:(1)SSE-sumofsquaresduetoerror误差平方和,越接近0曲线的拟合效果越好(2)R-square越接近1,曲线的拟合效果越好(3)DegreeofFreedomAdjustedR-Square调整自由度以后的残差的平方,数值越接近1,曲线的拟合效果越好(4)RootMeanSquareError根的均方误差Tableoffits拟合曲线的列表,可以对每个列表做如下操作:Deletefit删除所选的拟合曲线;Savetoworkspace储存所有的拟合信息;Tableoptions选择与拟合相联系的信息。例:用三次和五次多项式拟合下列数据rand('state',0)
%重置生成器到初始状态x=[1:0.1:39:0.1:10]';c=[2.5-0.51.3-0.1];y=c(1)+c(2)*x+c(3)*x.^2+c(4)*x.^3+(rand(size(x))-0.5);cftool(x,y);建立一个M文件,并运行上述文件,打开曲线拟合工具点击fitting按钮—newfit—cubicpolynomial--applyresultsLinearmodelPoly3:
f(x)=p1*x^3+p2*x^2+p3*x+p4Coefficients(with95%confidencebounds):p1=-0.09837(-0.1095,-0.08729)p2=1.275(1.113,1.437)p3=-0.4351(-1.092,0.2222)p4=2.56(1.787,3.332)Goodnessoffit:SSE:2.587R-square:0.9993AdjustedR-square:0.9993RMSE:0.3039Results:LinearmodelPoly5:
f(x)=p1*x^5+p2*x^4+p3*x^3+p4*x^2+p5*x+p6Coefficients(with95%confidencebounds):p1=0.001389(-0.003589,0.006367)p2=-0.03441(-0.1601,0.09125)p3=0.1934(-0.9131,1.3)p4=0.2733(-3.856,4.402)p5=1.013(-5.785,7.811)p6=1.835(-2.167,5.837)Goodnessoffit:SSE:2.552R-square:0.9993AdjustedR-square:0.9992RMSE:0.3133拟合图形:例:用有理拟合方法拟合数据hahn1.mhahn1.m是matlab自带,描述铜的热膨胀与热力学温度的相关性,包括两个向量temp与thermex。>>loadhahn1>>
cftool(temp,thermex)
分子分母均为2次分子分母均为3次分子三次、分母二次分子三次、分母二次的有理多项式拟合效果很好,拟合曲线充分体现了整个数据,残差随机分布在0附近。3.非参数拟合有时我们对拟合参数的提取或解释不感兴趣,只想得到一个平滑的通过各数据点的曲线,这种拟合曲线的形式称之为非参数拟合。非参数拟合的方法包括(1)插值法Interpolants(2)平滑样条内插法Smoothingspline
内插法:在已知数据点之间估计数值的过程,包括Linear线性内插,在每一队数据之间用不同的线性多项式拟合;Nearestneighbor最近邻内插,内插点在最相邻的数据点之间;Cubicspline
三次样条内插,在每一队数据之间用不同的三次多项式拟合;Shape-preserving分段三次艾尔米特内插.平滑样条内插法:是对杂乱无章的数据进行平滑处理,可以用平滑数据的方法来拟合,平滑的方法在数据的预处理中已经介绍。例:用内插法拟合carbon12alpha.mat数据>>loadcarbon12alpha>>
cftool(counts,angle)fit1Fitting—typeoffit—
Interpolant--Nearestneighbor
fit2Fitting—typeoffit—
Interpolant--Shape-preserving例:用三次样条内插和集中平滑样条内插法拟合下列数据>>rand('state',0);>>x=(4*pi)*[01rand(1,25)];>>y=sin(x)+.2*(rand(size(x))-.5);>>
cftool(x,y)曲线的平滑级别用SmoothingParameter选项给定,默认的平滑参数值与数据集有关,并再单击Apply按钮以后由工具箱自动计算。对于本数据集,默认的平滑参数值接近1,表示平滑样条接近于三次样条,并且几乎正好穿过每个数据点。可以自己指定参数值,为0时,生成一个分段线性多项式的拟合,为1时,生成一个分段三次多项式的拟合,它穿过所有的数据点。
fit2默认平滑参数下的平滑样条内插拟合结果效果最好。4.基本的拟合界面Matlab还提供了一个方便简捷的拟合界面。它具有拟合快速,操作简便的有时,但拟合方法较少。使用步骤:(1)导入数据,并画图;(2)在tool菜单中单击BasicFitting对话框例:用基本拟合界面拟合census.mat>>loadcensus>>
plot(cdate,pop,'ro')在tool菜单中单击BasicFitting对话框Matlab应用重点(2)
矩阵计算矩阵分析矩阵的行列式矩阵的四则运算矩阵的幂和平方根矩阵的指数和对数矩阵的翻转矩阵的逆运算矩阵的迹矩阵的范数矩阵的条件数矩阵的重塑矩阵的逻辑运算矩阵的初等变换矩阵的秩矩阵的行列式可用函数det求矩阵的行列式大小。
例:a=[120;25-1;410-1];b=det(a)b=1矩阵的四则运算数组和矩阵的加减运算使用加号和减号,即“+”和“-”。
矩阵相乘使用“*”运算符。如果只是将两个矩阵中相同位置的元素相乘,使用“.*”运算符。
矩阵除法有左除和右除的区别,分别使用“\”和“/”运算符。
与“\”和“/”运算符相对应,也有“.\”和“./”运算符,分别用于将两个矩阵中的对应元素相除。
矩阵与常数的代数运算,可以直接使用上面的各种运算符。
矩阵的幂和平方根矩阵的幂运算使用运算符“^”,幂运算具有类似X^p的形式。如果p是整数,则幂通过重复求平方来计算;如果该整数为负值,则首先计算X的逆;如果p取其他值,则计算需要用到特征值和特征矢量,即如果[V,D]=eig(X),则X^p=V*D.^p/V。用sqrtm函数求矩阵的平方根。
矩阵的指数和对数矩阵的指数运算用expm函数实现。矩阵的对数运算用logm函数实现。
矩阵的翻转用fliplr函数左右翻转矩阵;用flipud函数上下翻转矩阵;用flipdim函数沿指定方向翻转矩阵;用transpose函数沿主对角线翻转矩阵。
矩阵的逆运算用函数inv实现矩阵的逆运算。
由函数pinv实现矩阵的伪逆运算。
Ega=[120;25-1;410-1]b=inv(a);
矩阵的迹矩阵的迹是指矩阵所有对角线元素的和。在MATLAB中,矩阵的迹可由函数trace计算得到。
Eg
A=[123;456;123]T=trace(A)9矩阵的范数矩阵的范数运算可由函数norm来实现,具有norm(A),norm(A,1),norm(A,2),norm(A,inf),norm(A,’fro’)等形式,分别代表矩阵的范数运算、1-范数运算、7-范数运算、无穷大范数运算和F-范数运算。
矩阵的条件数条件数的值代表矩阵“病态”程度的大小。在MATLAB中,矩阵的条件数可分别由函数cond(A),condest(A)或rcond(A)计算得到,它们分别计算矩阵的条件数值、1-范数矩阵条件数值和矩阵的逆条件数值。
矩阵的重塑用reshape函数进行矩阵重塑。下面将一个3×4的矩阵重塑为2×6的。例:
A=[14710;25811;36912]A=147102581136912B=reshape(A,2,6)B=135791124681012矩阵的逻辑运算使用逻辑运算符,可以直接对数组或矩阵进行逻辑运算,包括逻辑非、逻辑或、逻辑与和逻辑异或运算。
p130表矩阵的初等变换用rref函数进行矩阵的初等行变换。例:A=[1218;12310;23113;1229]A=121812310231131229B=rref(A)B=1003010200110000矩阵的秩用函数rank求矩阵的秩。
例:a=[120;25-1;410-1];b=rank(a)b=3
矩阵的分解矩阵的LU分解矩阵的QR分解矩阵的QZ分解矩阵的乔累斯基分解矩阵的奇异值分解矩阵的特征值分解矩阵的Schur分解矩阵的LU分解矩阵的LU分解是线性方程组求解方法中高斯消去法的基础,在MATLAB中由函数lu来实现。
矩阵的QR分解在MATLAB中,QR分解可由函数qr实现。常用的调用格式如下:
[B,C]=qr(A)返回的矩阵C为上三角矩阵,矩阵B为满秩矩阵。
[Q,R,E]=qr(A)返回的矩阵E是置换矩阵,矩阵R是上三角矩阵,矩阵Q是满秩矩阵。上述矩阵满足关系A*E=Q*R。
矩阵的QZ分解在MATLAB中,QZ分解可由函数qz来实现。qz函数常用的调用格式如下:
[AA,BB,Q,Z,V]=qz(A,B)要求矩阵A,B是方阵。产生的矩阵AA,BB是上三角矩阵,Q,Z是正交矩阵,矩阵V是特征矢量矩阵。其中,满足Q*A*Z=AA与Q*B*Z=BB。
[AA,BB,Q,Z,V]=qz(A,B,flag)对于方阵A,B的QZ分解取决于参数flag。参数flag可取'complex'与'real'。
矩阵的乔累斯基分解设矩阵A为n阶对称正定矩阵,则A矩阵可分解为LL,即A=LL。其中,矩阵L是上三角矩阵。此时,这种分解就称为乔累斯基分解。在MATLAB中,乔累斯基分解由函数chol实现。
矩阵的奇异值分解在MATLAB中,矩阵的奇异值分解由函数svd来实现,其调用格式为
[b,c,d]=svd(A)矩阵的特征值分解在线性代数中,很多情况下需要求矩阵的特征值。MATLAB中求矩阵特征值的函数是eig和eigs。其中函数eigs主要应用于稀疏矩阵。
矩阵的Schur分解在MATLAB中,矩阵的Schur分解由Schur函数来实现,其调用格式为
[b,c]=schur(A)其中c矩阵为Schur矩阵。
线性方程组的求解方形系统p135超定系统不定系统符号矩阵符号矩阵的四则运算符号矩阵的转置运算符号矩阵的行列式运算符号矩阵的求逆运算符号矩阵的求秩运算符号矩阵的常用函数运算符号矩阵常用线性方程(组)的求解符号矩阵运算的函数:symadd(a,d)——符号矩阵的加symsub(a,b)——符号矩阵的减symmul(a,b)——符号矩阵的乘symdiv(a,b)——符号矩阵的除sympow(a,b)——符号矩阵的幂运算symop(a,b)——符号矩阵的综合运算符号运算函数:symsize——求符号矩阵维数charploy——特征多项式determ——符号矩阵行列式的值eigensys——
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 清淤工程合同范本样本
- 2024房屋租赁合同续签函
- 销售合同三方协议的签订流程
- 墙绘项目协议示范
- 经销权合同协议书
- 个人简约借款合同模板
- 甜品采购合同
- 车辆抵押贷款合同范例
- 钢结构劳务分包合同的工程质量控制
- 营销活动采购协议
- 机井资料表格(共9页)
- 豆类食物营养成分表
- 造纸及纸制品行业企业风险分级管控体系实施指南(DB37T 3149—2018)
- 农药英语词汇
- 第十二讲区域变质岩的鉴定与描述(1)
- 8D报告(完整详解版)
- 敏捷开发介绍(精选干货)
- 三类医疗器械医疗机构规章管理制度
- 上海版牛津英语5A M2U1 Grandparents教学案例
- (完整版)生育服务证办理承诺书
- 单片机C语言模块化编程之数码管显示电子万年历篇
评论
0/150
提交评论