Assign value to variables

조회 수: 6 (최근 30일)
fadi awar
fadi awar 2021년 4월 30일
댓글: Stephen23 2021년 4월 30일
Hello,
I have a cell array with char: c={'R1', 'R2', 'R3','R4'}
and I have a vector b=[1 0 0 1]
how can i assign values for the elements of c, so whenever I type R1 in the workspace I get the value =1;
(note that I need this to run a simulink file)
  댓글 수: 1
Stephen23
Stephen23 2021년 4월 30일
"I have a cell array with char..."
But your example data here shows a non-scalar structure. Probably this does what you need:

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

답변 (2개)

Steven Lord
Steven Lord 2021년 4월 30일
Can you define variables with numbered names like X1, X2, X3, ... ? Yes.
Consider instead one of the other approaches, like a model workspace, described in this section of the documentation.
  댓글 수: 3
Steven Lord
Steven Lord 2021년 4월 30일
As I said you can do this but you should not. See the Answers post to which I linked for a more thorough explanation of why this is discouraged and (if you feel you must do this) how you would.
fadi awar
fadi awar 2021년 4월 30일
ok thank you sir, I'll check it

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


Scott MacKenzie
Scott MacKenzie 2021년 4월 30일
I'm not sure if this is helpful, but is seems to address the core issue you describe:
c={'R1', 'R2', 'R3', 'R4'};
b=[1 0 0 1];
z = input('Enter: ', 's');
b(strcmp(c,z)) % retrieve element from b in same position as user input in c
Sample run: (user input underlined)
Enter: R1
ans =
1
This isn't Simulink. It's just MATLAB code and Command Window interaction.

카테고리

Help CenterFile Exchange에서 Simulink Environment Customization에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by