My Matlab script generates a stochastic Load Profile data and I have a simulink model that is getting this data from 'From Workspace' block. I will call this block LP.
What I want to do is; when I copy this LP block and create another block manually from Simulink, I want MATLAB to detect this change and run the model for a new stochastic data for the new block.
My question is if it is possible to achieve ? Otherwise I have to transfer whole model from Matlab to Simulink.
Thanks in advance.
Onat

 採用された回答

Fangjun Jiang
Fangjun Jiang 2019 年 10 月 2 日

0 投票

Right click this "From Workspace" block in your model, select "Properties", select the "Callbacks" panel, select the "CopyFcn" in the left column, on the right panel, type in the MATLAB script or function that generates the stochastic data.

2 件のコメント

Mustafa Onat Güney
Mustafa Onat Güney 2019 年 10 月 2 日
編集済み: Mustafa Onat Güney 2019 年 10 月 2 日
Hey, thank you very much for quick answer, very useful feature.When I do that, the new block changes but it overwrites the new data on the previous block as well. (Because 'From Workspace' block reads the same named data). So, I still have one set of data which I actually intend to have seperate data whenever I copy them. Is there a way to lock the initial blocks preventing from change when I callback ?
Best !
Fangjun Jiang
Fangjun Jiang 2019 年 10 月 2 日
What you need is to use set_param() in the CopyFcn callback to change the variable name in the "From Workspace" block and make sure the new data variable name generated in MATLAB matches it. For example
set_param(gcb,'VariableName','NewData')

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSimulink についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by