MMA-Mathematica定义函数

Mathematica定义函数时有点特殊,需在变量后加一个下划线,具体见下面示例:

f[m_] = 2 m
f[3]

上面示例中定义函数时用的是“=”,其实也可以用“:=”,这两个有什么区别呢?

具体见下面示例便知:

m = 3
f[m_] := 2 m
f[5]

总结:Mathematica定义函数时,变量后面应加一个下划线,然后尽量用“:=”。若使用“=”,在定义函数时,如果变量已被赋值的话,那么会直接将变量的值代入函数式。

分解因式,展开因式,通分,拆分,化简
Factor[x^2 + 3 x + 2]
Expand[(x + 1) (x + 3) (x + 8)]
Together[1/(x + 3) + 1/(2 x + 5) (x^2 + 8)]
Apart[(8 + 3 x)/(x + 2) (x + 3)]
Simplify[(1 + x) (2 + x) + (x + 1) (x + 8)]
在这里插入图片描述
1、选定特定的。

Collect[a x + b y + c x, x]
Collect[(1+a+x)^4 , x]

在这里插入图片描述

在这里插入图片描述

已有功能函数:
Sqrt,Exp,Log[a,x],Log[x],Sin[x],Sinh[x],ArcSin[x],Roundx,Floor[x],Modm,n,Abs[x],n!,Sign[x],N[x,n]取近似n位值,n缺省则为6位

Sign[x]
Plot[Sign[x], {x, -4.2, 4.2}]

在这里插入图片描述
自定义函数

(*pascal的风格,赋值用:=*)
一元函数f[x_]:=函数表达式
多元函数f[x_,y_,z_...]:=函数表达式
Clear[f] 清楚对原先f的赋值

eg.

f[x_]:=x^2+x
Clear[f]
f[x_]:=x^4;
f[2]

(用;分开是表示此行语句的输出结果不在屏幕上显示)

消除对x的赋值可以用Clear[x]

Rparallel[m_, n_] := m*n/(m + n)
g = Simplify[Rparallel[RF2, R3 + 1/c/s]]
z = RF1 + Simplify[Rparallel[RF2, R3 + 1/c/s]]
g/z
Simplify[g/z]

解方程:
一些范式:
Solve[eqns,vars]:求关于var s的全部解
NSolve[eqns,vars]:求代数方程(组)的全部数值解
FindRoot[eqns,{x,x0},{y,y0},…]表示从点(x0,y0…)出发找方程(组)的近似解
Eliminate[eqns,elims]:从一组等式中消去变量(组)elims (在数学建模的时候非常有用)

最常见的解方程代码:

Clear[x];
Solve[x^2+3x+2==0,x]
Solve[{ax+by==0,cx+dy==1},{x,y}]
Solve[Sqrt[x-1]+Sqrt[x-2]==a,x]

然而,有一些方程式根本求不出准确解的,因此需要转化成求近似解,主要有两种:
NSolve和FindRoot方法

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值