nyy 发表于 2024-3-12 13:22:08

本帖最后由 nyy 于 2024-3-12 13:28 编辑

nyy 发表于 2024-3-12 12:47
继续优化上面的代码!




根据上面的求解结果,画出六种结果(不知道是否还有别的结果)


nyy 发表于 2024-3-12 13:51:52

nyy 发表于 2024-3-12 13:22
根据上面的求解结果,画出六种结果(不知道是否还有别的结果)

进一步优化代码!
Clear["Global`*"];(*Clear all variables*)
(*子函数,四面体体积公式,a,b,c分别是从一个顶点出发的三条棱,x,y,z分别是对棱*)
fun:=Sqrt/288]
(*子函数,给定一个四面体六条棱的数组,让四面体体积等于零,计算出x的值,并且只计算正实数根,返回求解结果*)
sol:=Module[{},Flatten@FullSimplify@Solve]
(*假设四面体的最小的棱的长度=1,由于相似,总可以做到*)
aaa=Tuples[{1,x},6];(*形成所有的可能*)
bbb=Select=!={}&];(*选择当中有意义的*)
ccc={#,sol[#],Total[#/.sol[#]]}&/@bbb;(*对有意义的,每一个求解出结果,并且算出六条棱的长度和*)
(*根据第二个元素从小到大排列,如果第二个相同,则排列第三列(第三列六条棱的长度和)*)
ddd=Sort])<(x/.#2[])),And[((x/.#1[])==(x/.#2[])),#1[]<#2[]]]&];
eee=Grid(*列表显示*)
N(*数值化*)


求解结果
页: 1 2 [3]
查看完整版本: 广场上四只狗两种距离