首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变换方程WxMaxima Ezunit

变换方程WxMaxima Ezunit
EN

Stack Overflow用户
提问于 2021-02-09 18:12:25
回答 1查看 41关注 0票数 1

我再一次遇到了转换方程的问题...设置函数b(a)和c(b)是可行的。将它们相互插入也可以从温度到当前的c(b(a))。但现在我想把它翻转到a(c)。结果应该是这样的a(c):= (c-(4`mA))*(25`degC)/(4`mA);,但它甚至不能与''-trick一起工作。

代码语言:javascript
复制
(%i1)   load(ezunits);
(%o1)   "C:/maxima-5.44.0/share/maxima/5.44.0/share/ezunits/ezunits.mac"
(%i7)   a0: 0`degC;
    am: 100`degC;
    b0: 0`mV;
    bm: 4`mV;
    c0: 4`mA;
    cm: 20`mA;
(a0)    0 ` degC

(am)    100 ` degC

(b0)    0 ` mV

(bm)    4 ` mV

(c0)    4 ` mA

(cm)    20 ` mA
(%i8)   b(a):= (bm-b0)/(am-a0)*(a-a0)+b0;
(%o8)   b(a):=(bm-b0)/(am-a0)*(a-a0)+b0
(%i9)   c(b):= (cm-c0)/(bm-b0)*(b-b0)+c0;
(%o9)   c(b):=(cm-c0)/(bm-b0)*(b-b0)+c0
(%i10)  c(b(50`degC));
(%o10)  12 ` mA
(%i11)  a(c):= dimensionally(solve(c(b(T)), T));
(%o11)  a(c):=dimensionally(solve(c(b(T)),T))
(%i12)  a(12`mA);
(%o12)  [T=(-25) ` degC]
(%i13)  a(c):= ''(dimensionally(solve(c(b(T)), T)));
(%o13)  a(c):=[T=(-25) ` degC]
(%i14)  a(12`mA);
(%o14)  [T=(-25) ` degC]
(%i15)  oi: T, dimensionally(solve(c(b(T)), T));;
(oi)    (-25) ` degC
(%i16)  a(c):= (c-(4`mA))*(25`degC)/(4`mA);
(%o16)  a(c):=((c-4 ` mA)*(25 ` degC))/4 ` mA
(%i17)  a(12`mA);
(%o17)  50 ` degC
 -->    
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-10 01:20:13

看起来您在solve(c(b(T)), T)中省略了c的特定值--我的意思是您需要类似solve(c(b(T)) = c1, T)的值,其中c1是输入值,比如12 ` mA

这个定义似乎是可行的--

代码语言:javascript
复制
a(c1):= dimensionally(solve(c(b(T)) = c1, T));

然后我就得到了

代码语言:javascript
复制
(%i22) a(12`mA);
(%o22)                  [T = 50 ` degC]

当您省略... = c1时,您将有效地解决... = 0问题,这就是为什么您将获得T = (- 25) ` degC

另一个变体a(c1) := ''(...)也应该可以工作,尽管我没有尝试它。

你可以写a(c) := dimensionally(solve(c(b(T)) = c, T)),也就是对变量c和函数c使用相同的名称,但很容易混淆,我也希望在不久的将来(随着符号的词法范围的实现)这种行为的改变将使其不再起作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66116890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档