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

 Akzeptierte Antwort

Adam
Adam am 23 Sep. 2014
Bearbeitet: Adam am 23 Sep. 2014

1 Stimme

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 Kommentare

Andrew
Andrew am 23 Sep. 2014
Thank you very much :D
Adam
Adam am 23 Sep. 2014
Bearbeitet: Adam am 23 Sep. 2014
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Gefragt:

am 23 Sep. 2014

Bearbeitet:

am 23 Sep. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by