找回密码
 欢迎注册
查看: 1097|回复: 9

[原创] mathematica子函数共享

[复制链接]
发表于 2023-8-17 09:12:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
  1. Clear["Global`*"];(*清除所有变量*)
  2. deg=Pi/180;(*角度制下1°所对应的弧度*)
  3. (*子函数,利用三边计算角的余弦值,角是c边所对的角*)
  4. cs[a_,b_,c_]:=((a^2+b^2-c^2)/(2*a*b))
  5. (*子函数,四面体体积公式,a,b,c分别是从一个顶点出发的三条棱,x,y,z分别是对棱*)
  6. fun[a_,b_,c_,x_,y_,z_]:=Sqrt[Det[{{0,1,1,1,1},{1,0,a^2,b^2,c^2},{1,a^2,0,z^2,y^2},{1,b^2,z^2,0,x^2},{1,c^2,y^2,x^2,0}}]/288]
  7. (*子函数,海伦公式,利用海伦公式计算三角形的面积*)
  8. heron[a_,b_,c_]:=Module[{p=(a+b+c)/2},Sqrt[p*(p-a)*(p-b)*(p-c)]]
  9. (*子函数,已知△ABC的a b c三边长度,求c这条边上的中线长度*)
  10. zx[a_,b_,c_]:=Sqrt[(a^2+b^2-c^2/2)/2]
  11. (*子函数,计算角平分线长度,求的是角C的平分线(也是c边上的角平分线)*)
  12. ca[a_,b_,c_]:=Module[{p=(a+b+c)/2},2/(a+b)*Sqrt[a*b*p*(p-c)]]
  13. (*miller rabin子函数*)
  14. MR[n0_,a0_]:=Module[{n=n0,a=a0,s,m,t1,k},
  15.     s=0;m=n-1;While[Mod[m,2]==0,m=m/2;s=s+1];
  16.     t1=PowerMod[a,m,n];
  17.     If[t1==1,Return[True]];
  18.     k=0;While[k<s-1&&t1!=n-1,k=k+1;t1=Mod[t1^2,n]];
  19.     If[t1==n-1,Return[True],Return[False]]
  20. ]
  21. Do[If[Not@MR[nn,k],Print[{k}]],{k,1,307}]

复制代码


有可能会经常用到的,就写成子函数,共享一下,也是备份一下
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-28 09:16:37 | 显示全部楼层
  1. (*子函数,四面体体积公式,a,b,c分别是从一个顶点出发的三条棱,x,y,z分别是对棱*)
  2. fun[a_,b_,c_,x_,y_,z_]:=Sqrt[Det[{{0,1,1,1,1},{1,0,a^2,b^2,c^2},{1,a^2,0,z^2,y^2},{1,b^2,z^2,0,x^2},{1,c^2,y^2,x^2,0}}]/288]
复制代码

1,{a,b,c,x,y,z}={8,19,14,4,4,9},   四面体体积=?
2,四面体的6条边都是正整数,体积=33。来一个?

点评

nyy
fun@@{8,19,14,4,4,9},这样就可以得到体积  发表于 2024-3-15 14:07
nyy
https://bbs.emath.ac.cn/forum.php?mod=redirect&goto=findpost&ptid=18821&pid=95113 这儿的给你参考参考  发表于 2023-8-29 14:43
nyy
你在这边点评你自己,我到现在才看到,四个面都是三角形,然后体积还大于零,应该就能够成四面体  发表于 2023-8-29 14:39
体积=27,小心翼翼的问:这6个数不能组成四面体,要如何甄别?  发表于 2023-8-28 09:51
nyy
体积=27  发表于 2023-8-28 09:46
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2023-8-28 09:40:39 | 显示全部楼层
  1. (*子函数,给定两个点,计算通过这两个点的直线的斜率.输入两点:{a,b},{c,d},返回:(d-b)/(c-a)*)
  2. kk[pt1_,pt2_]:=Module[{dpt},dpt=pt2-pt1;dpt[[2]]/dpt[[1]]]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2024-3-13 09:58:59 | 显示全部楼层
  1. (*子函数,圆内接四边形面积公式(婆罗摩笈多公式)*)
  2. plmjd[a_,b_,c_,d_]:=Module[{p=(a+b+c+d)/2},Sqrt[(p-a)*(p-b)*(p-c)*(p-d)]]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-3 22:02 , Processed in 0.047013 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表