Create variable from string
5 ビュー (過去 30 日間)
古いコメントを表示
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
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 件)
Walter Roberson
2015 年 6 月 18 日
eval(['A', s])
and for assignment
eval(['A', s, ' = ', Value_As_string])
Not recommended at all.
1 件のコメント
参考
カテゴリ
Help Center および File Exchange で Startup and Shutdown についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!