主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

測定単位のチュ,トリアル

測定単位を符号数学工具箱™で使用します。このページでは単位の定義,方程式(微分方程式を含む)の中での単位の使用,および式の次元の検証方法について示します。

単位の定義と変換

symunitを使用して単位を読み込みます。

U =符号单位;

u。单位を使用して単位を指定します。たとえば,5メ,トルの距離,50キログラムの重さ,時速10キロメ,トルの速度を指定します。表示された出力では,単位は大かっこ[]内に記されます。

D = 5*u。M w = 50*u。Kg s = 10*u.km/u.h
D = 5*[m] w = 50*[kg] s = 10*([km]/[h])

ヒント

単位の名前を探すにはタブの拡張を使用してください。u。と入力し,选项卡キ,を押して,入力を続けてください。

単位は他のシンボリック式と同じように動作し,あらゆる標準的な演算や関数で使用できます。単位は自動では単純化されず,これにより柔軟性が生まれます。単位の一般的な別名がサポ,トされています。複数形はサポ,トされていません。

500メ,トルと2キロメ,トルを加えます。結果の距離は,自動では単純化されません。

D = 500*u。M + 2*u.km
D = 2*[km] + 500*[m]

简化を使用してdを単純化します。関数简化は,単純化の目標単位を自動的に選択します。

D =简化(D)
D = (5/2)*[km]

単位を自動的に選択する代わりに,unitConvertを使用してdを特定の単位に変換します。dをメ,トルに変換します。

d = unitConvert(d,u.m)
D = 2500*[m]

さらに多くの単位変換オプションと単位系オプションがあります。単位変換と単位系を参照してください。

距離d50秒以内で横断できる速度を求めます。結果は正しい単位をもます。

T = 50*美国;S = d/t
S = 50*([m]/[S])

温度単位を絶対形式と差分形式とで使用する

既定では,温度は絶対測定ではなく差分で表されることを仮定しています。たとえば,5 * u。摄氏は摂氏5度の差分温度を表すことを仮定しています。この仮定により温度の値の算術演算が可能になります。

絶対温度を表すにはケルビンを使用し,これにより絶対温度と温度の差分を区別する必要がなくなります。

摂氏23度をケルビンに変換して,最初は温度の差分として扱っていた温度を絶対温度として扱います。

U =符号单位;T = 23*u.摄氏度;diffK = unitConvert(T, uk)
diffK = 23*[K]
absK = unitConvert(T, uk,'温度','绝对值')
absK = (5923/20)*[K]

次元を検証する

長い式では,単位を視覚的に確認するのは困難です。式の次元は,方程式の次元を検証することで自動的に確認できます。

はじめに運動方程式 v 2 v 0 2 + 2 一个 年代 を定義します。ここで,vは速度を,一个は加速度を,年代は距離を表します。年代がキロメ,トルで,他のすべての単位はsi基本単位であると仮定します。次元の確認を実際に行うために,一个の単位を意図的に間違えています。

Syms v v0 a s u = symunit;eqn = (v * u.m /美国)^ 2 = = (v0 * u.m /美国)^ 2 + 2 * * u.m /美国* * u.km
eqn = v ^ 2 * ([m] ^ 2 / [s] ^ 2) = = v0 ^ 2 * ([m] ^ 2 / [s] ^ 2) +(2 * *年代)*(((公里)* [m]) / [s])

eqnに出現する単位をfindUnitsで観察します。返された単位から,キロメ,トルとメ,トルの両方が距離を表現するのに使われていることがわかります。

findUnits (eqn)
Ans = [km], [m], [s]]

単位が同じ次元(長さや時間のような)をもっているかを,checkUnits“兼容”入力を与えて確認します。MATLAB®はシンボリック変数は無次元であると仮定しています。checkUnitsは論理的な0)を返します。まり,これらの単位には互換性がなく,等しい物理次元をもたないことを意味します。

checkUnits (eqn“兼容”)
Ans =逻辑0

eqnを見ると,加速度一个の単位が誤っています。単位を修正して互換性を再確認します。eqnは今度は互換性のある単位をもます。

eqn = (v * u.m /美国)^ 2 = = (v0 * u.m /美国)^ 2 + 2 * * u.m /美国^ 2 * * u.km;checkUnits (eqn“兼容”)
Ans =逻辑1

今度は,各次元が同じ単位で矛盾なく表現されているかを確認するために,checkUnits“一致”入力を与えます。eqnでは距離を表現するのにメ,トルとキロメ,トルの両方が用いられているため,checkUnitsは逻辑0)を返します。

checkUnits (eqn“一致”)
Ans =逻辑0

eqnをsi基本単位に変換して単位を整合させます。checkUnitsを再実行します。eqnは互換性と整合性のある単位をもます。

eqn = unitConvert(eqn,'SI')
eqn = v ^ 2 * ([m] ^ 2 / [s] ^ 2) = = v0 ^ 2 * ([m] ^ 2 / [s] ^ 2) + (2000 * * s) * ([m] ^ 2 / [s] ^ 2)
checkUnits (eqn)
ans = struct with fields: Consistent: 1 Compatible: 1

単位に関連する作業が終了し,無次元の方程式または式だけが必要になったら,separateUnitsを用いて単位と方程式を分離します。

[eqn,units] = separateUnits(eqn)
eqn = v ^ 2 = = v0 ^ 2 + 2000 * *年代单位= 1 * ([m] ^ 2 / [s] ^ 2)

eqn单位を掛けて結果を展開することで,元の単位付きの方程式を返すことができます。

扩大(eqn *单位)
ans = v ^ 2 * ([m] ^ 2 / [s] ^ 2) = = v0 ^ 2 * ([m] ^ 2 / [s] ^ 2) + (2000 * * s) * ([m] ^ 2 / [s] ^ 2)

式から数値を計算するには,潜艇でシンボリック変数に代入し,またはvpaで数値に変換します。

eqnvにいて解きます。次にvの値を求めます。ここでV0 = 5A = 2.5S = 10です。結果を双型に変換します。

V = solve(eqn, V);V = V (2);%选择正解vSol = subs(v,[v0 a s],[5 2.5 10]);vSol = double(vSol)
vSol = 223.6627

微分方程式で単位を使用

標準的な式と同じように微分方程式で単位を使用します。このセクションでは,微分方程式での単位の使い方を,加速度の定義 v 2 v 0 2 + 2 一个 年代 から始まり,速度関係V = V0+在および 一个 d v d t を導出することで示します。

加速度の定義をsi単位を用いてシンボリックに表現します。速度Vに単位があるとすれば,Vは,単にtではなく正しい単位であるT =美国にいて微分されなければなりません。

syms V(t) a u =符号单位;T = T *美国;%时间(秒)A = A *u.m/ us ^2;%加速度(米/秒)eqn1 = A == diff(V,T)
eqn1(t) = a*([m]/[s]²)== diff(V(t), t)*(1/[s]))

速度Vは不明で単位もないので,eqn1の単位には互換性も整合性もありません。

checkUnits (eqn1)
ans = struct with fields: Consistent: 0 Compatible: 0

初速度が0という条件で,eqn1Vにいて解きます。結果は方程式V (t) = V0+在です。

syms v0 cond = V(0) == v0*u.m/ us;eqn2 = V = dsolve(eqn1,cond)
eqn2(t) = V(t) == v0*([m]/[s]) + a*t*([m]/[s]))

結果の次元が正しいことを,园艺学会(eqn2)eqn1に代入し,checkUnitsを使用して確認します。

checkUnits(潜艇(eqn1 V, rhs (eqn2)))
ans = struct with fields: Consistent: 1 Compatible: 1

今度は, v 2 v 0 2 + 2 一个 年代 を導出します。速度は距離の変化率なので、Vに距離の微分年代を代入します。この場合も,速度年代に単位があるとすれば,年代は,単にtではなく正しい単位であるT =美国にいて微分されなければなりません。

syms S(t) eqn2 = subs(eqn2,V,diff(S, t))
eqn2 (t) = diff (S (t), t) * (1 / [S]) = = v0 * ([m] / [S]) + * t * ([m] / [S])

初期地点が0という条件で,eqn2を解きます。扩大を使用して年代を所定の形式で取得します。

cond2 = S(0) == 0;eqn3 = S = dsolve(eqn2,cond2);Eqn3 =扩展(Eqn3)
eqn3(t) = S(t) = t*v0*[m] + ((a*t^2)/2)*[m]

この単位付きの方程式はシンボリックなワ,クフロ,で使用できます。あるいは,园艺学会を用いて右辺を返し,separateUnitsを用いて単位を分離し,その結果得られる単位のない式を使うことで,単位を取り除くこともできます。

[S units] = separateUnits(rhs(eqn3))
S(t) = (a*t²)/2 + v0*t单位(t) = [m]

式から数値を計算する必要があるときは,潜艇でシンボリック変数に代入し,またはvpaで数値に変換します。

8秒間での移動距離を求めます。ここで,V0 = 20A = 1.3です。結果を双型に変換します。

S = subs(S,[v0 a],[20 1.3]);dist = S(8);Dist = double(Dist)
Dist = 201.6000

参考

|||||||

関連するトピック

外部のWebサ电子邮箱ト