




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB SDU,1,第3章 matlab的程序设计初步,MATLAB SDU,2,OUTLINE,MATLAB的m文件的创建和使用 MATLAB程序控制结构 程序设计 调试的基本方法,MATLAB SDU,3,什么是m文件,用户如想灵活应用matlab去解决实际问题,充分调用matlab的科学技术资源,就需要编辑m文件 包含matlab语言代码的文件称为m文件,其扩展名为m。 编辑m文件可使用各种文本编辑器。,MATLAB SDU,4,2. m文件 m文件的语法类似于c语言,但又有其自身特点。它只是一个简单的ASCII码文本文件,执行程序时逐行解释运行程序,matlab是解释性的编程语言
2、。 m文件有两类 独立的m文件 称命令文件,脚本(script) 可调用m文件 称函数文件 Functions,MATLAB SDU,5,表3-1脚本文件与函数文件的区别,MATLAB SDU,6,Review: matlab的工作模式,指令驱动模式 通常matlab以指令驱动模式工作,即在matlab 窗口下当用户输入单行指令时,matlab 立即处理这条指令,并显示结果,这就是matlab命令行方式。 命令行操作时,matlab窗口只允许一次执行一行上的一个或几个语句。,MATLAB SDU,7,例如: x1=0:10 x1 = 0 1 2 3 4 5 6 7 8 9 10 x2=0:3:
3、11 x2 = 0 3 6 9 x3=11.5:-3:0 x3 = 11.5000 8.5000 5.5000 2.5000,MATLAB SDU,8,x1=0:10,x2=0:3:11,x3=11.5:-3:0 x1 = 0 1 2 3 4 5 6 7 8 9 10 x2 = 0 3 6 9 x3 = 11.5000 8.5000 5.5000 2.5000 命令行方式程序可读性差,而且不能存储,对于处理复杂问题和大量数据时是不方便的,应编写成能存储的程序文件。,MATLAB SDU,9,m文件模式 将matlab语句构成的程序存储成以m为扩展名的文件,然后再执行该程序文件,这种工作模式称为
4、程序文件模式。 程序文件不能在指令窗口下建立,因为指令窗口只允许一次执行一行上的一个或几个语句。,MATLAB SDU,10,M 文件的创建和编辑,不管是创建或编辑脚本文件还是函数文件,可以使用各种文本编辑器: 例如Windows系统下的记事本,其它商业化软件UltraEdit,EditPlus等等, 但是储存格式必须是 ASCII 的格式,并且必须以.m 为后缀名。 通常情况下可以直接使用MATLAB中内置的M文件编辑器。,MATLAB SDU,11,2. 点击file Save Workspace As,将工作空间中的内容存入文件。 *edit 用各种edit 编辑器编制m文件。 edit
5、 用matlab自带的编辑器编制m文件。 word 用word编辑m文件。 m文件编辑器的设定 m文件编辑器可自己设定,设定方法是matlab命令窗口 options 菜单下点击 Edit Preference 选定m文件编辑器。,MATLAB SDU,12,m文件编辑器缺省设置是 matlab editor 还可设成:其他的Text Editor 从“file” “preference” editor/debugger设置 注意:所创建的m文件必须纳入matlab搜索路 径后,才能在matlab命令窗口运行。,MATLAB SDU,13,matlab搜索路径的设置 matlab 缺省路径是c
6、:matlabbin . 用pathtool路径浏览器设定当前目录 “file” - “set path” 方法设定当前目录,MATLAB SDU,14,matlab文件的数据文件类型mat,数据文件 .mat mat文件是matlab以标准二进制格式保存的数据文件,可将工作空间中有用的数据变量保存下来。 mat文件的生成和调用是由函数save和load完成的。,MATLAB SDU,15,M文件结构,良好习惯建议 1. 程序尽量做到简单易懂; 2. 所有变量都用小写,并且含义清晰明了,如用year作为变量保存年份等; 3. 带有必要的注释,这样有助于他人和自己能快速知道程序执行的目的或者算法
7、的含义,另外也可以有助于追溯记录程序的更新过程。,MATLAB SDU,16,脚本(命令)文件(Script),命令文件 简单的m文件 命令文件实际上是一串指令的集合,与在命令窗口逐行执行文件中的所有指令,其结果是一样的。没有输入输出参数。 “脚本”本身反映这样一个事实:MATLAB只是按文件所写的指令执行。 M脚本(命令)文件的构成较简单,其特点是: 它只是一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集。 脚本文件运行后,所产生的所有变量都驻留在MATLAB基本工作空间(Base workspace)中。只要不使用clear指令加以清除,且MATLAB指令窗不关闭,这些
8、变量将一直保存在基本工作空间中。基本工作空间随MATLAB的启动而产生;只有关闭MATLAB时,该基本空间才被删除。,MATLAB SDU,17,M函数文件( Function),与脚本(命令)文件不同,函数文件(Function file)犹如一个“黑箱”。从外界只能看到传给它的输入量和送出来的计算结果,而内部运作是藏而不见的。,MATLAB SDU,18,函数文件的特点:,从形式上看,与脚本文件不同,函数文件的第一行总是以“function”引导的“函数申明行”(Function declaration line)。该行还罗列出函数与外界联系的全部“标称”输入输出宗量。但对“输入输出宗量”
9、的标称数目并没有限制,即可以完全没有输入输出宗量,也可以是任意数目。 MATLAB允许使用比“标称数目”较少的输入输出宗量,实现对函数的调用。 从运行上看,与脚本文件运行不同,每当函数文件运行,MATLAB就会专门为它开辟一个临时工作空间,称之谓函数工作空间(Function workspace)。所有中间变量都存放在函数工作空间中。当执行完文件最后一条指令或遇到return时,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被清除。 函数空间随具体M函数文件的被调用而产生,随调用结束而删除。函数空间是相对独立的、临时的。在MATLAB整个运行期间,可以产生任意多个临时函数空
10、间。 假如在函数文件中,发生对某脚本文件的调用,那么该脚本文件运行产生的所有变量都存放于该函数空间之中,而不是存放在基本空间。,MATLAB SDU,19,函数m文件的格式: function 返回变量=函数名(输入变量) 注释说明语句段 程序语句段 特定规则: 函数m文件第一行必须以单词function作为引导词,必须遵循如下形式: function =() m文件的文件名必须是 .m。 程序中的变量均为局部变量,不保存在工作空间中。其变量只在函数运行期间有效。,MATLAB SDU,20,M函数文件示例,function sa = circle(r,s) %CIRCLEplot a cir
11、cle of radii r in the line specified by s. %r指定半径的数值 %s指定线色的字符串 %sa圆面积 % % circle(r)利用蓝实线画半径为 r 的圆周线. % circle(r,s)利用串 s 指定的线色画半径为 r 的圆周线. % sa=circle(r)计算圆面积,并画半径为 r 的蓝色圆面. % sa=circle(r,s)计算圆面积,并画半径为 r 的 s 色圆面. % 编写于2001年4月7日,修改于2002年8月27日。 if nargin2 error(输入宗量太多。); end; if nargin=1 s=b; end; ,MA
12、TLAB SDU,21,函数申明(定义)行(Function declaration line):,位于函数文件的首行,以MATLAB关键字function开头,函数名以及函数的输入输出宗量都在这一行定义。,MATLAB SDU,22,H1行(The first help text line):,紧随函数申明行之后以%开头的第一注释行。按MATLAB自身文件的规则,H1行包含:大写体的函数文件名;运用关键词简要描述的函数功能。该H1行供lookfor关键词查询和help在线帮助使用。,MATLAB SDU,23,在线帮助文本(Help text)区:,H1行及其之后的连续以%开头的所有注释行构
13、成整个在线帮助文本。它通常包括:函数输入输出宗量的含义,调用格式说明。,MATLAB SDU,24,编写和修改记录:,与在线帮助文本区相隔一个空行,也以%开头,标志编写及修改该M文件的作者和日期、版本记录。它用于软件档案管理。,MATLAB SDU,25,函数体(Function body):,为清晰起见,它与前面的注释行以空行相隔。这部分内容由实现该M函数文件功能的MATLAB指令组成。它接收输入宗量,进行程序流控制,得到输出宗量。其中为阅读、理解方便,也配置适当的空行和注释。若仅从运算角度看,惟有函数申明行和函数体两部分是构成M函数文件所必不可少的。,MATLAB SDU,26,funct
14、ion r = rank(A,tol) %RANK Matrix rank. % RANK(A) provides an estimate of the number of linearly % independent rows or columns of a matrix A. % RANK(A,tol) is the number of singular values of A % that are larger than tol. % RANK(A) uses the default tol = max(size(A) * norm(A) * eps. % % Class support
15、 for input A: % float: double, single % Copyright 1984-2004 The MathWorks, Inc. % $Revision: $ $Date: 2004/04/10 23:30:08 $ s = svd(A); if nargin=1 tol = max(size(A) * eps(max(s); end r = sum(s tol);.,程序部分,MATLAB SDU,27,matlab内置函数文件 matlab自定义的函数文件称内置函数文件 调用内置函数的方法:使用函数名并给出相应的入口、出口参数即可。 例如:s
16、in.m函数 调用格式:y=sin(2*x) 实际应用中: x=0:2*pi/180:2*pi; y=sin(2*x) plot(x,y),M 函数文件分两类:内置和自定义,MATLAB SDU,28,又如 sqrt(x) 求x的平方根 abs(x) 求x的绝对值 det(a) 求行列式的值 等等。matlab拥有大量的内置数学函数,供我们在数值运算和符号运算中调用。,MATLAB SDU,29,II 函数m文件 需要输入变量,返回输出变量 matlab用户可以根据需要编辑自己的m文件,它们可以像库函数一样方便的调用,从而极大地扩展了matlab 的能力。 对于某一类特殊问题,如创建了许多m函
17、数文件,则可形成新的工具箱。 这种用matlab语言创建定义新的matlab函数的功能,正体现了matlab语言强大的扩展功能。,MATLAB SDU,30,M文件命名以及调用,对于脚本文件的命名,规则和变量的命名规则一致,即必须以字母开头,其余部分可以是字母、数字和下划线的任意组合。调用脚本文件时只需要在MATLAB的主窗口输入脚本文件的名字(不带后缀),脚本文件内的内容就会得到执行。,MATLAB SDU,31,函数文件命名与调用,函数文件的命名规则除了和变量的命名规则一致以往,另外惯用的规则是函数文件名和函数名相一致。 调用方式 out1,out2,.,outN=functionname
18、(in1,in2.inN) 输出方括号,输入小括号,MATLAB SDU,32,例,利用函数文件,实现直角坐标(x,y)与极坐标(,)之间的转换,函数文件tran.m: function rho,theta=tran(x,y) rho=sqrt(x*x+y*y); theta=atan(y/x); 调用tran.m的命令文件main1.m: x=input(Please input x=:); y=input(Please input y=:); rho,the=tran(x,y); rho the,MATLAB SDU,33,补充:函数的递归调用,递归调用:函数调用其本身称为函数的递归调用
19、例如求n! 阶乘本身是用递归形式进行定义的: 因此定义阶乘函数文件可以采用递归调用,MATLAB SDU,34,function f = factor(n) If n=1 f=1; else f=factor(n-1)*n; end,MATLAB SDU,35,M文件和内部伪代码,调用M文件时,matlab会对该文件进行解析,并生成相应的内部伪代码(pseudocode, pcode)存放在内存,再次调用时直接调用内存中的pcode,避免对相同M文件重复解析。 可以用pcode 产生伪代码:难以阅读,保密性好,MATLAB SDU,36,局部变量和全局变量,局部(Local)变量 它存在于函数
20、空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本身。 全局(Global)变量 通过global指令,MATLAB也允许几个不同的函数空间以及基本空间共享一个变量。这种被共享的变量称为全局变量。每个希望共享全局变量的函数或MATLAB基本工作空间,必须逐个用global对具体变量加以专门定义。没采用global定义的函数或基本空间,将无权享用全局变量。 如果某个函数的运作使全局变量的内容发生了变化,那么其他函数空间以及基本工作空间中的同名变量也就随之变化。 除非与全局变量联系的所有工作空间都被删除,否则全局变量依然存在。 通常情况下会选取全部是大写字母的命名为全局变量名
21、。全局变量的使用可以减少参数的传递,如果合理的使用可以提高程序执行效率,但是同时会损害函数的封装性,增加程序调试和维护的难度,因此一般不推荐使用,MATLAB SDU,37,参数传递,在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。 nargin在函数体内,用于获取实际输入宗量 nargout在函数体内,用于获取实际输出宗量 nargin(fun) 获取fun指定函数的标称输入宗量数 nargout(fun) 获取f
22、un指定函数的标称输出宗量数,MATLAB SDU,38,例3-4 定义一个函数,当输入1个参数求其绝对值,输入2个参数求其平方根 函数文件内容为 function c = calnar(a,b) %calnar.m: example2-4 %example2-4 if (nargin = = 1) c=abs(a); elseif (nargin = = 2) c=sqrt(a.2 + b.2); end,MATLAB SDU,39,主函数和子函数,多个函数代码,第一个是主函数,其它是子函数;主函数可外部调用,子函数不行;多个子函数排列次序可改变 例:定义了一个stat函数,可以求一个向量的
23、均值和均方差,stat.m文件内容如下: function mean,stdev = stat(x) n = length(x); mean = avg(x,n); stdev = sqrt(sum(x-avg(x,n).2)/n); function mean = avg(x,n) mean = sum(x)/n;,MATLAB SDU,40,子函数的性质:,每个子函数的第一行是其自己的函数申明行。 在M函数文件内,主函数的位置不可改变,但子函数的排列次序可任意改变。 子函数只能被处于同一文件的主函数或其他子函数调用。 在M函数文件中,任何指令通过“名字”对函数进行调用时,子函数的优先级仅次
24、于内装函数。 同一文件的主函数、子函数的工作空间都是彼此独立的。各函数间的信息,或通过输入输出宗量传递,或通过全局变量传递,或通过跨空间指令传递。 help, lookfor等帮助指令都不能提供关于子函数的任何帮助信息。(需要通过主函数),MATLAB SDU,41,二、MATLAB控制流,for循环结构 while循环结构 if-else-end分支结构 switch-case结构 try-catch结构 控制程序流的其它常用指令,MATLAB SDU,42,1、for循环结构,for x=array (commands) end,MATLAB SDU,43,1、for循环结构,For循环的
25、结构以及含义和其他高级语言的结构和含义基本一致。 一个简单的for循环示例。 和其他语言一样for循环可以有多重循环。 例:利用for循环求1!+2!+3!+ +5!的值,MATLAB SDU,44,例:利用for循环求1!+2!+3!+ +5!的值 sum=0; for i=1:5 pdr=1; for k=1:i pdr=pdr*k; end sum=sum+pdr; end,sum = 153,MATLAB SDU,45,2、while循环结构,while expression (commands) end,与for循环设置固定循环次数来执行循环体相比较,MATLAB中的while循环是
26、应用逻辑表达式来设置与判断是否执行循环体,循环次数依逻辑判断条件来决定,循环次数是不固定的。 例:Fibonacci数组的元素满足Fibonacci规则:a k+2=ak+ak+1,(k=1,2,);且a1=a2=1。现要求该数组中第一个大于10000的元素。,MATLAB SDU,46,MATLAB SDU,47,a(1)=1;a(2)=1;i=2; while a(i)=10000 a(i+1)=a(i-1)+a(i); %当现有的元素仍小于10000时,求解下一个元素。 i=i+1; end; i,a(i),MATLAB SDU,48,Break/continue语句,break语句用来
27、退出for循环和while循环。 注意:break用与终止for循环或者while循环结构,当在循环结构内执行该命令时,程序将跳出循环结构,执行循环结构外面的下一条语句。当为嵌套循环结构时,break只是跳出当前的循环结构 。 continue语句是控制的当前的一个循环,当在循环结构内执行continue命令后,程序将跳过此次循环剩下的那些执行语句,而继续执行下一次循环。 在实际应用中,break和continue命令常跟if条件结构相结合 例:用for循环指令来寻求Fibonacc数组中第一个大于10000的元素。,MATLAB SDU,49,clear n=100; a=ones(1,n)
28、; for i=3:n a(i)=a(i-1)+a(i-2); if a(i)10000 a(i), break; %跳出所在的一级循环。 end; end, i,MATLAB SDU,50,3、if-else-end分支结构,if-else-end指令为程序流提供了一种分支结构,它最常用的使用方式:,MATLAB SDU,51,执行过程,MATLAB SDU,52,注意,在if条件结构中,elseif语句组部分可以没有(0个),也可以是多个(m个),但是else语句组部分最多是一个。 if-end的一一配对:也就是说有一个if引导的条件,必然需要一个end来对应。,MATLAB SDU,53
29、,例,一个简单的分支结构 两个分支结构 多分支结构,MATLAB SDU,54,%一个简单的分支结构 clear cost=10; number=input(number =); if number8 sums=number*0.95*cost; end, sums %两个分支结构 x=input(x=); if x=10 t=0:0.1*pi:2*pi;y=x*sin(t);plot(t,y) else t=0:0.1*pi:2*pi;y=x/10*cos(t);plot(t,y) end,MATLAB SDU,55,多分支结构: 设某批发贸易公司从事苹果批发,当客户购买5000件以上,15
30、元/件;25005000件,16元/件;10002500件,17元/件;5001000件,18元/件;250500件,19元/件;100250件,20元/件;50100件,22元/件;1050件,24元/件;9件以下,28元/件。试编写程序根据客户购买的件数,求出总的 金额数。,MATLAB SDU,56,n=input(请输入客户拟购买苹果的件数); if n=5000 sum=15*n; else if 5000n,MATLAB SDU,57,4、switch-case结构,switch ex case test1 (commands1) case test2 (commands2) ca
31、se testk (commandsk) otherwise (commands) end,MATLAB SDU,58,MATLAB SDU,59,例2-10 用switch结构编写程序,实现判断键盘输入的任意一个实数是正数、负数还是零。 用switch结构实现的程序内容如下: va = input(请输入数值); t=va/abs(va); switch t case -1 disp(输入为负数); case 1 disp(输入为正数); otherwise disp(输入为零);; end,MATLAB SDU,60,注意,switch后面的表达式的值既可以是数值,也可以是字符串。 每一个
32、case子句后面可以处理多个条件,此时,多个条件要用单元数组的形式表示,当其中switch的表达式的值只需要满足单元数组的任一值都会执行相对应的语言组。,MATLAB SDU,61,例2-11 用switch结构编写程序,实现判断键盘输入的任一110的数为偶数、奇数还是其他。 用switch结构编写程序内容如下: va = input(请输入数值); switch va case 1,3,5,7,9 disp(输入为奇数); case 2,4,6,8,10 disp(输入为偶数); otherwise disp(输入非奇非偶);; end,MATLAB SDU,62,%划分区域:满分(100)
33、,优秀(90-99),良好(80-89),及格(60-79),不及格(60)。 for i=1:10;ai=89+i;bi=79+i;ci=69+i;di=59+i;end;c=d,c; Name= Jack,Marry,Peter, Rose, Tom;%元胞数组 Mark=72,83,56,94,100;Rank=cell(1,5); %创建一个含5个元素的构架数组S,它有三个域。 S=struct(Name,Name,Marks,Mark,Rank,Rank); %根据学生的分数,求出相应的等级。 for i=1:5 switch S(i).Marks case 100 %得分为100时
34、 S(i).Rank=满分; %列为满分等级 case a %得分在90和99之间 S(i).Rank= 优秀; %列为优秀等级 case b %得分在80和89之间 S(i).Rank= 良好; %列为良好等级 case c %得分在60和79之间 S(i).Rank= 及格; %列为及格等级 otherwise %得分低于60。 S(i).Rank=不及格; %列为不及格等级 end end %将学生姓名,得分,登记等信息打印出来。 disp(学生姓名 , 得分 , 等级);disp( ) for i=1:5; disp(S(i).Name,blanks(6),num2str(S(i).M
35、arks),blanks(6),S(i).Rank); end;,MATLAB SDU,63,5、try-catch结构,错误控制指令 try (commands1)组命令1总被执行。若正确,则跳出此结构 catch (commands2)仅当组命令1出现执行错误,组命令2才被执行 end,MATLAB SDU,64,例2-12 判断下列程序的运行结果。 程序内容如下: a = 1 2; 3 4; 5 6; b = 7 8; 9 10; try a*2 a.*b a*b catch disp(发生错误) end lasterr,MATLAB SDU,65,%try-catch结构应用实例 cl
36、ear, N=4; A=magic(3); %设置3行3列矩阵A。 try A_N=A(N,:),取A的第N行元素 catch A_end=A(end,:),%如果取A(N,:)出错,则改取A的最后一行。 end lasterr%显示出错原因,MATLAB SDU,66,echo命令,通常运行一个M文件时,文件中的命令不在屏幕上显示出来。 如果M文件被执行之前,首先在MATLAB命令窗中输入echo命令并予以执行,然后再运行M文件,则M文件中的程序将在MATLAB命令窗中显示出来,但影响程序的执行速度。 若要清除echo命令的影响,在MATLAB命令窗中键入“echo off”并回车即可。,M
37、ATLAB SDU,67,Input( )语句,Input( )语句用在M文件中,执行到input( )命令时,MATLAB暂停程序的执行,等待用户用键盘赋值给input( )指定的变量。 Input( )语句还可用于等待用户输入MATLAB表达式和字符串,跟其他语句配合,可以实现“菜单”的功能。不过MATLAB中有专用的菜单设置命令,一般并不使用input( )来建立。,MATLAB SDU,68,keyboard命令,类似于input( )但功能更强的keyboard命令是等待键盘输入内容,并把键盘输入的内容作为一个M文件来调用。 例如,建立一个M文件us.m: x=0:0.01*pi:2
38、*pi; keyboard 执行us.m,计算机返回一个提示符:k 此时,可以输入一个函数,但要注意这个函数自变量和因变量的对应关系。 return命令返回正常状态,表示增加输入的文本内容输入完毕,这一条命令是必须的。,MATLAB SDU,69,6、控制程序流的其它常用指令(1),MATLAB SDU,70,控制程序流的其它常用指令(2),MATLAB SDU,71,四、程序调试与优化,程序调试概述 一般调试技巧 程序调试器的使用 程序设计的优化,MATLAB SDU,72,程序调试概述,MATLAB的调试器(Debugger)可以迅速地帮您找出程序错误所在,其功能包含: 查询每一个函数的工作空间(Workspace). 显示函数调用的堆栈(Function Call Stack). 一行一行地执行M文件.,MATLAB SDU,73,一般调试技巧,一般而言,计算机程序可能发生的错误可分为两种: 语法错误(Syntax Errors) 逻辑错误(Logic Errors) 一般检测逻辑错误的方法: 删除表达式最尾端的分号。 若调试一个单独函数,可在其第一行的函数申明行加上%,并定义输入变量的值,直接以脚本的方式来执行此M文件,并保留所有变量于MATLAB工作空间中,以便后续查看及调试。 在程序中加入keyboard命令,可使程序执行至此处
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届高三艺术一轮复习计划
- 职业健康传染病防治技能提升计划
- 防水工程停车安排合同
- 企业内训师年度工作计划
- 数字媒体市场推广工作计划
- 小学教代会活动策划与实施计划
- 2024-2025年苏教版小学数学四年级上册个性化学习计划
- 2025年建筑项目后勤支持计划
- 五星级酒店酒吧服务人员培训计划
- 包子店经营权转让合同范文
- 新入职员工安全培训试题及参考答案【达标题】
- 价值型销售(技能篇)
- 大学生创业导论学习通超星期末考试答案章节答案2024年
- 首都医科大学招聘笔试题库2024
- 2023-2024学年山东省济南市高一下学期7月期末考试物理试题(解析版)
- 第七单元知识梳理(课件)-2022-2023学年四年级语文下册单元复习(部编版)
- 2022年江苏省常州市强基计划选拔数学试卷(附答案解析)
- DB31-T470-2009城市轨道交通(地下段)列车运行引起的住宅建筑室内结构振动与结构噪声
- HSE管理体系与保证措施
- “沙钢杯”第十一届全国钢铁行业职业技能竞赛(电工)理论试题库-中(多选题)
- 人音版 三年级下册《摇船调》教案
评论
0/150
提交评论