1、最新资料利用matlab编写S函数求解微分方程【最新资料】利用matlab编写S函数求解微分方程自动化专业综合设计报告 自动化专业综合设计报告 设计题目:利用matlab编写S函数求解微分方程 所在实验室: 自动化系统仿真实验室 指导教师: 郭卫平 学生姓名 律迪迪 班级 文自0921 学号 200990519114 成绩评定: 自动化专业综合设计报告 一、设计目的 了解使用simulink的扩展工具S-函数,s函数可以利用matlab的丰富资源,而不仅仅局限于simulink提供的模块,而用c或c+等语言写的s函数还可以实现对硬件端口的操作,还可以操作windows API等的,它的魅力在于
2、完美结合了simulink框图简洁明快的特点和编程灵活方便的优点,提供了增强和扩展sinulink能力的强大机制,同时也是使用RTW实现实时仿真的关键。 二、设计要求 求解解微分方程 y=y-2x/y y(0)=1 要求利用matlab编写S函数求解 三、设计内容(可加附页) 【步骤1】获取状态空间表达式。 在matlab中输入 dsolve(Dy=y-2*x/y,y(0)=1,x) 得到 y=(2*x+1).(1/2); 【步骤2】建立s函数的m文件。 利用21?用S函数模板文件。 以下是修改之后的模板文件sfuntmpl.m的内容。 function sys,x0,str,ts = sfu
3、ntmpl(t,x,u,flag) %SFUNTMPL General M-file S-function template % With M-file S-functions, you can define you own ordinary differential % equations (ODEs), discrete system equations, and/or just about % any type of algorithm to be used within a Simulink block diagram. % % The general form of an M-Fil
4、e S-function syntax is: % SYS,X0,STR,TS = SFUNC(T,X,U,FLAG,P1,.,Pn) % % What is returned by SFUNC at a given point in time, T, depends on the % value of the FLAG, the current state vector, X, and the current % input vector, U. % % FLAG RESULT DESCRIPTION % - - - % 0 SIZES,X0,STR,TS Initialization, r
5、eturn system sizes in SYS, % initial state in X0, state ordering strings 自动化专业综合设计报告 % in STR, and sample times in TS. % 1 DX Return continuous state derivatives in SYS. % 2 DS Update discrete states SYS = X(n+1) % 3 Y Return outputs in SYS. % 4 TNEXT Return next time hit for variable step sample %
6、time in SYS. % 5 Reserved for future (root finding). % 9 Termination, perform any cleanup SYS=. % % % The state vectors, X and X0 consists of continuous states followed % by discrete states. % % Optional parameters, P1,.,Pn can be provided to the S-function and % used during any FLAG operation. % %
7、When SFUNC is called with FLAG = 0, the following information % should be returned: % % SYS(1) = Number of continuous states. % SYS(2) = Number of discrete states. % SYS(3) = Number of outputs. % SYS(4) = Number of inputs. % Any of the first four elements in SYS can be specified % as -1 indicating t
8、hat they are dynamically sized. The % actual length for all other flags will be equal to the % length of the input, U. % SYS(5) = Reserved for root finding. Must be zero. % SYS(6) = Direct feedthrough flag (1=yes, 0=no). The s-function % has direct feedthrough if U is used during the FLAG=3 % call.
9、Setting this to 0 is akin to making a promise that % U will not be used during FLAG=3. If you break the promise % then unpredictable results will occur. % SYS(7) = Number of sample times. This is the number of rows in TS. % % % X0 = Initial state conditions or if no states. % % STR = State ordering
10、strings which is generally specified as . % % TS = An m-by-2 matrix containing the sample time % (period, offset) information. Where m = number of sample % times. The ordering of the sample times must be: % 自动化专业综合设计报告 % TS = 0 0, : Continuous sample time. % 0 1, : Continuous, but fixed in minor ste
11、p % sample time. % PERIOD OFFSET, : Discrete sample time where % PERIOD 0 & OFFSET PERIOD. % -2 0; : Variable step discrete sample time % where FLAG=4 is used to get time of % next hit. % % There can be more than one sample time providing % they are ordered such that they are monotonically % increas
12、ing. Only the needed sample times should be % specified in TS. When specifying than one % sample time, you must check for sample hits explicitly by % seeing if % abs(round(T-OFFSET)/PERIOD) - (T-OFFSET)/PERIOD) % is within a specified tolerance, generally 1e-8. This % tolerance is dependent upon you
13、r models sampling times % and simulation time. % % You can also specify that the sample time of the S-function % is inherited from the driving block. For functions which % change during minor steps, this is done by % specifying SYS(7) = 1 and TS = -1 0. For functions which % are held during minor st
14、eps, this is done by specifying % SYS(7) = 1 and TS = -1 1. % Copyright 1990-2002 The MathWorks, Inc. % $Revision: 1.18 $ % % The following outlines the general structure of an S-function. % switch flag, % % Initialization % % case 0, sys,x0,str,ts=mdlInitializeSizes; % % Derivatives % % 自动化专业综合设计报告
15、 case 1, sys=mdlDerivatives(t,x,u); % % Update % % case 2,3,9, sys=; % % Outputs % % % % GetTimeOfNextVarHit % % % % Terminate % % % % Unexpected flags % % otherwise error(Unhandled flag = ,num2str(flag); end % end sfuntmpl % %= % mdlInitializeSizes % Return the sizes, initial conditions, and sample
16、 times for the S-function. %= % function sys,x0,str,ts=mdlInitializeSizes % 自动化专业综合设计报告 % call simsizes for a sizes structure, fill it in and convert it to a % sizes array. % % Note that in this example, the values are hard coded. This is not a % recommended practice as the characteristics of the bl
17、ock are typically % defined by the S-function parameters. % sizes = simsizes; sizes.NumContStates = 1; sizes.NumDiscStates = 0; sizes.NumOutputs = 0; sizes.NumInputs = 0; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; % at least one sample time is needed sys = simsizes(sizes); % % initialize th
18、e initial conditions % x0 = 0 1.0000; % % str is always an empty matrix % str = ; % % initialize the array of sample times % ts = 0 0; % end mdlInitializeSizes % %= % mdlDerivatives % Return the derivatives for the continuous states. %= % function sys=mdlDerivatives(t,x,u) 自动化专业综合设计报告 sys(1)=(u-2*x/
19、u)*t+u; 【步骤3】利用matlab调用函数得到结果。 利用sys=sfuntmpl(,x,1)调用S函数, 替换x得到不同的结果 四、设计实验结果及分析 替换不同德x得到不同结果。 为检验结果是否正确 在命令窗口运行 x1(1)=0;y1(1)=1; h=0.1; for k=1:10 x1(k+1)=x1(k)+h; end x=0:0.1:1; y=(2*x+1).(1/2); x1=x1(1:11),y=y(1:11), 自动化专业综合设计报告 与S函数所对应,所以上述实验结果正确。 五、结论 上述为本次解微分方程得到的结果。 六、设计感受 通过本次试验充分理解了S函数的框图简洁
20、明快的特点和编程灵活方便的优点。同时复习总结了matlab程序的使用。实验过程遇到得问题通过咨询老师,同学讨论,查阅资料的都得到了解决,充分锻炼了自己认识问题解决问题的能力。另外,通过本次 实验回忆起好多以前学过的知识,不仅在本次实验中得到应用更对以后的学习生活起到了极大的启发。编译时间总是那么短暂,不知不觉本次课程设计就要结束,严谨的程序语句,适当的编译顺序是我本次课程设计的最大收获,相信这对我以后的课程设计、毕业设计乃至工作生活的影响都是巨大的。 通过分组形式的进行课程设计,加强了同学间的交流与了解,也在不断的培养团队精神,团队意识就体现在组员之间的默契协作.以确保做的项目能够保质保量按期
21、完成,在设计中出现的问题,也不仅限于组员间协商解决,但前提是组员的努力还是没法解决,可以向其他同学或是指导老师寻求帮助,最终将问题解决.自动化专业综合设计报告 以下是附加文档,不需要 的朋友下载后删除,谢谢 班主任工作总结专题8篇 第一篇:班主任工作总结 小学班主任特别是一年级的班主任,是一个复合性角色。当孩子们需要关心爱护时,班主任应该是一位慈母,给予他们细心的体贴和温暖;当孩子们有了缺点,班主任又该是一位严师,严肃地指出他的不足,并帮助他改正。于是,我认为班主任工作是一项既艰巨而又辛苦的工作。说其艰巨,是指学生的成长,发展以至能否成为合格人才,班主任起着关键性的作用,说其辛苦,是指每天除了
22、对学生的学习负责以外,还要关心他们的身体、纪律、卫生、安全以及心理健康等情况。尽管这样,下面我就谈几点做法和体会。 一、常规习惯,常抓不懈 学生良好的行为习惯的养成不是一节课、一两天说说就行的,它必须贯穿在整个管理过程中。于是我制定出详细的班规,要求学生对照执行,使学生做到有规可循,有章可依。由于低年级学生自觉性和自控力都比较差,避免不了会出现这样或那样的错误,因此这就需要班主任做耐心细致的思想工作、不能操之过急。于是,我经常利用班自动化专业综合设计报告 会对学生中出现的问题进行晓之以理、动之以情、导之以行的及时教育,给他们讲明道理及危害性,从而使学生做到自觉遵守纪律。 二、细处关爱,亲近学生
23、 爱,是教师职业道德的核心,一个班主任要做好本职工作,首先要做到爱学生。“感人心者,莫先乎情。”工作中,我努力做到于细微处见真情,真诚的关心孩子,热心的帮助孩子。我深信,爱是一种传递,当教师真诚的付出爱时,收获的必定是孩子更多的爱感受孩子们的心灵之语,便是我最快乐的一件事” 三、具体要求,指导到位 心理学研究表明,儿童对事物的认知是整体性的,能熟知轮廓,但不注重细节。 我认为,首先要蹲下来,以孩子的视角观察事物,用孩子能听懂的话和他们交流。其次,要注重细节教育,把该做的事指导到位,因为他们很想按照老师的要求去做,很想把事情做好。 四、示范带头,直观引导 大教育家乌申斯基曾有过这样一段话:“教师
24、个人的范例,对于学生的心灵是任何东西都不能代替的最有用的阳光。”低年级的学生对自己的班主任是一个怎样的老师,他们会留心观察班主任的每一个动作、每一个眼神、每一种表情,会细心倾听班主任的每一句话,他们对班主任有着一种特殊的信任和依赖情感。班主任的自身素质,道自动化专业综合设计报告 德修养,班主任的一言一行,一举一动,无形之中会成为全班几十个孩子的榜样。因此,在班级工作中我时刻注意自身形象,事事从我做起,以良好的形象率先垂范,潜移默化的影响着我的学生。凡要求学生做到的,教师首先自己做到,而且做得更好。要求学生讲卫生,不随便乱扔垃圾,自己就做到随手捡拾垃圾。要求学生不迟到,在我的带动下,我们班的大多
25、数学生都能做到讲卫生不迟到,个个讲文明守纪律。 五、及时表扬,延迟批评 德国美学家黑格尔说:“不应该使孩子们的注意力长久地集中在一些过失上,对此,尽可能委婉地提醒一下就够了。最重要的是要在学生身上激发出对自身力量和自身荣誉的信念。”教过低年级的老师都知道:孩子小,事儿多,一上课就“告状”。当老师的又不能不公平处理,这样耽误的时间太多,而且学生因为受了批评,注意力长时间集中在自己的过失上,情绪受影响,低落的情绪体验使智力活动水平明显下降,课堂吸收效率变低。针对这一情况,我采取延迟批评,这样既培养学生愉快的情绪体验,又给予其改正和返回的机会,之后老师只要加以指导,就能很好的解决问题. 本文来自公务
26、员之家,查看正文请使用公务员之家站内搜索查看正文。 第二篇:四年级班主任工作总结 自动化专业综合设计报告 学生是涌动着无限活力的生命体,是教育的起点和归宿。面对学生,祖国的未来,我们要做一个真正有意义的班主任,素质教育要求我们要面向全体学生,为学生服好务,使学生的思想道德、文化科学、劳动技能、身体心理素质得到全面和谐地发展,我们的班级管理究竟该如何阅读学生个体,提升学生学习生活及生命的质量呢?在过去的一学期里,我们班在学校的统一组织、领导和同学们的共同努力下及任课老师的大力支持和配合下,各项工作顺利开展,安全、学习、工作等方面都取得较突出的成绩,现将我所做的一些工作总结如下: 一、做好学生的思
27、想工作,培养学生良好的道德品质,净化学生的心灵,努力培养德智体全面发展的人才 做好学生的思想工作从两方面入手,一是重视每周的班会课,开好班会课;二是重视与学生的思想交流,多与学生谈心。重视班会,开好班会,为的是在班中形成正确的舆论导向,形成良好的班风、学风,为学生提供一个好的大环境,重视的是学生的共性。为配合学校各项工作的落实,我们班积极开展了许多有益于学生身心健康发展的活动,让学生在活动中明事理、长见识。学生自尊心也很强,直接的批评换回来的可能是思想的叛逆,利用班会课对学生进行思想教育的好处,就是避免单调重复的批评说教而引起学生的反感,容易为学生接受,能切实帮助学生澄清思想上的模糊认识,提高
28、学生的思想境界。但开班会课不一定都要等到每周二下午第四节,可利用一些零碎的又不影响学科学习的时间开短小精悍的班会也能取得良好的效果。不必长篇大论,班主任把及时发现的不良思想的苗头一针见血地指出来,自动化专业综合设计报告 对事不对人,进行警示性的引导教育,往往能把一些影响班风、学风的不良思想消灭在萌芽阶段。而重视与学生的思想交流,多与学生谈心,注重的是学生的个性和因材施教。我常利用课余时间和学生促膝谈心,及时对学生进行针对性的教育。用个人的魅力征服学生,用自己的热情和朝气感染学生。体现在学习、生活的方方面面。做任何事情,一定要从学生的角度去考虑,为学生利益着想,学生才易于接受。在这个时候,我就是
29、他们的好朋友,尽量为他们排忧解难,也正因如此,我得到了班上大多数学生的喜爱和信任。 二、加强班级管理,培养优秀的学风、班风,深入全面地了解学生,努力培养团结、严格、活泼、奋进的班集体 四年级的学生思想、心理发展、变化很快。因此,对学生的思想工作显得尤其复杂和重要。在这个学期里,我的班级管理工作主要从三方面实施:一方面,我主要加大了对学生自治自理能力培养的力度,通过各种方式,既注意指导学生进行自我教育,让学生在自我意识的基础上产生进取心,逐渐形成良好的思想行为品质;又注意指导学生如何进行自我管理,培养他们多方面的能力,放手让学生自我设计、自我组织各种教育活动,在活动中把教育和娱乐融入一体;还注意培养学生的自我服务的能力,让学生学会规划、料理、调控自己,使自己在集体中成为班集体的建设者,而不是包袱。在这点上,特别值得一提的是班干部的选用,这是让学生自治的重要途径。班主任的管理代表的是学校的管理,不论班主任如何和颜悦色都带有不容质疑的权威性,也难免有不被理解和接受的时候,通过班干部的协调,往往自动化专业综合设计报告 能够取得意想不到的效果。班干部起的是协助班主任管理班级的作用,他们接受班主任的指导,又及时向班主任反馈班级情况和同学们的思想动态;他们分工管理班级
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1