hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 790|回复: 2

mathematica子函数共享

[复制链接]

481

主题

481

帖子

1465

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1465
发表于 2023-11-2 13:43:36 | 显示全部楼层 |阅读模式
  1. Clear["Global`*"];(*清除所有变量*)deg=Pi/180;(*角度制下1°所对应的弧度*)(*子函数,利用三边计算角的余弦值,角是c边所对的角*)cs[a_,b_,c_]:=((a^2+b^2-c^2)/(2*a*b))(*子函数,四面体体积公式,a,b,c分别是从一个顶点出发的三条棱,x,y,z分别是对棱*)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](*子函数,海伦公式,利用海伦公式计算三角形的面积*)heron[a_,b_,c_]:=Module[{p=(a+b+c)/2},Sqrt[p*(p-a)*(p-b)*(p-c)]](*子函数,已知△ABC的a b c三边长度,求c这条边上的中线长度*)zx[a_,b_,c_]:=Sqrt[(a^2+b^2-c^2/2)/2](*子函数,计算角平分线长度,求的是角C的平分线(也是c边上的角平分线)*)ca[a_,b_,c_]:=Module[{p=(a+b+c)/2},2/(a+b)*Sqrt[a*b*p*(p-c)]](*miller rabin子函数*)MR[n0_,a0_]:=Module[{n=n0,a=a0,s,m,t1,k},    s=0;m=n-1;While[Mod[m,2]==0,m=m/2;s=s+1];    t1=PowerMod[a,m,n];    If[t1==1,Return[True]];    k=0;While[k<s-1&&t1!=n-1,k=k+1;t1=Mod[t1^2,n]];    If[t1==n-1,Return[True],Return[False]]]Do[If[Not@MR[nn,k],Print[{k}]],{k,1,307}]
复制代码

有可能会经常用到的,就写成子函数,共享一下,也是备份一下
回复

使用道具 举报

0

主题

212

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-11-2 13:44:34 | 显示全部楼层
  1. (*子函数,四面体体积公式,a,b,c分别是从一个顶点出发的三条棱,x,y,z分别是对棱*)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。来一个?
回复

使用道具 举报

1

主题

188

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2023-11-2 13:44:50 | 显示全部楼层
  1. (*子函数,给定两个点,计算通过这两个点的直线的斜率.输入两点:{a,b},{c,d},返回:(d-b)/(c-a)*)kk[pt1_,pt2_]:=Module[{dpt},dpt=pt2-pt1;dpt[[2]]/dpt[[1]]]
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-24 08:44 , Processed in 0.055101 second(s), 21 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

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