I have 700 matlab variables in my workspace. I want to convert all variables to simulink parameters. Do you know any easy way to convert the data? In my situation, I add parameters to workspace for convert all variables at once. it's really hard....

2 commentaires

TAB
TAB le 24 Mai 2018
Modifié(e) : TAB le 24 Mai 2018
Do you mean, you want to convert simple workspace variable with Simulink.Parameter ?
Yeah that right. Do you know that?. If I have no solution to convert the variable to Simulink.Parameter, I would make 700 Simulink.Parameters....

Connectez-vous pour commenter.

 Réponse acceptée

TAB
TAB le 24 Mai 2018
Modifié(e) : TAB le 24 Mai 2018
Write a script to collect the name, data type etc of all your workspace variable and make a loop to create Simulink.Parameter variables based on above info.
% Clear workspace
clear variables;
% Load variabled which are to be onverted in base workspace
% load here from m-file for mat-file or just create
param1 = 100;
param2 = 100;
% List of all workspace variables
wsVarList = whos;
for x=1:length(wsVarList)
% Collect variable name
varName = wsVarList(x).name;
% Save value. This variable will be replaced by Simulink.Parameter
varVal = eval(varName);
% Create parameter with same name as variable name and assign value
eval([varName ' = Simulink.Parameter']);
eval([varName '.Value = ' num2str(varVal)]);
% Based on your requirement, you can assign other properties
% wsVarList(x).class
% wsVarList(x).size
end

1 commentaire

You got a big brain and bigger than your brain is your generous heart . Have a nice day sir

Connectez-vous pour commenter.

Plus de réponses (1)

ByungHoon Lee
ByungHoon Lee le 24 Mai 2018

0 votes

Thank you so much. I will do that. And i will give a feedback to you.

Catégories

En savoir plus sur Get Started with Simulink dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by