how to set a unit to variable?

53 visualizaciones (últimos 30 días)
fred bnm
fred bnm el 27 de Dic. de 2015
Comentada: Walter Roberson el 13 de Oct. de 2020
I encounter the error after run this :
30*unit::mm
  2 comentarios
Devarshi Patel
Devarshi Patel el 19 de Abr. de 2020
Check below link if you have version greater than or equal to R2017A
Walter Roberson
Walter Roberson el 20 de Abr. de 2020
Discussion of character strings is not very relevant to the question of whether MATLAB can handle units.

Iniciar sesión para comentar.

Respuesta aceptada

Karan Gill
Karan Gill el 7 de Abr. de 2017
Editada: Karan Gill el 17 de Oct. de 2017
Units are now in MATLAB if you have Symbolic Math Toolbox. Try:
>> u = symunit;
>> x = 2*u.meter
x =
2*[m]
>> x = rewrite(x,u.ft)
x =
(2500/381)*[ft]
>> double(separateUnits(x))
ans =
6.5617
  1 comentario
Walter Roberson
Walter Roberson el 8 de Abr. de 2017
Note: the implementation of units has difficulty with quantity 0, which tends to make the most difference with temperature (e.g., 0C and 0F)

Iniciar sesión para comentar.

Más respuestas (2)

the cyclist
the cyclist el 27 de Dic. de 2015
In general, MATLAB variables do not have units, and what you have written is not a valid MATLAB syntax (to my knowledge).
There is a contribution to the File Exchange that allows for assigning unit to variables: http://www.mathworks.com/matlabcentral/fileexchange/29621-units-conversion-toolbox/content/UnitConversion-rev2/html/defining.html.
  1 comentario
Karan Gill
Karan Gill el 7 de Abr. de 2017
Editada: Karan Gill el 7 de Abr. de 2017
Units are now in MATLAB if you have Symbolic Math Toolbox. See the tutorial: https://www.mathworks.com/help/symbolic/units-of-measurement-tutorial.html
Posted a separate answer below so that OP can accept.

Iniciar sesión para comentar.


Steven Lord
Steven Lord el 27 de Dic. de 2015
That syntax is specifically for use in the MuPAD Notebook Interface (as stated by the note at the top of this documentation page) not in MATLAB.
  3 comentarios
Walter Roberson
Walter Roberson el 29 de Dic. de 2015
Walter Roberson
Walter Roberson el 13 de Oct. de 2020
30 * sym('unit::mm')
is no longer supported. These days you should use symunit . Or if you are despairate,
30 * feval(symengine, 'unit::mm')

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by