Mathematica使用笔记

本文介绍了Mathematica中的关键编程技术,包括数组操作、表达式替换、变量清除、匿名函数、简化表达式、求导、积分、解方程和方程组以及将表达式转换为C语言格式和提取多项式系数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 数组定义及访问
A = {1,2,3}
B = {{1,2,3},{4,5,6},{7,8,9}}

// 访问A(2)
A[[2]]

// 访问B(3,1)
B[[3, 1]]
2. 表达式替换

/.等同于ReplaceAll

// 数组的替换
	// 方法1
	{x, x^2, y, z} /. x -> a
	
	//方法2
	ReplaceAll[x -> a][{x, x^2, y, z}]

// 表达式的替换
f = x + x^2 - y
	// 方法1
	f /. x -> a
	
	//方法2
	ReplaceAll[x -> a][f]
3. 清除变量
// 清除A变量的赋值
Clear[A]

// 清除所有
Clear["`*"]

// 清除f
f = x + x^2 - y
f=.
4. 匿名函数(纯函数)
#1 + #2 & [x1,x2]

(# + 1) &[1]

(# + 1) &/@{1,2,3}

{#2 - #1, #3 - #1} &[a, b, c]

后面加的&,一般与#匹配。#类似于表达式中的参数(占位符),#1即代表第一个参数,#2即代表第二个参数,&是对其作为一个匿名函数的声明。

5. 化简

SimplifyFullSimplify都可用于化简表达式,Simplify尝试各种代数、三角变换来化简表达式,但不能进行涉及特殊函数等更复杂的变换,FullSimplify尝试更广泛的变换

Simplify[(1 - x)/(1 - x^2)]
FullSimplify[(1 - x)/(1 - x^2)]

Simplify[Gamma[1 + n]/n]
FullSimplify[Gamma[1 + n]/n]

// 指定参数范围,∈在MMA中先按ESC,然后输入elem即可打出
Simplify[(1 - x)/(1 - x^2) + y, {x∈Reals,y∈Reals}] 

Simplify[Sqrt[x^2], x > 0]
Simplify[Sqrt[x^2], x ∈ Reals] 
Simplify[Sqrt[x^2], Element[x, Reals]] // 与上式等同

6. 求导

求导形式:

  • D[函数, 变量] # 一阶偏导
  • D[函数, {变量, 阶数}] # 高阶偏导
  • D[函数, {{变量1, 变量2, …, 变量n}, 2}] # 海森矩阵
f=x^2*y - 2*x*y^2+x*y

// 一阶导
D[f,x]

// 二阶导
D[f, {x,2}]

// 海森矩阵
D[f, {{x,y},2}]
7. 积分

积分形式:

  • Integrate[函数, 变量] # 不定积分
  • Integrate[函数, {变量, 下界, 上界}] # 定积分
  • Integrate[函数, 变量1, 变量2, …] # 重积分
  • Integrate[函数, {变量1, 下界, 上界}, {变量2, 下界, 上界}, …]
Integrate[x^2 + y^2, x]
Integrate[x^2 + y^2, x, y]
8. 求解方程及方程组
8.1 求解方程形式
  • Solve[方程, 未知量]
    f[x_]:=x^2-7x+12
    Solve[f[x]==0, x]
    
8.2 求解方程组形式
  • Solve[{方程1, 方程2, …, 方程n}, {未知量1, 未知量2, …, 未知量n}]
    f1[x_, y_] := 3*x + 2*y
    f2[x_, y_] := x - y
    Solve[{f1[x, y] == 11, f2[x, y] == 2}, {x, y}]
    
8.3 设置根式解显示方式
// 设置三次显式形式显示
Solve[x^3 + 2 x^2 + 3 x + 4 == 0, x, Cubics -> True]

// 设置三次隐式形式显示
Solve[x^3 + 2 x^2 + 3 x + 4 == 0, x, Cubics -> False]
  • Cubics:三次显式属性
  • Quartics:四次显示属性
9. 表达式转C
f = x^2 + 3*x*y
ToString[f, CForm]
10. 提取多项式系数
f = 3 x^4 + a x^2 + b x + c
CoefficientList[f, x]
// {c, b, a, 0, 3}  

Coefficient[f, x, 2]
// a

参考链接:

  • https://blog.csdn.net/weixin_47311567/article/details/108147665
  • https://blog.csdn.net/weixin_56049588/article/details/135565960
  • https://zhuanlan.zhihu.com/p/672599036
  • https://zhuanlan.zhihu.com/p/110982275
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值