Borrar filtros
Borrar filtros

Varying parameters in if statement

5 visualizaciones (últimos 30 días)
ericson
ericson el 9 de Mzo. de 2014
Editada: Mischa Kim el 9 de Mzo. de 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?

Respuesta aceptada

the cyclist
the cyclist el 9 de Mzo. de 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 comentarios
ericson
ericson el 9 de Mzo. de 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 el 9 de Mzo. de 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.

Iniciar sesión para comentar.

Más respuestas (1)

Mischa Kim
Mischa Kim el 9 de Mzo. de 2014
Editada: Mischa Kim el 9 de Mzo. de 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 comentario
ericson
ericson el 9 de Mzo. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by