How to call a function with a char variable

조회 수: 3 (최근 30일)
Bharat
Bharat 2015년 7월 5일
편집: dpb 2015년 7월 6일
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일
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개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by