Varying parameters in if statement

6 Ansichten (letzte 30 Tage)
ericson
ericson am 9 Mär. 2014
Bearbeitet: Mischa Kim am 9 Mär. 2014
Hi! I would like to create a conditional statement where the parameters of my if statement is changing. Is it possible to vary the parameters in the if statement?
Here is an example:
x10=1;
i=10;
word='x';
if ('%s%d~=1',word,i)
v='not working'
end
I tried this one but it is not working, any suggestion on how to make it work?

Akzeptierte Antwort

the cyclist
the cyclist am 9 Mär. 2014
Here is the closest I can get to the code that I think you wanted:
x10=1;
i=10;
word='x';
% Create a "pass/fail" variable that will be tested.
eval(sprintf('PF = %s%d~=1;',word,i))
% Do the test
if PF
v = 'not working'
end
  3 Kommentare
ericson
ericson am 9 Mär. 2014
Yes, both the variable and digit vary
Is there an alternative way wherein I don't need to store it to another variable? I'm using this code for my GUI wherein I will need that code to compare to almost 3000 variables. If I add more variables, it will make the real time clock in my GUI hang.
the cyclist
the cyclist am 9 Mär. 2014
x10=1;
i=10;
word='x';
% Create a "pass/fail" variable that will be tested.
eval(sprintf('if %s%d~=1, v = ''not working''; disp(v); end ',word,i))
If you don't actually need to display the 'not working' text, then you can get rid of the
disp(v)
statement inside the eval() statement.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Mischa Kim
Mischa Kim am 9 Mär. 2014
Bearbeitet: Mischa Kim am 9 Mär. 2014
Something like:
mynum = 2; % change to mynum = 1
x10 = 1;
word = 'x';
i = 10;
if (eval(genvarname(strcat(word,num2str(i)))) == mynum)
fprintf('x10 is %d\n', mynum);
else
fprintf('x10 is not %d\n', mynum);
end
  1 Kommentar
ericson
ericson am 9 Mär. 2014
Is there an alternative way wherein I don't need to store it to another variable? I'm using this code for my GUI wherein I will need that code to compare to almost 3000 variables. If I add more variables, it will make the real time clock in my GUI hang.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Time Series Events finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by