I am using:
angle=regexp(folder(i).name,'\d+','match');
To get a numerical value out of the folder name.
It returns the value in the cell " angle ". I'd like to multiply this value by a scalar 3.14/180 and then use it in a function call: function(angle*3.14/180,...)
I've attempted some work with cellfun ( following this thread: http://www.mathworks.com/matlabcentral/answers/115522-multiply-a-cell-array-with-a-scalar), no success so far.
Is there a better way to approach this?
Thank you

 채택된 답변

Adam
Adam 2014년 9월 23일
편집: Adam 2014년 9월 23일

1 개 추천

angle = str2double( angle{1} ) * 3.14/180;
will put your value in a regular double assuming that you only have 1 cell or that the angle you want is in the first cell and that the result of regexp is actually a string containing the number as it would appear to be. If not, just get rid of the str2num.

댓글 수: 2

Andrew
Andrew 2014년 9월 23일
Thank you very much :D
Adam
Adam 2014년 9월 23일
편집: Adam 2014년 9월 23일
Actually, I just remembered, str2double is the recommended function to use now, but str2num does still work, it's just less efficient I think. I edited the answer to reflect that.

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Type Conversion에 대해 자세히 알아보기

질문:

2014년 9월 23일

편집:

2014년 9월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by