How can i define a parameter with if condition?
이전 댓글 표시
I want to define variables with if and switch conditions in simbiology. Is it possible to define using matlab code?
For example I have variable say
x = normrnd(140,104)
if x>440
y = 440;
elseif x<40
y = 40;
else
x=y;
end
채택된 답변
추가 답변 (1개)
Arthur Goldsipe
2013년 2월 4일
Hi,
The short answer is that SimBiology cannot directly use "if" or "switch", but you can use them indirectly by putting them in a helper function. For example, to use the sample code you provided, create a file named "myrand.m" with the following content:
function y = myrand
x = normrnd(140,104)
if x>440
y = 440;
elseif x<40
y = 40;
else
y = x; % I assume "x=y" was a typo
end
Then, to use this function to set the initial value of a species named "z" in a model stored in variable "m1", use the following command:
m1.addrule('z = myrand()', 'initialAssignment');
Further, as Azzi points out above, this particular example can be written without if or switch statements. Here's how I'd write the rule so that I didn't have to create a separate helper function:
m1.addrule('z = max(min(normrnd(140, 104), 440), 40)', 'initialAssignment');
커뮤니티
더 많은 답변 보기: SimBiology Community
카테고리
도움말 센터 및 File Exchange에서 Import Data에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!