Continous integrator for multiplexed signal block
- Initial state :
Type 'vec' of size -1. The inital continuous state of the integrator.
- always active: yes
- direct-feedthrough: no
- zero-crossing: no
- mode: no
- number/sizes of inputs: 1 / 1
- number/sizes of outputs: 1 / 1
- number/sizes of activation inputs: 0 /
- number/sizes of activation outputs: 0 /
- continuous-time state: yes
- discrete-time state: no
- name of computational function: nintegr
NINTEGRAL_f.sci
/* nintegr Scicos vector intgerator
* Type 2 simulation function ver 1.0 - scilab-2.6&2.7
* 16 novembre 2003 - IRCOM GROUP - Author : A.Layec
*/
/* REVISION HISTORY :
* $Log$
*/
#include "machine.h"
/* Cette fonction de simulation réalise l'intégration simple
* du vecteur u[] par le solveur ODE intégré et place le résultat dans y[]
*
* entrée régulières : u[0..nu-1] vecteur d'entrée
* sorties régulières : y[0..nu-1] registre de sortie
* entrée évènementielle : néant (temps dépendant)
* sortie évènementielle : néant.
* état continu : u[0..in_size-1] vecteur des états continus
*/
/*Prototype*/
void nintegr(flag,nevprt,t,xd,x,nx,z,nz,tvec,ntvec,rpar,nrpar,
ipar,nipar,inptr,insz,nin,outptr,outsz,nout)
integer *flag,*nevprt,*nx,*nz,*ntvec,*nrpar,ipar[],*nipar,insz[],*nin,outsz[],*nout;
double x[],xd[],z[],tvec[],rpar[];
double *inptr[],*outptr[],*t;
{
/*Déclaration*/
double *y;
double *u;
int i,nu;
/*Récupération des addresses des ports réguliers*/
y = (double *)outptr[0];
u = (double *)inptr[0];
/*Récupération de la taille du port d'entrée régulier*/
nu=insz[0];
/*Le flag 1 place le vecteur des états continus x[]*/
/*dans le registre de sortie y[]*/
if(*flag == 1)
for(i=0;i<nu;i++) y[i]=x[i];
/*Le flag 2 place les valeurs d'entrée u[]*/
/*dans le vecteur des dérivées xd[]*/
else if(*flag ==0)
for(i=0;i<nu;i++) xd[i]=u[i];
}
IRCOM Group
Alan Layec