Using Matfile() in combination with a variable

조회 수: 1 (최근 30일)
Jan Majewski
Jan Majewski 2018년 11월 21일
편집: Jan Majewski 2018년 11월 22일
I reference a Matfile and to access its entries using a variable:
a = 'variablefrommat';
m = matfile('myMat.mat');
x = m.a
This results (obviously) in Matlab searching the Matfile for 'a'. In my case this error occurs:
'a' does not exist in 'myMat.mat'.
Is there a way to interpret 'a' as the variable?

채택된 답변

Adam Danz
Adam Danz 2018년 11월 21일
편집: Adam Danz 2018년 11월 21일
The mat file object is similar to a structure array. Use parentheses to access fields dynamically.
m = matfile('myMat.mat');
a = 'variablefrommat';
x = m.(a) %same as m.variablefrommat

추가 답변 (1개)

Geoff Hayes
Geoff Hayes 2018년 11월 21일
Jan - if you know the name of the variable that you want to reference then why are you setting this to its own variable? What are you trying to accomplish here?
You can do this using getfield as
x = getfield(m,a)
which will return the expected result...but do you need to do it this way?
  댓글 수: 1
Jan Majewski
Jan Majewski 2018년 11월 22일
편집: Jan Majewski 2018년 11월 22일
I have a function which executes it since i have a lot variables and wanted to organize it better.
Maybe should have added it in the Question.
Your solution works aswell! Thanks.

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

카테고리

Help CenterFile Exchange에서 Workspace Variables and MAT-Files에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by