passing GUI workspace variables to simulink model

조회 수: 3 (최근 30일)
Philip
Philip 2013년 12월 29일
댓글: Azzi Abdelmalek 2013년 12월 29일
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