linspace(a,b,n)
logspace
a([m n],[I j])
a(m1:m2,n1:n2)
strcat()
length char double strcmp() ischar findstr() deblank()
cat(dimension,p1,p2,…)
remat(p,[])
reshape(p,[])
reshape
is*
diag() triu() tril()
A’ rot90() fliplr flipud() flipdim(a,dim)
inv det rank trace
mean median prod sum cumsum cumprod
sort(A,dim)dim=1,colony dim=2,row
conv() deconv()=[q商式,r余式]
polyval,polyvalm(poly,m) roots() poly(roots())一个向量
线性方程组求解的三种方法:A\B;x=rref([A,B]);inv(A)*B
round floor fix ceil
rem被除数 mod除数
factor factorial gcd lcm
m文件:save和load
function: input(‘表达式’),’s’表示字符串
disp()
pause() pause off/pause on
if elseif
switch 表达式(标量或字符串) case 表达式123(标量字符串或元胞矩阵) otherwise 不用加break
try catch lasterr 试探性 其中总有一个可以实现,如果lasterr返回空字符串则说明try实现,其他则是catch实现
for 循环变量=起始值:步长:终止值
循环体
end
*当循环变量等于矩阵表达式时,依次等于其中元素
循环嵌套与自然筛选法
while表达式
循环体语句
end
break,continue,return不执行后续代码
函数文件基本格式:
function 输出参数列表=函数名(输入参数列表)
注释说明语句段
程序语句段
输出形参多于1个时,要用[ ]
函数递归
nargin和nargout 判断输入/输出参数个数进行函数分类处理
gloabal 变量名 全局变量,不过要在函数文件和命令窗口中都写入
keyboard和menu
设置断点 debug
绘图
1.plot函数:
- 一个输入参数:x为实向量,复数向量,m*n维矩阵时的绘图
- 多个输入参数:plot(x1,y1,x2,y2,…)
- plot(x, y, ‘s’)
- 双纵坐标绘制函数:plotyy(x1,y1,x2,y2)横坐标标度相同,左纵坐标用于x1y1,右纵坐标用于x2y2;
- 对数坐标二维图形:
semilogx(x1,y1,选项1,x2,y2,选项2,…): x为对数
刻度,y为线性刻度。
semilogy(x1,y1,选项1,x2,y2,选项2,…): y为对数
刻度,x为线性刻度。
loglog(x1,y1,选项1,x2,y2,选项2,…):x和y均为对
数刻度。
2.极坐标
- polarplot(theta,rho,’s’)
- latex: text(0.3,0.5,’sin({\omega}t+{\beta})’)
3.绘图调整
- axis([xmin xmax ymin ymax zmin zmax])
4.实例
5.图形保持
hold on – 保持原有图形
hold off – 刷新原有图形
hold – 两种状态之间切换
6.图形分割 subplot(m,n,p)可以细分
7.特殊二维图形:
- barh/bar(柱状图)和area(面积函数)
- 饼图pie(x)
- 散点图scatter(x,y)
- 直方图hist(x,n):将x中的元素分成n份,然后用间隔相同的条形表示,返回每个条形中元素的个数。若x为矩阵,则hist函数对每一列数据生成一个直方图。如果n缺省就默认为10
- 玫瑰花图rose(theta)
- 火柴杆图stem(x,y)
- 阶梯图stairs(x,y)
- 误差条图errobar(x,e):e指x中每个元素的误差
8.fplot(@fun,lim,tol,’s’)
9.三维图形 plot3()
10.三维曲面
- 生成网格 并解二元方程
x=a:dx:b;
y=c:dy:d
[X,Y]=meshgrid(x,y); - surf三维曲面图/mesh三维网格图绘制三维曲面,其中z必须为矩阵而不能是向量或者标量,所以首先要用meshgrid生成一个二维坐标系,才会产生z
- meshc函数 – 带等高线的三维网格函数
l meshz函数 – 带底座的三维网格函数
l surfc函数 – 带等高线的三维曲面函数
l surfl函数 – 具有光照效果的三维曲面函数 - [x,y,z]=sphere(n) – 圆心位于原点,半径为1的单
位球体,n代表边的个数
l [x,y,z]=cylinder(R,n) – 柱面,R是一个向量,存
放柱面各个等间隔高度上的半径
l Z=peaks(n) – 多峰函数,默认等分数为48
11.视角处理 view(方位角,俯仰角);
- 旋转三维图形
rotate(h,direction,alpha):将句柄h的对象绕方向旋
转一个角度
•h是被旋转的对象,例如h=figure
•direction与view函数设置视点的方向类似,也有
两种设置方法:球坐标设置法,设置为[theta,phi],
其单位是“度”;直角坐标法,即[x,y,z]
•alpha是绕方向按照右手法则旋转的角度 - 背景颜色处理 colordef none/black/()
-表面图形的着色
shading faceted – 将每个网格片用其高度的对应的颜
色进行着色,但网格线保留,其颜色是黑色
l shading flat – 将每个网格片用同一个颜色进行着色,
网格线也相同颜色,表面更加光滑
l shading interp – 在网格片内采用颜色插值处理,得出
的表面图显得最光滑
12.隐函数绘图
对于函数f=f(x):
l ezplot(f):在区间-2pi<x<2pi绘制图形
ezplot(f,[a,b]):在区间a<x<b绘制图形
l 对于隐函数f=f(x,y):
l ezplot(f):在区间-2pi<x<2pi和-2pi<y<2pi绘制f(x,y)=0图形
ezplot(f,[xmin,xmax,ymin,ymax]):在区间xmin<x<xmax 和
ymin<y<ymax绘制f(x,y)=0图形
l ezplot(f,[a,b]):在区间a<x<b和a<y<b绘制f(x,y)=0图形
l 对于参数方程x=x(t)和y=y(t):
ezplot(x,y):在区间0<t<2*pi绘制x=x(t)和y=y(t)图形
ezplot(x,y,[tmin,tmax]):在区间tmin<t<tmax绘制x=x(t)和
y=y(t)图形
13.句柄 h=plot()
- set(h,属性一,选项,属性二,选项…)
符号运算
f=sym(‘’)
- 用sym函数建立 (R2018后使用str2sym函数)
使用已定义的符号变量建立 - 建立符号矩阵 A=str2sym(‘[]’)
- 符号矩阵的修改 subs(A,old,new)
- 调用符号矩阵 sym(A)
- 转化为数值矩阵 double(A)
- 求和符号=symsum()
- numden函数提取符号表达式的分子和分母 [n,d]=numden(s)
- 因式分解与展开
l factor(s): 对符号表达式s分解因式
l expand(s): 对符号表达式s进行展开
l collect(s): 对符号表达式s合并同类项
l collect(s,v): 对符号表达式s按变量v合并同类项
simplify(s): 应用函数规则对s进行化简 - digits(n) —— 设置可变精度,缺省16位
vpa(x,n) —— 显示可变精度计算 - 微积分
| limit(f)
| limit(f,x,a)
| limit(f,x,a,’left’)
| limit(f,x,a,’right’)
| diff(f) 求表达式f对默认自变量的一次微分值;
| diff(f, t)求表达式f对自变量t的一次微分值;
| diff(f,n)求表达式f对默认自变量的n次微分值;
l diff(f,t,n) 求表达式f对自变量t的n次微分值。
int(f)求表达式f对默认自变量的积分值;
int(f, t) 求表达式f对自变量t的不定积分值;
int(f, a, b) 求表达式f对默认自变量的定积分值,积分区间为[a,b];
int(f, t, a, b) 求表达式f对自变量t的定积分值,积分区间为[a,b] - 求解代数方程
solve(方程)
solve(方程,变量) - 常微分方程求解
[x,y,…]=dsolve(f,c,v)f在初始条件c下的特解,变量v;如果没有初始条件c,则求通解
Dny y的n阶导数