how to set a unit to variable?

34 ビュー (過去 30 日間)
fred bnm
fred bnm 2015 年 12 月 27 日
コメント済み: Walter Roberson 2020 年 10 月 13 日
I encounter the error after run this :
30*unit::mm
  2 件のコメント
Devarshi Patel
Devarshi Patel 2020 年 4 月 19 日
Check below link if you have version greater than or equal to R2017A
Walter Roberson
Walter Roberson 2020 年 4 月 20 日
Discussion of character strings is not very relevant to the question of whether MATLAB can handle units.

サインインしてコメントする。

採用された回答

Karan Gill
Karan Gill 2017 年 4 月 7 日
編集済み: Karan Gill 2017 年 10 月 17 日
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 件のコメント
Walter Roberson
Walter Roberson 2017 年 4 月 8 日
Note: the implementation of units has difficulty with quantity 0, which tends to make the most difference with temperature (e.g., 0C and 0F)

サインインしてコメントする。

その他の回答 (2 件)

the cyclist
the cyclist 2015 年 12 月 27 日
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 件のコメント
Karan Gill
Karan Gill 2017 年 4 月 7 日
編集済み: Karan Gill 2017 年 4 月 7 日
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.

サインインしてコメントする。


Steven Lord
Steven Lord 2015 年 12 月 27 日
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 件のコメント
Walter Roberson
Walter Roberson 2015 年 12 月 29 日
Walter Roberson
Walter Roberson 2020 年 10 月 13 日
30 * sym('unit::mm')
is no longer supported. These days you should use symunit . Or if you are despairate,
30 * feval(symengine, 'unit::mm')

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeFunctional Programming についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by