MuPAD使用總結


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:檢驗兩個表達式是否相等

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM