Plot from C Mex function and C types
Afficher commentaires plus anciens
Hello,
I'am writing an S-function in C and I need at some point to plot the content of DWork vectors (the first Dwork vector being the x-axis and the second the y-axis).
I tried the following:
mexCallMATLAB(0,x,1,y,"plot");
However this doesn't work because x and y are not of type mxArray but REAL T. Indeed this is how x and y are defined:
real_T *x = (real_T*) ssGetDWork(S,0);
real_T *y = (real_T*) ssGetDWork(S,1);
It is not possible to change the type of x and y. Is it possible to copy the content of x and y in a mxArray so that the function mexCallMATLAB can be used? I am not really an expert in C, so hopefully it won't be too hard to implement :o
Besides, is it possible to save the content of a Dwork vector (or a mxArray once "converted") in the Matlab workspace ?
Thanks.
Réponse acceptée
Plus de réponses (1)
Alex
le 21 Août 2013
0 votes
1 commentaire
Kaustubha Govind
le 21 Août 2013
FYI, there is also a run-time API (see Access Block Data During Simulation) that you can use to attach a listener to the block Output method that can read Discrete State data.
Catégories
En savoir plus sur Simulink Coder dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!