how to change variable value in lookup table during simulation in Simulink?

8 ビュー (過去 30 日間)
Mounira
Mounira 2024 年 2 月 20 日
編集済み: Fangjun Jiang 2024 年 2 月 21 日
Hello,
so I have a 2 table lookup; first table has: P (48 values) and time(1:1:48); and the second table has: load Q (48 values) and time(1:1:48);
at some time ; for example at time=6; i want to change the value of P to 9; how can change variable value at the same time of simulation running?
I tried to use Matlab function to change the value of P but it didn't work;
the code is:
function Pref= fcn(loadref,currenttime, P )
persistent loadrefold;
% Initialize persistent variable
if isempty(loadrefold)
loadrefold = 0;
end
if loadref ~= loadrefold;
updatetime = round(currenttime+1)
P(updatetime,1)=loadref;
loadrefold=loadref;
Pref=P;
else Pref=P;
end
end
  2 件のコメント
Sam Chak
Sam Chak 2024 年 2 月 20 日
Based on your clear description, it seems that there are two Lookup Tables involved. You mentioned that each Lookup Table has two inputs to the block, one being the load and the other being the time. However, I only see the time input (Hour of the Day) in the Simulink model. Am I missing something?
Additionally, at time , you mentioned that you want to set the value of Load to 9, which seems to be a fixed value not dependent on the Lookup Table. Do you intend for the Load to remain at 9 for time t > 6 until the end of the simulation?
jana nassereddine
jana nassereddine 2024 年 2 月 20 日
i have inside the lookup table; i have 2 inputs; i will show you a picture; as for th etime; no only for a specific time i want a specific value;

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

回答 (2 件)

Jon
Jon 2024 年 2 月 20 日
You could use the step block, found under Simulink>Sources for this purpose

Fangjun Jiang
Fangjun Jiang 2024 年 2 月 20 日
Usually, using Dashboard blocks allow you to change variable values interactively during simulation
  7 件のコメント
Fangjun Jiang
Fangjun Jiang 2024 年 2 月 20 日
Look at your question and title, where does MPC come from??
Fangjun Jiang
Fangjun Jiang 2024 年 2 月 21 日
If the value of "P" is created or modified by this MPC or the MATLAB function, then this solution would be perfect too. Make that "P" an output of this MPC or the MATLAB Function block, remove the Constant block, feed "P" to the "T" port of the 1-D Lookup Table block, making it a dynamic lookup table.

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

カテゴリ

Help Center および File ExchangeSimulink Functions についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by