利用matlab编写S函数求解微分方程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用matlab编写S函数求解微分方程自动化专业综合设计报告

自动化专业综合设计报告

函数求解微S编写设计题目:利用

matlab

分方程

自动化系统仿真实验室所在

实验室:

郭卫平

指导教师:

律迪迪学生姓名

200990519114 班级文自0921 学号

成绩评定:

自动化专业综合设计报告

一、设计目的

了解使用simulink的扩展工具——S-函数,s函数可以利用matlab的丰富资源,而不仅仅局限于simulink提供的模块,而用c或c++等语言写的s函数还可以实现对硬件端口的操作,还可以操作windows API 等的,它的魅力在于完美结合了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] = sfuntmpl(t,x,u,flag)

%SFUNTMPL S-function

M-file General

template

define you can With % M-file

S-functions,

you own ordinary differential system equations (ODEs),

discrete %

equations, and/or just about any type of algorithm to be used within a %

Simulink block diagram.

%

自动化专业综合设计报告

% The general form of an M-File S-function

syntax is:

% [SYS,X0,STR,TS] =

SFUNC(T,X,U,FLAG,P1,...,Pn)

%

given is % What returned by SFUNC at a

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

-----

------ %

-------------------------------

-------------

[SIZES,X0,STR,TS] % 0 Initialization, return system

sizes in SYS,

state initial % in X0, state ordering strings

in STR,

and %

sample times in TS.

Return

% 1 DX

自动化专业综合设计报告

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

% 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.

自动化专业综合设计报告

%

% 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 that they are

dynamically sized. The

% actual length for

相关文档
最新文档