0
点赞
收藏
分享

微信扫一扫

Maple 学习笔记

Maple 学习笔记_git

如果你会Mathematica,重新学一套API是很快的
Maple的社区成熟程度和官方账号粉丝数量,都不能打(
说明Maple这东西是真的小众

目录

  • ​​环境​​
  • ​​参考​​
  • ​基础知识​
  • ​​必会语法​​
  • ​​maple 有哪些数学相关的包​​
  • ​​maple 表观数据类型的一个总结​​
  • ​练习​
  • ​​绘图​​
  • ​​语法练习-杂项​​
  • ​​定义函数,调用函数​​
  • ​​函数式编程​​
  • ​​信号处理​​
  • ​​线性代数​​

环境

Maple2022


基础知识

必会语法

% 上一次计算结果
%% 上上次计算结果
: 结尾,计算结果不显示
; 结尾,说明这是一条语句。不然默认认为你是乘法

a:=1 应该这么给变量赋值

maple 有哪些数学相关的包

General Information
Algebra
Calculus
Differential Equations
Differential-algebraic Equations
Discrete Mathematics
Evaluation
Factorization and Solving Equations
Finance Fractals
Geometry
Iterative Maps
Linear Algebra
Mathematical Functions
Number Theory
Numerical Computations
Optimization
Packages
Special Functions
Vector Calculus
Basic Mathematics
Calculus of Variations
Conversions
DifferentialGeometry
Logic
Power Series
FunctionAdvisor
Group Theory
Inert Functions
Numbers

maple 表观数据类型的一个总结

Maple 学习笔记_调用函数_02

练习

绘图

c1 := [cos(x) - 2*cos(0.4*y), sin(x) - 2*sin(0.4*y), y];
c2 := [cos(x) + 2*cos(0.4*y), sin(x) + 2*sin(0.4*y), y];
c3 := [cos(x) + 2*sin(0.4*y), sin(x) - 2*cos(0.4*y), y];
c4 := [cos(x) - 2*sin(0.4*y), sin(x) + 2*cos(0.4*y), y];
plot3d({c1, c2, c3, c4}, x = 0 .. 2*Pi, y = 0 .. 10, grid = [25, 15], color = sin(x));

语法练习-杂项

# 包名[函数名]
Optimization[Minimize](x^2 - 3*x - 1)
int(1/x, x = 2 .. 5)

dsolve(3*(D@@4)(x)(t) + 2*(D@@2)(x)(t) + 4*D(x)(t) + x(t) = 0); #dsolve为什么只能解ode???
evalc(1/(3 + a - b*I)) # evalc把里面的变量都当成实数
simplify(sin(x)^3 - 11*sin(x)^2*cos(x) + 3*cos(x)^3 - sin(x)*cos(x) + 2, {sin(x)^2 + cos(x)^2 = 1, cos(x) = 0.5})


{solve([sin(x)*cos(x) = 0, 0 < x, x < 10], x, allsolutions)}; #解方程

定义函数,调用函数

# 定义函数,调用函数
u≔(x::integer,y::integer)↦x+y−igcd(x,y);
u(23,4)

# 写一个递归
F := proc(n) F(n) := F(n-1)+F(n-2) end;
F(0) := 0;
F(1) := 1;

F(3)

# 写一个函数
SqrtNewton:=proc(a::integer) local xk, xkm1;
if a < 0 then ERROR(‘square root of a negative integer‘) fi;
Digits := 55; # add some guard digits
xkm1 := 0;
xk := evalf(a/2); # initial floating point approximation
while abs(xk-xkm1) > abs(xk)*10^(-50) do
xkm1 := xk;
print(xk);
xk := (xk + a/xk)/2;
od;
Digits := 50;
evalf(xk); # round the result to 50 Digits
end;



SqrtNewton(2);

函数式编程

sin~([1, 2, 3]);

信号处理

# 计算DFT
SignalProcessing[DFT](Array([1, 2, 3, 4]));

# 计算CTFT
inttrans[fourier](sin(t), t, Omega);


# 计算离散化的Hilbert变换
SignalProcessing[Hilbert](Array([1, 2, 3, 4]));
# 算法见帮助文档
SignalProcessing[InverseDFT](SignalProcessing[DFT](Array([1, 2, 3, 4]))*Array([1, 2, 1, 0])); #验证结果

线性代数

# Det函数必须和模法一起用
# 使用Determinant函数计算行列式
LinearAlgebra[Determinant](Matrix([[2, 3, 1], [3, 2, 3], [0, 3, 2]]));
LinearAlgebra[Determinant](LinearAlgebra[HilbertMatrix](4));



举报

相关推荐

0 条评论