How to copy/paste or use script to modify array in Variable Editor?

3 次查看(过去 30 天)
I want to modify a 12x15 array in one of the Simulink reference applications. So far, the only way I can access it seems to be through the Variable Editor. (Open Model Explorer, go to Simulink Root -> FCElectricPlant -> Model Workspace, open Mot in Variable editor, and then browse to "efficiency_table")
Is there a way to copy/paste data in this table within Variable Editor?
Or is there an alternate way to get to this data where I can make modifications?
Thanks!

采纳的回答

Harimurali
Harimurali 2024-1-11
编辑:Walter Roberson 2024-1-11
Hi Mark,
The variables in the model workspace can be accessed and modified using the "Simulink.ModelWorkspace" object of the model in MATLAB. Here is an example MATLAB code to do the same:
% Load the model into memory if it is not already loaded
load_system('FCElectricPlant');
% Get the variable from the model workspace
hws = get_param('FCElectricPlant', 'ModelWorkspace');
efficiency_table = hws.getVariable('efficiency_table');
% Now you can modify the efficiency_table as needed
% For example, to change the value at row 5, column 6:
efficiency_table(5, 6) = newValue;
% After modifying the efficiency_table, write it back to the model workspace
hws.assignin('efficiency_table', efficiency_table);
% Save changes to the model if necessary
save_system('FCElectricPlant');
For more information on how to interact with the model workspace using a "Simulink.ModelWorkspace" object: https://www.mathworks.com/help/releases/R2023b/simulink/slref/simulink.modelworkspace.html

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programmatic Model Editing 的更多信息

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by