ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

separateUnits

式から単位を分離する

説明

[Data,Units] = separateUnits(expr) は、Units のシンボリック式 expr および Data の残り expr の単位を返します。

Data = separateUnits(expr) は、expr からシンボリック単位を削除し、残りを返します。

単位と式を分離する

separateUnits の 2 つの出力引数を用意して、式 10*t*u.m/u.s から単位を分離します。ここで u = symunit です。

u = symunit;
syms t
speed = 10*t*u.m/u.s;
[Data,Units] = separateUnits(speed)
Data =
10*t
Units =
1*([m]/[s])

1 つの出力引数が提供される場合は、単位が削除された式のみが返されます。

Data = separateUnits(speed)
Data =
10*t

非互換の単位を分離する

式に非互換の単位があると、separateUnits でエラーが発生します。単位が長さや時間といった同じ次元を持たない場合、その単位は非互換です。

2*u.m + 3*u.s から単位を分離します。ここで、u = symunit です。関数 separateUnits はエラーをスローします。代わりに、入力内の単位を一覧表示するには、findUnits を使用します。

u = symunit;
[Data,Units] = separateUnits(2*u.m + 3*u.s)
Error using separateUnits (line 51)
Input has incompatible units.

整合性のない単位を分離する

同じ単位に変換できる入力の単位に整合性がない場合、separateUnits で変換し、分離された結果を返すことができます。換算係数 1 で互換ではないとき、単位が不整合であるといいます。

2*u.m + 30*u.cm から単位を分離します。単位が異なったとしても、separateUnits で同じ単位に変換し、分離された結果を返します。

u = symunit;
[Data,Units] = separateUnits(2*u.m + 30*u.cm)
Data =
230
Units =
[cm]

入力引数

すべて折りたたむ

入力。数値、ベクトル、行列または多次元配列、あるいはシンボリックな数値、変数、ベクトル、行列、多次元配列、関数または式が返されます。

出力引数

すべて折りたたむ

単位を除去した後の式。数値、ベクトル、行列または多次元配列、あるいはシンボリック数、変数、ベクトル、行列、方程式、多次元配列、関数または式が返されます。

入力からの単位。シンボリック単位として指定します。

R2017a で導入