gpt4 book ai didi

algorithm - 如何存储方程式/常数的冲击以求解任何元素方程式或数值

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:38 25 4
gpt4 key购买 nike

可以说,问题相当简单 - 一些理论物理预科生会解决的问题。学生完成任务中最困难的部分 - 功能性阅读:解析语言自由形式的文本,以获得输入和输出变量以及输入变量值。

例如:关于运动学方程的问题,其中有变量 {a,d,t,va,vf} 和一些描述它们如何相互依赖的函数。因此,使用在合适的地方玩合适的积木获得的技能,你可以玩方程式来获得你正在寻找的输出变量。

在任何情况下,恰好有 2 个可能的输出是您可能想要的,而您的是(有工作示例):

1) 该变量的方程式

Physics[have_, find_] := Solve[Flatten[{
d == vf * t - (a * t^2) /2, (* etc. *)
have }], find]
Physics[True, {d}]
{{d -> (1/2)*(2*t*vf - a*t^2)}}

2) 该变量的精确或一般数值

Physics[have_, find_] := Solve[Flatten[{
d == vf * t - (a * t^2) /2, (* etc. *)
have }], find]
Physics[{t == 9.7, vf == -104.98, a == -9.8}, {d}]
{{d->-557.265}}

我不确定我是否正确地解决了这个问题。

最佳答案

我想我可能更喜欢这样的方法

In[1]:= Physics[find_, have_:{}] := Solve[
{d == vf*t - (a*t^2)/2 (* , etc *)} /. have, find]

In[2]:= Physics[d]
Out[2]= {{d -> 1/2 (-a t^2 + 2 t vf)}}

In[2]:= Physics[d, {t -> 9.7, vf -> -104.98, a -> -9.8}]
Out[2]= {{d -> -557.265}}

其中 have 变量作为替换规则列表给出。

顺便说一句,在这些类型的物理问题中,一件好事是定义你的物理常数,比如

N[g] = -9.8;

它为 g 生成一个 NValues。然后

N[tf] = 9.7;N[vf] = -104.98;
Physics[d, {t -> tf, vf -> vf, a -> g}]
%//N

产生

{{d->1/2 (-g tf^2+2 tf vf)}}
{{d->-557.265}}

关于algorithm - 如何存储方程式/常数的冲击以求解任何元素方程式或数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5213650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com