wxMaxima ezunits 有趣的业务
wxMaxima ezunits funny business
单位的处理是否损坏或我缺少什么?
load(ezunits);
σ_N: 10000`N/(50`mm*10`mm);
newts: 123`kg*m/s^3; newts `` N; newts + 321 `kg*m/s^2;
产生的不是人们所希望的:
(%i1) load(ezunits);
(%o1) "C:/maxima-5.43.2/share/maxima/5.43.2/share/ezunits/ezunits.mac"
(%i2) σ_N: 10000`N/(50`mm*10`mm);
(σ_N) 10000 ` (N/500 ` 1/mm^2)
(%i5) newts: 123`kg*m/s^3; newts `` N; newts + 321 `kg*m/s^2;
(newts) 123 ` (kg*m)/s^3
(%o4) 123/s ` N
(%o5) 321 ` (kg*m)/s^2+123 ` (kg*m)/s^3
应该是:
σ_N= 20 N/mm^2
newts= 123 N/s
对于第一部分,您必须使用括号来指示您想要的分组。当你写 a ` b/c
时,它被解释为 a ` (b/c)
,但在这种情况下你想要 (a ` b)/c
。 (分组之所以如此,是因为假设 x ` m/s
之类的东西比 (x ` m)/s
更常见。)
(%i2) σ_N: (10000`N)/(50`mm*10`mm);
N
(%o2) 20 ` ---
2
mm
为了好玩,让我们检查一下这个数量的尺寸。我猜应该是force/area.
(%i3) dimensions (%);
mass
(%o3) ------------
2
length time
(%i4) dimensions (N);
length mass
(%o4) -----------
2
time
(%i5) dimensions (mm);
(%o5) length
我觉得很合适。
对于第二部分,我不明白你在做什么。变量 newts
的单位等于 N/s
,所以我不明白你为什么要将它转换为 N
,我也不明白你为什么要这样做将 N/s
添加到 N
。不管怎样,这就是我能做的。
(%i6) newts: 123`kg*m/s^3;
kg m
(%o6) 123 ` ----
3
s
(%i7) newts `` N/s;
N
(%o7) 123 ` -
s
不同维度的数量相加时,ezunits
就这样吧;它不会产生错误或任何东西。
(%i8) newts + 321 ` kg*m/s^2;
kg m kg m
(%o8) 321 ` ---- + 123 ` ----
2 3
s s
这样做的动机是它允许像 3`sheep + 2`horse
或 x`hour + y`dollar
这样的东西——转换率可以在事后确定。总的来说,允许在事实发生后重新解释表达式是我认为的数学态度。
单位的处理是否损坏或我缺少什么?
load(ezunits);
σ_N: 10000`N/(50`mm*10`mm);
newts: 123`kg*m/s^3; newts `` N; newts + 321 `kg*m/s^2;
产生的不是人们所希望的:
(%i1) load(ezunits);
(%o1) "C:/maxima-5.43.2/share/maxima/5.43.2/share/ezunits/ezunits.mac"
(%i2) σ_N: 10000`N/(50`mm*10`mm);
(σ_N) 10000 ` (N/500 ` 1/mm^2)
(%i5) newts: 123`kg*m/s^3; newts `` N; newts + 321 `kg*m/s^2;
(newts) 123 ` (kg*m)/s^3
(%o4) 123/s ` N
(%o5) 321 ` (kg*m)/s^2+123 ` (kg*m)/s^3
应该是:
σ_N= 20 N/mm^2
newts= 123 N/s
对于第一部分,您必须使用括号来指示您想要的分组。当你写 a ` b/c
时,它被解释为 a ` (b/c)
,但在这种情况下你想要 (a ` b)/c
。 (分组之所以如此,是因为假设 x ` m/s
之类的东西比 (x ` m)/s
更常见。)
(%i2) σ_N: (10000`N)/(50`mm*10`mm);
N
(%o2) 20 ` ---
2
mm
为了好玩,让我们检查一下这个数量的尺寸。我猜应该是force/area.
(%i3) dimensions (%);
mass
(%o3) ------------
2
length time
(%i4) dimensions (N);
length mass
(%o4) -----------
2
time
(%i5) dimensions (mm);
(%o5) length
我觉得很合适。
对于第二部分,我不明白你在做什么。变量 newts
的单位等于 N/s
,所以我不明白你为什么要将它转换为 N
,我也不明白你为什么要这样做将 N/s
添加到 N
。不管怎样,这就是我能做的。
(%i6) newts: 123`kg*m/s^3;
kg m
(%o6) 123 ` ----
3
s
(%i7) newts `` N/s;
N
(%o7) 123 ` -
s
不同维度的数量相加时,ezunits
就这样吧;它不会产生错误或任何东西。
(%i8) newts + 321 ` kg*m/s^2;
kg m kg m
(%o8) 321 ` ---- + 123 ` ----
2 3
s s
这样做的动机是它允许像 3`sheep + 2`horse
或 x`hour + y`dollar
这样的东西——转换率可以在事后确定。总的来说,允许在事实发生后重新解释表达式是我认为的数学态度。