How to call a function with a char variable

3 visualizaciones (últimos 30 días)
Bharat
Bharat el 5 de Jul. de 2015
Editada: dpb el 6 de Jul. de 2015
Hello, Can someone help me with a small problem?
I stored my workspace as: s= whos() THe actual values are: s(1).name = A,s(2).name = B
[X Y] = coordinates(A,B) works while
[X Y] = coordinates(s(1).name, s(2).name,1); doesn't work?
How do I resolve this?
  1 comentario
Azzi Abdelmalek
Azzi Abdelmalek el 5 de Jul. de 2015
Editada: Azzi Abdelmalek el 5 de Jul. de 2015
What is coordinates? Can you post an example?

Iniciar sesión para comentar.

Respuesta aceptada

dpb
dpb el 5 de Jul. de 2015
Don't do this!!! Use save/load or some other form instead.
If you think you really, really must do this for some reason, then you're treading on thin ice -- read the info under eval to see why and alternatives for various programming paradigms. But, with the above caveat,
[X Y] = coordinates(eval(s(1).name), eval(s(2).name,1));
should, presuming that the variables in s(1:2) are appropriate inputs for the function or are indeed A and B after the execution of whos. But, who's to know that's really the case?
  2 comentarios
Bharat
Bharat el 5 de Jul. de 2015
I don't understand why I shouldn't but it works! Thanks
dpb
dpb el 5 de Jul. de 2015
Editada: dpb el 6 de Jul. de 2015
Carry on down this road a while longer and I can assure you that you'll find out why... :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical 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