Create variable from string

조회 수: 7 (최근 30일)
Teresa
Teresa 2015년 6월 18일
편집: Stephen23 2019년 6월 19일
I would like to alter a string in order to access a certain cell of a Matrix. Can I do that by creating a string first? For example
s='{2,1}{1,1}' and then somehow get A{2,1}{1,1}
Actually I would like to create something like a reference. Like
x=A{2,1} x=x{1,1} x=5
and then at the same time change A so I get the following value when calling
>>A{2,1}{1,1}
A{2,1}{1,1} =
5
Usually I would think of using a pointer but that does not seem to be possible in Matlab, or am I mistaken?
  댓글 수: 1
Stephen23
Stephen23 2015년 6월 18일
편집: Stephen23 2015년 6월 18일
Avoid doing this.
MATLAB does not support pointers, and creating some hack-code to improvise them will not be robust.
In particular using dynamic strings like this to define indexing (or variables names) is liable to difficult-to-debug errors. Learn to program using more robust techniques, and your own life will become much easier...

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

답변 (2개)

Stephen23
Stephen23 2015년 6월 18일
편집: Stephen23 2019년 6월 19일

Walter Roberson
Walter Roberson 2015년 6월 18일
eval(['A', s])
and for assignment
eval(['A', s, ' = ', Value_As_string])
Not recommended at all.
  댓글 수: 1
Stephen23
Stephen23 2015년 6월 18일
편집: Stephen23 2019년 6월 19일
@Teresa: note that those words "Not recommended at all" that Walter Roberson wrote are actually very significant.

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

카테고리

Help CenterFile Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by