Use spreadsheet time input for simulation timestep?

Hi all,
I am importing data from several spreadsheets, as would like to use the Time column of one of them to act as a 'master' time from which the simulation will be run from. In other words I'd like the time output of the simulation to exactly match the time column of the spreadsheet.
How would I go about implementing this?
Thanks

2 commentaires

Adam Danz
Adam Danz le 12 Déc 2018
What do you need help with (you haven't asked a question)?
Here are some tips on how to get help here:
Gazebo
Gazebo le 12 Déc 2018
Modifié(e) : Gazebo le 12 Déc 2018
I need help with using a spreadsheet time column as the simulation time.
My question would be
How do I use a spreadsheet time column for the simulation time?
Many thanks

Connectez-vous pour commenter.

 Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 12 Déc 2018

0 votes

Theoritically you can't specify the exact simulation time as it is determined by other factors such as accuracy or tolerance. The time vector in your Excel file could have non-zero start time, large time step, etc.
Practically, you can set up your solver to match your desired time vector, if it is starting from zero, having a fixed time step.
More generically, you can run your simulation, get the output, and then re-sample the output to match your time vector. See Simulation, Model Configuration Parameters, Solver and Data Import/Export.

4 commentaires

Gazebo
Gazebo le 12 Déc 2018
Modifié(e) : Gazebo le 12 Déc 2018
Thanks for the help. The main problem with your first suggestion is that the time vector in the .csv is not fixed step (ranges between 0.2 to 0.7s). The other issue is that the spreadsheet also contains triggers ( one column is a boolean flag that changes the code execution, so sampling this value twice or skipping over it would result in an unaccurate simulation, even if I resample the output).
I will continue to explore options, thanks.
I would treat the column of boolean flag as one of the inputs. Use this input to trig the execution of some Simulink subsystems. So this has nothing to do with time vector or sample time.
Gazebo
Gazebo le 13 Déc 2018
Apologies, I meant that the main issue is the result of the previous execution is fed into the next ( I need to use a lot of memory blocks).
You can save the output and state of a simulation and use that to continue another simulation. Or, if the simulation is confinuously running, use Merge block to merge multiple conditionally executed subsystmes. Anyway, trying to specify the simulation time vector seems in the wrong direction.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Produits

Version

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by