MATLAB 实用命令及技巧整理

一、常用函数及运算符

1、运算符与特殊字符

+   加                                ...    续行标志                  ’     矩阵转置
-    减                               ;分行符(该行结果不显示) 
*    矩阵乘                       .*    点乘                          %    注释标志 
^    幂                             .^    向量乘方                   
\    矩阵左除                    =    赋值运算 
/    矩阵右除                    ==    关系运算之相等 
.\    向量左除                   ~=    关系运算之不等 
./    向量右除                   <    关系运算之小于 
<=  小于等于                   >    关系运算之大于 
[]    矩阵生成                   >=    大于等于 

2、常用函数表

sin( )   正弦(变量为弧度)   
cot( )   余切(变量为弧度)
sind( )  正弦(变量为度数)  
cotd( )  余切(变量为度数)
asin( )  反正弦(返回弧度)     
acot( )  反余切(返回弧度)    
Asind( ) 反正弦(返回度数)    
acotd( ) 反余切(返回度数)    
cos( )   余弦(变量为弧度)     
exp( )   指数函数     
cosd( )  余弦(变量为度数)   
log( )   对数   
acos( )  余正弦(返回弧度)   
log10( ) 以10为底对数即 lg
acosd( ) 余正弦(返回度数)     
sqrt( )  开根号       
tan( )   正切(变量为弧度)      
tand( )  正切(变量为度数)        
abs( )   取绝对值   
atan( )  反正切(返回弧度)     
angle( ) 返回复数的相位角
atand( ) 反正切(返回度数)        
mod(x,y) 返回x/y的余数   
sum(  )  向量元素求和
其余函数可以用help elfun和help specfun命令获得。

3、常用常数的值

pi            圆周率3.1415926…….         
i             虚数单位              
j             虚数单位           
Inf          无限值
eps           浮点相对经度=2^-52           
NaN           空值

4、控制流程

break    中断循环执行的语句             if    条件转移语句
case    与switch结合实现多路转移    otherwise    多路转移中的缺省执行部分
else    与if一起使用的转移语句          return    返回调用函数
elseif    与if一起使用的转移语句         switch    与case结合实现多路转移
end    结束控制语句块                       warning    显示警告信息
error    显示错误信息                         while    循环语句
for    循环语句    

二、常用函数命令

1、字符变量的定义

命令:syms

syms a b n x t    %定义字符变量
syms y(x,t)    %定义y是x和t的函数

2、解方程

matlab中解方程常用命令是solve(f(x), x),求解的是f(x) = 0的解。

举例:

syms x y

root=solve(x^2-3*x+1,x)  %求方程x^2-3*x+1=0的解

[x,y]=solve(x+y==2,2*x+3*y==7,x,y) %联立方程求解

3、微分、积分

求导命令:diff(原函数,变量,求导阶数)

积分命令:int(被积函数,变量,下限,上限)

举个例子:

syms s
a=s^2+2*s+3;
equ1=diff(a,s,1)   %对a求1次导
equ2=diff(a,s,2)   %对a求2次导
 
c=1/s;
equ3=int(c,s,1,2)  %对c进行1到2积分

4、实时脚本

实时脚本可以实现公式的可视化,对于复杂的公式可以一目了然

举个实例,新建一个实时脚本,粘入下列代码并运行:

syms f(l,t) wz(l,t) wy(l,t) pf(l,t) E Ap v R e Rw

a=diff(wz,l)
b=wy/Rw
c=E*(a+b)
d=-f/Ap
g=pf*R*R/(e*R+0.5*e*e)
s=c-d+v*g
m=diff(s,t)

运行结果会显示在右侧窗口:

5、合并同类项

若要将上式的分子进行合并同类项,可以利用collect(equ,x)命令,equ是指待合并的多项式,x是指待合并多项式中的变量x。

具体代码如下:

syms kp ki wc w0 s  %%定义字符变量

m=s^2+2*wc*s+w0*w0;  %%分母多项式
n=kp*m+2*ki*wc*s;    %%分子多项式
den=collect(n,s)     %%合并同类项,并输出结果

运行结果如下:

6、符号矩阵的求逆运算

如上,求矩阵Z,其中I为单位矩阵,S为符号变量。求逆矩阵命令:inv(A)。

syms s R1 Lq Ld w          %定义字符变量
A=[-R1/Ld,w*Lq/Ld;-w*Ld/Lq,-R1/Lq];   %定义矩阵
C=[1,0;0,1];
SI=[s,0;0,s];
Z=collect(C*inv(SI-A),s)   %计算Z并对结果进行合并同类项

结果如下:

7、求极限

如题:求符号函数f=-2*sign(s)在以下两种情况下的极限:(1)x趋于+0(2)x趋于-0

matlab极限命令:limit(f,n,x),其中f是表达式,n是表达式F的变量,x表示极限点),整条命令表示求函数f(n)在n趋于x时的极限。

syms s
f=-2*sign(s);
lim = limit(f, s, 0,'left')   %%左极限
lim = limit(f, s, 0,'right')  %%右极限

结果输出分别为2、-2

8、求常微分方程

(1)dx/dt=-x

(2)dx/dt=-x^3-x

(3)dx/dt=-x^3


syms x(t) C

eq1=diff(x,t,1)==-x;  % 定义常微分方程
cond=x(0)==C;  % 初始条件 x(0) = C
N=dsolve(eq1, cond)

eq2=diff(x,t,1)==-x^3-x;  % 定义常微分方程
cond=x(0)==C;  % 初始条件 x(0) = C
N=dsolve(eq2, cond)

eq3=diff(x,t,1)==-x^3;  % 定义常微分方程
cond=x(0)==C;  % 初始条件 x(0) = C
N=dsolve(eq3, cond)

输出结果:

9、矩阵特征值、特征向量

若求矩阵A的特征值和特征向量,则可利用[v,d]=eig(A)命令。

close all;
clc;
clear;

A=[1 1;4 -2];    %%eig是求特征值和特征向量命令,v是特征向量,为列向量,               
[v,d]=eig(A)     %%d是特征值矩阵,主对角线元素为特征值,与特征向量的列对应

输出结果:

10、指数、矩阵指数

exp():求解指数,如e^2

expm():求解矩阵指数,如e^At,其中A为矩阵。

对于e^At,是指矩阵指数函数,采用矩阵指数运算规则即上式2.1.15:

A=[0 1;-2 -3];              

[v,d]=eig(A)

v =

    0.7071   -0.4472
   -0.7071    0.8944

d =

    -1     0
     0    -2

P=[ 0.7071   -0.4472;
   -0.7071    0.8944];

sys=P*expm(d)*inv(P)          %%勿用exp

sys =

    0.6004    0.2325
   -0.4651   -0.0972

exp()通常对一个常数进行运算,而非矩阵,若对矩阵使用exp(),则会对逐个元素的进行指数运算

下面

计算比较 A 的指数和 A 的矩阵指数运算的不同:

B = [-1 0;
      0 -2 ];
exp(B)                          %%指数,逐个元素运算                    
ans = 2×2                       %%结果
 
    0.3679    1  
    1         0.1353 

expm(B)                         %%%%矩阵指数
ans = 2×2                       %%结果
 
    0.3679    0  
    0         0.1353

11、分段函数的绘制

绘制如下两个函数:

e=-0.1:0.001:0.1;
y1=(abs(e).^0.5).*sign(e);
y2= (e/0.1).* (abs(e)<=0.01) + (abs(e).^0.5).*sign(e) .* (abs(e)>0.01);
plot(e,y1,'k-',e,y2,'r-','linewidth',2);
legend('|e|^(^0^.^5^)sgn(e)','fal(e,0.5,0.01)');
grid on;

------------------------------------------------------------------------------------

持续更新中....................

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
1、通用命令 1.1 通用信息查询 1.2 工作空间管理 1.3 管理指令和函数 1.4 搜索路径管理 1.5 指令窗控制 1.6 操作系统指令 2、运算符和特殊运算符 2.1 算术运算符 2.2 关系运算符 2.3 逻辑操作 2.4 特殊运算符 3、编程语言结构 3.1 控制语句 3.2 计算运行 3.3 脚本文件、函数及变量 3.4 参数处理 3.5 信息显示 3.6 交互式输入 4、基本矩阵函数和操作 4.1 基本矩阵 4.2 矩阵基本信息 4.3 矩阵操作 4.4 特殊变量和常量 4.5 特殊矩阵 5、基本数学函数 5.1 三角函数 5.2 指数函数 5.3 复数函数 5.4 取整和求余函数 6、坐标变换、向量运算等特殊函数 7、矩阵函数和数值线性代数 7.1 矩阵分析 7.2 线性方程 7.3 特性值与奇异值 7.4 矩阵函数 7.5 因式分解 8、数据分析和傅立叶变换 8.1 基本运算 8.2 有限差分 8.3 相关 8.4 滤波卷积 9、插值与多项式函数 9.1 数据插值 9.2 样条插值 9.3 多项式 10、数值泛函函数和ODE 解算器 10.1 优化和寻根 10.2 优化选项处理 10.3 数值积分 10.4 绘图 10.5 差微分函数解算器 11、二维图形函数 11.1 基本平面图形 11.2 轴控制 11.3 图形注释 12、三维图形函数 12.1 基本三维图形 12.2 色彩控制 12.3 色图 13、文件输入/输出 14、示例函数 15、符号工具包 15.1 微积分 15.2 线性代数 15.3 化简 15.4 方程求解 15.5 变量精度 15.6 积分变换 15.7 基本操作 15.8 图形应用 15.9 Maple 接口 16、图象处理工具箱 16.1 图象显示 16.2 图象文件数据输入 16.3 图象的几何操作 16.4 象值与统计 16.5 图像分析 16.6 图像增强 16.7 线性滤波 16.8 二维线性滤波器的设计 16.9 图像变换 16.10 邻域及块处理 16.11 二值图像操作 16.12 图像的区域处理 16.13 色图操作 16.14 色彩空间变换 16.15 图像类型判断及其转换 16.16 图像处理演示函数

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱斯维尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值