1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
3
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
4
original version by: Nikos Drakos, CBLU, University of Leeds
5
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
6
* with significant contributions from:
7
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
10
<TITLE>Derivative </TITLE>
11
<META NAME="description" CONTENT="Derivative ">
12
<META NAME="keywords" CONTENT="main">
13
<META NAME="resource-type" CONTENT="document">
14
<META NAME="distribution" CONTENT="global">
16
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
17
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
19
<LINK REL="STYLESHEET" HREF="main.css">
23
<BODY bgcolor="#FFFFFF">
25
<!--Table of Child-Links-->
26
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
29
<LI><A NAME="tex2html5228"
30
HREF="DERIV.htm#SECTION005816100000000000000">Library</A>
31
<LI><A NAME="tex2html5229"
32
HREF="DERIV.htm#SECTION005816200000000000000">Description</A>
33
<LI><A NAME="tex2html5230"
34
HREF="DERIV.htm#SECTION005816300000000000000">Default properties</A>
35
<LI><A NAME="tex2html5231"
36
HREF="DERIV.htm#SECTION005816400000000000000">Interfacing function</A>
37
<LI><A NAME="tex2html5232"
38
HREF="DERIV.htm#SECTION005816500000000000000">Computational function (type 4)</A>
40
<!--End of Table of Child-Links-->
43
<H2><A NAME="SECTION005816000000000000000"></A><A NAME="DERIV"></A>
49
$\epsfig{file=DERIV.eps,width=90.00pt}$
52
WIDTH="143" HEIGHT="161" ALIGN="BOTTOM" BORDER="0"
54
ALT="\epsfig{file=DERIV.eps,width=90.00pt}">
56
<H3><font color="blue"><A NAME="SECTION005816100000000000000">
61
<H3><font color="blue"><A NAME="SECTION005816200000000000000">
64
The Derivative block approximates the derivative of its input by computing:
67
\frac{\Delta u}{\Delta t}
73
WIDTH="33" HEIGHT="56" ALIGN="MIDDLE" BORDER="0"
75
ALT="$\displaystyle \frac{\Delta u}{\Delta t}$">
78
<H3><font color="blue"><A NAME="SECTION005816300000000000000">
79
Default properties</A>
85
<LI>direct-feedthrough: yes
91
<LI>number/sizes of inputs: 1 / -1
93
<LI>number/sizes of outputs: 1 / -1
95
<LI>number/sizes of activation inputs: 0 /
97
<LI>number/sizes of activation outputs: 0 /
99
<LI>continuous-time state: no
101
<LI>discrete-time state: no
103
<LI>name of computational function: <EM>deriv</EM>
106
<H3><font color="blue"><A NAME="SECTION005816400000000000000">
107
Interfacing function</A>
109
<TT>scilab/macros/scicos_blocks/linear/DERIV.sci</TT>
111
<H3><font color="blue"><A NAME="SECTION005816500000000000000">
112
Computational function (type 4)</A>
116
#include "scicos_block.h"
117
#include <math.h>
123
void deriv(scicos_block *block,int flag)
128
if (flag == 4){/* the workspace is used to store previous values */
129
if ((*block->work=
130
scicos_malloc(sizeof(double)*2*(1+block->insz[0])))== NULL ) {
131
set_block_error(-16);
138
for(i=0;i<block->insz[0];++i){
142
}else if (flag == 5){
143
scicos_free(*block->work);
144
}else if (flag == 1) {
149
for(i=0;i<block->insz[0];++i) {rw[2+2*i]=rw[3+2*i];}
152
for(i=0;i<block->insz[0];++i) {
153
rw[3+2*i]=block->inptr[0][i];
158
for(i=0;i<block->insz[0];++i)
159
block->outptr[0][i]=(rw[3+2*i]-rw[2+2*i])/dt;