passing GUI workspace variables to simulink model

16 次查看(过去 30 天)
I'm having an issue getting my GUI and Simulink model to place nice together.
My GUI has a great many fields that the user can customize with input, values for k0, k1, k2, b0, b1 etc.
Upon pressing a button, my GUI should call a simulink model that I have already made to evaluate the system.
My problem is that when I run the sim('modelname') command (with modelname replaced by my own model's name), the variables I have in the workspace aren't passed along, so MATLAB tells me "error evaluating parameter..." and "undefined function or variable 'k0' for all the variables I had just imported from my GUI.
I had originally looked around and tried to pass them to simulink, creating a parameter variable that has parameter.k0 = k0; etc for all the values and then running sim('modelname', parameter); however, this gives me the error block_diagram does not have a parameter named "L".
How do I run my Simulink model from my GUI using the variables it needs in the correct workspace?
kind regards,

回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-12-29
  3 个评论
Philip
Philip 2013-12-29
set_param gives me a similar error, telling me "Block-diagram does not have a parameter 'k0'".
Does this mean I need to set every instance where a variable is used (each gain, each subfunction) separately with its own set_param line? This would totally negate the advantage of declaring variables for the varying blocks.
Is there no way to share variables between workspaces short of making them global?
Azzi Abdelmalek
Azzi Abdelmalek 2013-12-29
Try another option: save your parameters in a mat file, and load it in the callback of your simulink model

请先登录,再进行评论。

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by