MuPAD使用总结

时间:2024-03-11 14:42:53

MuPAD使用总结

一、打开notebook界面的方法:


在这里插入图片描述

二、notebook界面的三种区域

一)、输入区域

在这里插入图片描述

输入区域在打开来的时候就有,就是在这里插入图片描述,但是之后如果还想再加,可以点击上方红色框内的图标。
这个区域是用来输入命令的,也就是说,你要解决的数学问题,用一定的语法(语法在后面会讲到)在这个区域表达出来,计算的任务就交给软件来做了。

使用时,将光标置于输入区域的某个位置,按Enter键,就可以让mupad执行这片区域的命令,如果想要换行,按Ctrl+Enter或shift+Enter即可。 (图中的红色字体部分)

每个语句的结尾都要以分号或冒号来结束。
分号结束的语句:计算结果显示在输出区域
冒号结束的语句:计算结果不显示在输出区域
(二)、输出区域
执行完命令后会出现的区域 ,紧接着输出区域。(图中的蓝色字体部分)
输出区域有不同的格式
在这里插入图片描述
下面,用一个一元三次方程说明这几种显示格式的区别

delete x:
solve(x^3 + x^2 + 1 = 0, x, MaxDegree = 3);

1.用Typeset Math和Abbreviate Output两种格式运行此代码
2.只选Typeset Math格式运行此代码:是很好看的印刷体格式,但复制是以图片格式来复制的。
3.只选Abbreviate Output格式运行:和键盘输入的数学表达式相同。
4.只选Pretty print格式:matlab符号数学工具箱原有的一种数学公式显示格式。
5.Text Width是设置输出区域每一行最大字符数。

(三)、文本区域
添加注记的区域,类似于注释,增加可读性。(图中的黑色字体部分)
如图
在这里插入图图1片描述

三、基础语法

输入语句的语句一定都要是英文格式的!
(一)、标识符
标识符的命名规则和C语言的语法一样,都是只能包含数字、字母、下划线。并且
1.第一个字符不能是数字;
2.区分大小写;
3.不能是关键字;
不合法的比如:3a、x>y、sin(系统设定的正弦函数)
合法:a3、Sin(区分大小写)
(二)、赋值
赋值符号由一个冒号和一个等于号构成 :=
语法格式为
<标识符>:=value
value可以是数、表达式、方程、列表、集合、矩阵等。
y:=a+x;
此时y被赋值a+x

a:=10;

此时y为x+10

delete a;

使用delete命令,将a原先被赋的值清除,y又变为a+x
(三)、标准库的特殊记号
符号常数:

E          自然对数e
exp(n)     e的n次幂
I          虚数单位i
PI         圆周率
infinity   正无穷大
-infinity  负无穷大
undefined  无定义

浮点数学常量

RD_INF      浮点数形式的正无穷大
RD_NINF     浮点数形式的负无穷大
RD_NAN      浮点数形式的无定义

逻辑常数

TRUE       真
FALSE      假
UNKNOWN    未知

基本数集

C_         复数集
R_         实数
Q_         有理数
Z_         整数
N_         正整数

常用运算符(一定要在英文输入法状态下输入)

::         连接库名和函数名 
\'          单引号
[]         下标运算符
.          连结运算符,小数点
@@         函数复合迭代运算符
@          函数符合运算符
!          阶乘运算符
!!         双阶乘
^          乘幂
*          乘法
/          除法
-          负号或减
+          加
..         范围(区间)运算符
in         属于(集合)
= 
<>         不相等
>;<;<=;>=
$          生成序列
and        与
not        非
xor        异或
or         或
assuming   假设(临时性的)
,          逗号,分隔序列用的
;          命令结束,显示结果
:          命令结束,不显示结果

常用函数

sin cos tan cot sec csc 
arcsin arccos arctan arccot arcsec arccsc
sinh cosh tanh coth sech csch
arcsinh arccosh arctanh arccoth arcsech arccsch
exp  ln log log2 log10 abs(绝对值,复数模)
binomial   二项展开式系数
gamma      伽马函数
max        最大值
min        最小值
sign       符号函数
sqrt       算术平方根
surd       n次方根
ceil       上取整(2.5->3)
floor      下取整(2.5->2)
round	   四舍五入
trunc 	   截去小数部分取整
Re         复数的实部
Im         复数的虚部
arg        复数的幅角主值
delete     清除标识符的值
domtype    查看数据类型
eval       计算符号值
float      计算浮点数近似值
%          最近的计算结果
last(n)或%n 最近的第n个计算结果
plot       显示图形对象

(四)、数据类型
标*的是要重点掌握的

DOM_INT			整数
DOM_RAT 		有理数
DOM_COMPLEX		复数
DOM_FLOAT	    浮点数
DOM_BOOL		逻辑常数
DOM_IDENT		标识符 *
DOM_EXPR		表达式 *
DOM_POLY		多项式
DOM_STRING		字符串
DOM_LIST		列表 *
DOM_SET			集合 *
DOM_ARRAY		数组
DOM_TABLE		列表
DOM_PROC		过程
matrix			矩阵和向量
ode				常微分方程
piecewise		条件定义对象
Series::Puiseux		截断式级数展开式
O			级数展开式的大O项
rec			递推方程,差分方程

(五)、命令语句
1.处理表达式
(1).subs 代入
格式:subs(f,old1=new1,old2=new2,…)

subs(a+b+c,a=x^2,b=10);

结果: 在这里插入图片描述
注意与赋值的区别, 代入并没有改变标识符的值
(2).subsex 比subs的范围更大
格式:subsex(f,old1=new1,old2=new2,…)

subsex(a+b+c,a+b=x^2);

结果:
在这里插入图片描述
(3).simplify 化简命令
格式
simplify(f)

simplify(exp(2*(3/2))-exp(3))

结果:
在这里插入图片描述
深度化简命令:Simplify
适用于三角函数

f:=(cos(x)^2-sin(x)^2)/(sin(x)*cos(x));
simplify(f);
Simplify(f);

结果:
在这里插入图片描述
(4).combine 合并
合并的是结构相同的项

combine(sqrt(2)*sqrt(5))

在这里插入图片描述
(5).collect 合并
合并的是指定标识符,次数相同的合并到一起
格式:collect(f,x)
collect(f,[x,y,z,…])

f:=x^2*y+z*x*y*y;
collect(f,x);

在这里插入图片描述

f:=x^2*y+z*x*y*y+z*y*y*x+x*x*y*z;
collect(f,[x,y]);

在这里插入图片描述
(6).expand 展开
格式
expand(f)

expand((z+1)*x*x*y+(2*z)*x*y*y)

在这里插入图片描述
(7).factor 分解因式
格式
factor(f)

factor(x^2-3*x+2)

在这里插入图片描述
(8).normal 和simplifyFraction 化简分式
格式
normal(f)
simplifyFraction(f)

p:=x/(x^6-1)+x^2/(x^4-1);
normal(p)

在这里插入图片描述sdibo
(9). radsimp 和 simplifyRadical 化简根式
格式
radsimp(f)
simplifyRadical(f)
相当于simplify(f,sqrt)

r:=sqrt(3*sqrt(3+2*sqrt(5-12*sqrt(3-2*sqrt(2))))+14);
radsimp(r)

在这里插入图片描述
2.列表
用[ ]括起来的一组数据,数据之间用逗号,分隔

[1,2,3,4,5]

列表中有一个方便的运算符$,可以表示有规律的一组数据

[$1..5]

在这里插入图片描述

[x_.i $i=1..9 step 2]

在这里插入图片描述x与i之间用下划线_与.连结运算符(句点)连接, 注意step后的空格不能少

序列运算符$的语法如下

$a..b				a,a+1,a+2,...,b
$a..b step c		a,a+c,a+2c,...,b
f$n 				重复n个f组成的序列
f(i)$i=a..b			f(a),f(a+1),f(a+2),...f(b)
f(i)$i=a..b step c 
f(i)$i in list		 list是列表
f(i)$i in set  		 set是集合

3.集合
用花括号{ }括起来的一组数据,数据之间用逗号分隔
与列表不同, 集合的元素没有顺序, 且不可重复, 与数学中的集合概念类似

注意,若是对某个函数理解不清楚,可以运行?<函数>查帮助

?collect

 

四、函数的创建

(一)、用赋值运算符创建函数

y:=2*x-1

在这里插入图片描述(二)、用映射创建函数
格式
f:=x–>body 简化函数后再创建函数
f:=x->body 直接创建函数

f:=x-->x*2-1; 

在这里插入图片描述
注意有无等号的区别
在这里插入图片描述
(三)、创建分段函数
1.piecewise
格式
piecewise([条件1,对象1],[条件2,对象2],…)

f:=x-->piecewise([x>0 or x<-1,x],[x>=-1 and x<=0,-x]);

在这里插入图片描述
注意 or 和 and 两边都要有空格
类似 0<=x<=1的表达式是无效的!

pw:=x->piecewise([x>0 and x < 1,1],[Otherwise,0]);
//Otherwise代表不包含在已有condition中的其他情况:

(四)、复合函数的创建
格式
f@g

f:=x-->piecewise([x<1 or x>-1,1],[x=1 or x=-1,0],[x>1 or x<-1,-1]);
g:=x->exp(x);
f@g;

在这里插入图片描述
(五)、调用系统函数

y:=x->sin(x);
//注意括号不能省,否则系统会把sinx当成一个标识符,如图

在这里插入图片描述

也可以创建多元函数,需要加圆括号将所有变量括起来,变量间使用逗号分隔

g:=(x,y)->x^2+y^3

五、显示函数图形

(一)、plot(目标,<可选项>,<属性>)
设置图形属性,可以改变图形坐标轴长度,颜色,图形比例等
常用图形属性设置

图形属性								简写	功能						默认
Scaling=Constrained					#C		所有坐标轴单位长度相等	自动设置
GridVisible=TURE					#G		显示坐标网格				无网格
Axes=Origin						    #O		坐标系包含原点			自动设置
AxesVisible=FALSE					无		不显示坐标轴				显示坐标轴
ViewingBox=[x1..x2,y1..y2] 			无		二维坐标轴范围			自动设置
ViewingBox=[x1..x2,y1..y2,z1..z2]	无		三维坐标轴范围			自动设置
Color=[r,g,b] 或 RGB::name			无		图形颜色					略
Height=m							无		图形高度					80
Width=n								无		图形宽度					120
Header=text							无		在图像顶部添加文本(字符串)无
Footer=text 						无		在图像底部添加文本(字符串)无

LineStyle=Solid			实线
LineStyle=Dashed		虚线
LineStyle=Dotted		点线
LineWidth=n				线宽,默认为0.35
Mesh					采样点数目(与曲线的光滑程度有关,越大越光滑),默认为Mesh=121
Submesh					额外采样点的密度,默认Submesh=0
AdaptiveMesh			自适应加密采样,默认为0,即不采样

PointStyle				点形状,默认值是PointStyle=FilledCircles
8种:Squares, FilledSquares, Circles, Crosses, XCrosses, Diamonds, FilledDiamonds, Stars
PointSize				点尺寸,默认值是PointSize=1.5,单位是毫米. 

RGB色彩模式

Color=RGB::Red		Color=[1,0,0]
Color=RGB::Green	Color=[0,1,0]
Color=RGB::Blue		Color=[0,0,1]

(二)、创建显函数的二维图像
1.plot::Function2d(f,x=xmin…xmax,<动画参数>,<属性>)

f:=x->sin(x);
g:=plot::Function2d(f,x=0..PI);//此时仅仅是创建了一个图形赋值给g
plot(g);//生成图形

在这里插入图片描述
接下来设定图形属性

g:=plot::Function2d(f,x=0..PI,Color=RGB::Red,LineStyle=Dashed);
plot(g,#C,#G)

在这里插入图片描述

g:=plot::Function2d(sin(x),x=0..2*PI,Color=RGB::Red,LineStyle=Dashed,Mesh=4,AdaptiveMesh=0);
plot(g,#C,#G)

试着改变Mesh的值,看看取样点的取值对图像的影响
在这里插入图片描述
2.plot::Curve2d([x,y],t=tmin…tmax,<动画参数>,<属性>)
其中x与y分别是x(t),y(t)的表达式

f:=plot::Curve2d([sin(t),cos(t)]);
plot(f,#C);

在这里插入图片描述
3.plot::Implicit2d(f,x=xmin…xmax,y=ymin…ymax,<动画参数>,<属性>)
注意f是f(x,y)的表达式,默认等号右边为0。
plot::Implicit2d不能使用Submesh和AdaptiveMesh,而且Mesh有两个参数,默认为Mesh=[11,11]

plot(plot::Implicit2d((x-y)*(x+y),x=-3..3,y=-3..3))

在这里插入图片描述
4.plot::Polar([r,u],v=vmin…vmax,<动画参数>,<属性>)
其中,r表示r(v)极径,u表示u(v)极角

plot(plot::Polar([2*(1-cos(r)),r],r=0..2*PI))//绘制心形曲线

在这里插入图片描述
建议图形的定义和绘制分开写
注意Mesh是plot::Polar的参数而非plot函数的参数

//比较以下两个代码的区别
g:=plot::Polar([2*(1-cos(r)),r],r=0..2*PI,Mesh=13);
plot(g);//只有这个代码修改的Mesh值有效

g:=plot::Polar([2*(1-cos(r)),r],r=0..2*PI);
plot(g,Mesh=13);

在这里插入图片描述

(三)、绘制点、点列和直线段
1.绘制点
plot::Point2d(x,y,<动画参数>,<属性>)
plot::Point2d([x,y],<动画参数>,<属性>)
plot::Point2d(matrix[x,y],<动画参数>,<属性>)

PointStyle 点形状,默认值是PointStyle=FilledCircles
8种:Squares, FilledSquares, Circles, Crosses, XCrosses, Diamonds, FilledDiamonds, Stars
PointSize 点尺寸,默认值是PointSize=1.5,单位是毫米.

设置点的形状和尺寸

A:=plot::Point2d(0.5,0.5,PointStyle=Squares);
B:=plot::Point2d(0,0,PointSize=5);
plot(A,B,Width=50,Height=50)

在这里插入图片描述
2.绘制点列
plot::PointList2d(pts,<>,<>)
plot::PointList2d(M,<>,<>)

pts :点坐标的列表,即点列 [[x1,y1],[x2,y2],[x3,y3],…]
或者[ [ x[i],y[i] $i=1…n] ] 注意双重方括号
M:点坐标的n*2矩阵,如matrix([[x1,y1],[x2,y2],…])
或matrix[ [ x[i],y[i] $i=1…n] ]

Alist:=plot::PointList2d([[1,1],[2,2],[3,3]]);
plot(Alist);
//或者用序列 注意$前没有逗号
Alist:=plot::PointList2d([[i,i]$i=1..3]);
plot(Alist)

在这里插入图片描述
3.绘制直线段
plot::Line2d([x1,y1],[x2,y2],<动画参数>,<属性>)

以[x1,y1]和[x2,y2]为端点的线段

L:=plot::Line2d([1,1],[2,2])
plot(L)

4.添加文本
plot::Text2d(“text”,[x,y],<动画参数>,<属性>)
“text”:要添加的文本,必须用双引号括住
[x,y] :要添加文本的位置

常用属性

TextFont    		文本的字体,默认值是["sans-serif", 11]; 
TextRotation		文本的旋转角度,弧度制,默认值是0; 
HorizontalAlignment	文本相对于添加位置的水平方位,默认值是Left,还有Center和Right
VerticalAlignment	文本相对于添加位置的垂直位置,默认值是BaseLine,还有Bottom、Center和Top

综合例子

T:=plot::Text2d("haa",[1,2*a],a=0.1..2,TextFont=[20]);
R:=plot::Rectangle(0..2,0..4);
plot(T,R)

T1:=plot::Text2d("ha",[1,1],TextRotation=PI/4,HorizontalAlignment=Left,TextFont=[20]);
T2:=plot::Text2d("haa",[1,-1],TextRotation=-PI/4,HorizontalAlignment=Left,TextFont=[20]);
T3:=plot::Text2d("haaa",[-1,-1],TextRotation=PI/4,HorizontalAlignment=Right,TextFont=[20]);
T4:=plot::Text2d("haaaa",[-1,1],TextRotation=-PI/4,HorizontalAlignment=Right,TextFont=[20]);
plot(T1,T2,T3,T4,#C)

六、绘制数列、圆、多边形图像

1.plot::Sequence(x,n=nmin…nmax,<动画参数>,<属性>)
x:即x(n),数列的通项公式
n:必须都是整数
常用属性参数
Color=RGB::Red
LinesVisible 线是否显示,默认是LineVisible=FALSE,即不显示
PointVisible 点是否显示,默认是PointVisible=TRUE,即显示

delete n:
A:=n-->1/2*sin(2*PI/(6*2^(n-1)))*6*2^(n-1);
ap:=plot::Sequence(A,n=0..8);
plot(ap)

2.plot::Circle2d(r,[x,y],<动画参数>,<属性>)
r:半径
[x,y]:圆心,若不写,默认在原点
常用属性参数
LinesVisible 线是否显示,默认是LineVisible=TRUE,即显示
Filled 内部是否填充,默认是Filled=FALSE,即不显示
FillColor 内部填充颜色,默认是FillColor=RGB::Red
3.绘制多边形
plot::Polygon2d(pts,<动画参数>,<属性>)
plot::Polygon2d(M,<动画参数>,<属性>)

pts:[[x1,y1],[x2,y2],…]
M:n*2规模矩阵 matrix([[x1,y1],[x2,y2]…])
常用参数
LineStyle 线是否显示,默认显示,此时可以设置关于线属性的其他参数
Closed 默认Closed=FALSE,即终点与起点不连接
FillColor 内部填充颜色
Fillpattern 填充方式
PointVisible 是否显示点

C:=plot::Circle2d(1,[0,0]);
n:=1;
Vie:=plot::Polygon2d([[cos(2*PI*k/(6*2^(n-1))),sin(2*PI*k/(6*2^(n-1)))]$k=0..6*2^(n-1)]);
plot(C,Vie)//绘制圆内接正多边形

在这里插入图片描述
4.绘制矩形
plot::Rectangle(xmin…xmax,ymin…ymax,<动画参数>,<属性>)
xmin…xmax 矩形的左右边界
ymin…ymax 矩形的上下边界
常用参数
LineVisible:线是否显示
Filled:内部是否填充

七、计算极限

limit(f,x=x0) 计算双侧极限
limit(f,x=x0,Left) 计算左侧极限
limit(f,x=x0,Right) 计算右侧极限

f:函数或数列表达式
x=x0 : 被求极限的位置,x0也可以换成也可以是infinity或-infinity
注意若极限不存在,则返回undefined

limit(1/x,x=infinity,Left);
limit(1/x,x=-infinity,Right);//结果都是0

八、运算
1.多项式除法运算
divide(P,Q,[x])

P:分子的多项式表达式
Q:分母的多项式表达式
[x]:多项式的变量
返回商式和余式
2.解方程或不等式
solve(f,x)
solve(f,x=a…b) 返回函数在[a,b]之间的零点

 S:=solve(x^2=2,x);

在这里插入图片描述
如果想获得精确解

float(S);

在这里插入图片描述系统默认是保留十位有效数字的,如果想保留更多位:

DIGITS:20:float(solve(x^2=2,x));
solve(x-2>2,x);//解不等式,结果是4到正无穷

在这里插入图片描述
3.其他命令
linsolve:求解线性方程组
RootOf:求解多项式的根
testeq:检验两个表达式是否相等