Filter löschen
Filter löschen

Bring simulation results from simulink to matlab

1 Ansicht (letzte 30 Tage)
동필
동필 am 22 Aug. 2023
Kommentiert: 동필 am 22 Aug. 2023
The script below worked in the previous version of Matlab, but it does not work in the new version. Any advice please?
for k=1:50;
disp(['k=',num2str(k)])
y=sim('bungee_blocks');
if y>0
break
end
end
disp(['Safe k=',num2str(k)])

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 22 Aug. 2023
I suspect that you might have configured Single Simulation Output; https://www.mathworks.com/help/simulink/gui/singlesimulationoutput.html
When that is enabled, the output of sim() is an object or struct array
  2 Kommentare
recent works
recent works am 22 Aug. 2023
Bearbeitet: Walter Roberson am 22 Aug. 2023
yeah what you said is right. If you're using Simulink's Single Simulation Output mode, the sim function's output will be an object or struct array containing simulation results. This would explain why the variable y in your script is not a scalar value but an object or array.
for k = 1:50
disp(['k=', num2str(k)])
% Run the simulation
simOut = sim('bungee_blocks');
% Access the simulation output data
% Replace 'outputSignal' with the actual name of the signal you want to access
outputSignal = simOut.get('outputSignal'); % Adjust to your simulation output
% Check if the condition is met based on the simulation output
if any(outputSignal > 0)
break
end
end
disp(['Safe k=', num2str(k)])
outputSignal should be replaced with the actual name of the signal you are interested in from your Simulink model's output. You would need to explore the structure of the simOut object or struct array to locate the appropriate field names for in that case
동필
동필 am 22 Aug. 2023
thank you very much.
but, i get the result :
==========
Operator '>' is not supported for operands of type 'Simulink.SimulationData.Dataset'.
Error occurred: bungeescript_help (line 19)
if any(outputSignal > 0)
===========
Any help in resolving this issue would be appreciated.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

recent works
recent works am 22 Aug. 2023
Check for Compatibility Issues
New MATLAB versions might introduce changes to functions, syntax, or behavior. Make sure that all the functions and components used in the script are compatible with the newer MATLAB version. Check the MATLAB documentation and release notes for any changes related to Simulink or other functions you're using.
Simulink Model Compatibility
Check if the "bungee_blocks" Simulink model is compatible with the new MATLAB version. Make sure that any required toolboxes or libraries are correctly installed and loaded.

Kategorien

Mehr zu Diagnostics finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by