Multiplying cell by scalar

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

 Respuesta aceptada

Adam
Adam el 23 de Sept. de 2014
Editada: Adam el 23 de Sept. de 2014

1 voto

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 comentarios

Andrew
Andrew el 23 de Sept. de 2014
Thank you very much :D
Adam
Adam el 23 de Sept. de 2014
Editada: Adam el 23 de Sept. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion en Centro de ayuda y File Exchange.

Preguntada:

el 23 de Sept. de 2014

Editada:

el 23 de Sept. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by