How to call a function with a char variable

3 Ansichten (letzte 30 Tage)
Bharat
Bharat am 5 Jul. 2015
Bearbeitet: dpb am 6 Jul. 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 Kommentar
Azzi Abdelmalek
Azzi Abdelmalek am 5 Jul. 2015
Bearbeitet: Azzi Abdelmalek am 5 Jul. 2015
What is coordinates? Can you post an example?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by