필터 지우기
필터 지우기

Accessing variables from workspace into user-created function block in Simulink

조회 수: 3 (최근 30일)
Good afternoon,
As the title suggests, I defined some variable say, x in the workspace that has a number.
Using MATLAB function, I am trying to import that variable (just once!) and as simulation progress, under
certain condition, I want to increment that variable. However, since the function does not 'see' the variable x,
I end up declaring that variable inside the MATLAB Function Block. However, this keeps initializing the variable
and thus, I cannot increment it.
I need help to resolve this problem!

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 12월 22일
You can declare your variable as persistent
function y=fcn(u)
persistent v
if isempty(v)
v=your_constant
end
v=v+increment
  댓글 수: 3
Azzi Abdelmalek
Azzi Abdelmalek 2013년 12월 22일
편집: Azzi Abdelmalek 2013년 12월 22일
At time =0 , v takes the value your_constant. And each iteration the variable v will be incremented. persistent allows to remember the value of v
Daniel
Daniel 2013년 12월 22일
Actually I figured it out. No need for an answer. Thanks for brilliant answer!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Simulink Functions에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by