Convert a date into seconds from a string from a block "constant"
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Nadege Hervieux
il 29 Set 2017
Commentato: Nadege Hervieux
il 3 Ott 2017
I am trying to convert a date in the form 'DD.MM' - set in a constant block - into seconds in Simulink (so that the user can change it quickly). I found the following guidelines to solve the issue by it still does not get through. 1. In the block I entered uint8(DD/MM) 2. Here is the code in the function: function seconds = fcn(date) coder.extrinsic('sscanf'); coder.extrinsic('datenum'); seconds=0; sscanf(date,'%d.%d'); seconds= datenum(date,24); end
I got the following error: "First argument must be a string."
Any hint?.
0 Commenti
Risposta accettata
Nick Choi
il 2 Ott 2017
The error that is being generated is due to the following line of code:
sscanf(date,'%d.%d');
The 'date' variable comes out of the constant block as a 'double' variable so it needs to be type casted to a 'string' in order to be used by 'sscanf'.
In Simulink, the constant block cannot output 'string' variables as described in the following documentation page: https://www.mathworks.com/help/simulink/slref/constant.html#bslolcd-1
One thing to note is that 'DD/MM' in a constant block will return the result of the division.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su String in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!