How to call a function with a char variable

3 vues (au cours des 30 derniers jours)
Bharat
Bharat le 5 Juil 2015
Modifié(e) : dpb le 6 Juil 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 commentaire
Azzi Abdelmalek
Azzi Abdelmalek le 5 Juil 2015
Modifié(e) : Azzi Abdelmalek le 5 Juil 2015
What is coordinates? Can you post an example?

Connectez-vous pour commenter.

Réponse acceptée

dpb
dpb le 5 Juil 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 commentaires
Bharat
Bharat le 5 Juil 2015
I don't understand why I shouldn't but it works! Thanks
dpb
dpb le 5 Juil 2015
Modifié(e) : dpb le 6 Juil 2015
Carry on down this road a while longer and I can assure you that you'll find out why... :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by