How to call a function with a char variable

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

Azzi Abdelmalek
Azzi Abdelmalek 2015년 7월 5일
편집: Azzi Abdelmalek 2015년 7월 5일
What is coordinates? Can you post an example?

댓글을 달려면 로그인하십시오.

 채택된 답변

dpb
dpb 2015년 7월 5일

0 개 추천

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

Bharat
Bharat 2015년 7월 5일
I don't understand why I shouldn't but it works! Thanks
dpb
dpb 2015년 7월 5일
편집: dpb 2015년 7월 6일
Carry on down this road a while longer and I can assure you that you'll find out why... :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Performance and Memory에 대해 자세히 알아보기

태그

질문:

2015년 7월 5일

편집:

dpb
2015년 7월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by