Matlab 基础

愿你三冬暖,愿你春不寒;
愿你天黑有灯,下雨有伞;
愿你一路上,有良人相伴。
愿时光能缓,愿故人不散;
愿你惦记的人能和你道晚安,
愿你独闯的日子里不觉得孤单。
愿你余生所遇之人,都是好人。

前言

这学期学的东西都需要用到Matlab,只能强行学一波了。

基本使用方法

Matlab不仅仅功能强大,而且非常容易应用于数值运算。

数据类型

常量常量功能常量常量功能
ans用作结果的默认变量名nargin函数的输入参数的个数
beep使计算机发出“嘟嘟”的声音nargout函数的输出参数的个数
pi圆周率varagin可变的函数输入参数的个数
eps浮点数相对误差,用于判断是否为0的误差限,大约为 2.2204 e − 16 2.2204e-16 2.2204e16varagout可变函数的输出函数的个数
inf无穷大,Matlab7.0中最大数为 2 1024 2^{1024} 21024,超过则为无穷大realmin最小的正浮点数
NaN或者nan不定数0/0realmax最大的正浮点数
i 或者 j复数单位bitmax最大的正整数

数据的显示格式系统默认为短格式,也可以定义为长格式、银行格式:

>> R=6378.137;
>> S=4*pi*R^2

S =

   5.1121e+08
% 短格式,等价于format short, S
>> format long, S

S =

     5.112078933958109e+08
% 长格式
>> format bank, S

S =

     511207893.40
% 银行格式  

变量名

  • 变量名称必须是不含空格的单个词,组成变量的字符长度不超过31个;
  • 变量名有英语字母、数字和下划线组成,以英语字母开头变量名中不允许使用标点符号,区分大小写英语字母。
  • 全局变量需要放在主程序的首行,格式为该变量钱添加关键字“global”,并尽量采用大写英文字母。

变量管理

变量功能
who查询Matlab的内存变量。
whos查询全部变量的详细情况。
clear清除内存中的全部变量。
save sa X将X变量保存到sa.mat文件。
load sa X调用sa.mat文件中变量X。
what按照扩展名分类列出当前目录上的文件, 如what*.m列出当前目录中所有m文件。
which列出指定文件所在的目录,如which test.m显示test.m所在的路径。

运算符及其优先级

标点符号定义标点符号定义
感叹号!调用操作系统运算百分号%注释语句的标识。
优先级运算符
1.小括号(()
2.转置(.')、共轭转置()、乘方(.^)、矩阵乘方(^
3.一元加法(+)、一元减法(-)、取反(~
4.乘法(.*)、矩阵乘法(*)、右除(./)、 左除(.\)、 矩阵右除(/)、矩阵左除(\
5.加法(+)、减法(-)、逻辑非(~
6.冒号运算符(:
7.小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)、不等于(~=
8.逻辑与(&
9.逻辑或(|

说明:

  • 在参与比较的量是两个维数相同的矩阵的时候,比较的元素按照标量关系元素规则逐个按照标量关系元素规则逐个比较,并给出一个维数与原矩阵相同的矩阵,由0/1组成。
  • 当参与比较的一个是标量,另一个为矩阵的时候,则把标量与矩阵的每一个元素按标量关系元素规则逐个比较,并给出一个维数与原矩阵相同的矩阵,由0/1组成。

常见操作命令

命令该命令的功能命令该命令的功能
cd显示或者改变工作目录hold图形保持命令
clc清除工作窗load加载指定文件的变量
clear清除内存变量pack整理内存碎片
clf清除图形窗口path显示搜索目录
diary日志文件命令quit退出Matlab
dir显示当前目录下的文件save保存内存变量到指定文件
disp显示变量或者文字的内容type显示文件内容
echo工作窗显示开关

快捷键

键盘操作和快捷键该操作的功能键盘操作和快捷键该操作的功能
↑(Ctrl+p)调用上一行Home(Ctrl+a)光标置于当前行开头
↓(Ctrl+n)调用下一行End(Ctrl+e)光标置于当前行结尾
← (Ctrl+b)光标左移一个字符Esc(Ctrl+u)清除当前输入行
→(Ctrl+f)光标右移一个字符Del(Ctrl+d)删除光标处的字符
Ctrl+←光标左移一个单词Backspace(Ctrl+h)删除光标前字符
Ctrl+→光标右移一个单词Alt+Backspace恢复上一次删除

常见数学函数

函数名称函数名称
sin(x)正弦函数asin(x)反正弦函数
cos(x)余弦函数acos(x)反余弦函数
tan(x)正切函数atan(x)反正切函数
atanh(x)反双曲正切函数tanh(x)双曲正切函数
abs(x)绝对值max(x)最大值
min(x)最小值median(x)求数组的中间数
sum(x)元素的总和prod(x)数组元素求积
sort(x)数组按单增排序length(x)数组的长度
sqrt(x)开平方exp(x)以e为底的指数
log(x)自然对数log10以10为底的对数
sign(x)符号函数fix(x)取整
mod(x, y)求x/y的余数inline构造在线函数
round(x)四舍五入gcd(x, y)最大公因数
floor(x)向负无穷取整ceil(x)向正无穷取整

向量的输入

  1. 直接用[]括起来即可,如[1, 2, 3, 4, 5]
  2. 等差向量的表达,
    • x = a:inc:b,表示生成a:inc:b,分别表示生成数组的第一个a和最后一个元素binc是步长。
    • x = linspace(a, b, n)ab分别是生成数组的第一个和最后一个元素,n为分隔数。
  3. x(i)表示向量第i个元素,x(a:b:c)表示访问数组x的第a个元素开始,以步长b到第c个元素(但不超过c),b可以是负数,b缺省时为1,即x(i:j)表示向量第i个元素到第j个元素。如果访问多个不连续的元素,可以使用中括号进行操作。例如,如果需要访问x1,3,5,6元素,可以使用x([1,3,5,6])
  4. 数组运算符由矩阵运算符前面增加一点“.”表示,如“.*./.^”等。如果数组X和Y具有相同的维数,则数组的乘法运算X.*Y表示X,Y中单个元素对应的乘积,除法类似。

多项式及其运算

Matlab中采用行向量的表示多项式,行向量内存放按降幂排列的多项式系数 P ( x ) = a 0 x n + a 1 x n − 1 + . . . + a n − 1 x + a n P(x)=a_0x^n+a_1x^{n-1}+...+a_{n-1}x+a_n P(x)=a0xn+a1xn1+...+an1x+an的系数行向量为 P = [ a 0   a 1   . . .   a n − 1   a n ] P=[a_0 \ a_1 \ ... \ a_{n-1} \ a_n] P=[a0 a1 ... an1 an]

命令该命令的功能命令该命令的功能
conv多项式乘法(卷积)polyval多项式求值
deconv多项式除法(解卷)polyvalm矩阵多项式求值
poly由根求多项式residue分解多项式的部分分解式展开
polyder多项式求导roots多项式求根
polyfit多项式曲线拟合

常用矩阵生成函数

函数函数的功能函数函数的功能
zeron(m,n)元素全为0的m行n列矩阵diag()对角函数
ones(m,n)元素全为1的m行n列矩阵triu()上三角矩阵
rand(m,n)m行n列均匀分布的随机矩阵tril()下三角矩阵
randn(m,n)m行n列正态分布随机矩阵size()返回指定矩阵的行数和列数
magic(n)n阶魔方阵eye(n)指定行数和列数的单位矩阵
  • 一般情况下,X=A\B表示A*X=B的解,而X=A/B表示X*A=B的解,从Matlab6.0开始,矩阵的左除和右除的区别在逐渐减少。

矩阵的操作

说明:Matlab的index是从1开始的。

操作说明
A(1:3,:)取第1行到第3行的所有列(:)元素。
A(1:3)取第1行到第3行的第1列的元素,(不写的话,默认index为1)。
A(1:3, [1, 2, 3, 4, 5])取第1行到第3行的列的index为1,2,3,4,5的元素。

线性代数

函数函数的功能函数函数的功能
^矩阵的乘方运算sqrtm矩阵的开方运算
expm矩阵的指数运算logm矩阵的对数运算
cond求矩阵的条件数condest求矩阵的Ⅰ范式估计
condeig求矩阵和特征值有关的条件数det求矩阵的行列式
eig or eigs求矩阵的特征值和特征向量eig特征值矩阵
funm矩阵的任意函数gsvd广义奇异值
inv矩阵求逆norm or normest求矩阵向量范数
null右0空间pinv伪逆矩阵
poly求矩阵的特征多项式polyvalm求矩阵多项式的值
rank求矩阵的秩trace求矩阵的逆

常见符号运算函数

函数函数的功能函数函数的功能
symsize求符号矩阵维数inverse逆矩阵
charploy特征多项式transpose矩阵转置
determ符号矩阵行列式的值jordan约当标准型
eigensys特征值和特征矩阵simple符号矩阵简化

概率统计

如果 P ( X ≤ x ) = α P(X \leq x)=\alpha P(Xx)=α,则称 x x x X X X α \alpha α分位数。

分布累加分布逆函数注释
二项分布 B ( n , p ) B(n, p) B(n,p) b i n o i n v ( a , n , p ) binoinv(a, n, p) binoinv(a,n,p)参数为n,p的二项分布 α \alpha α分位数
泊松分布 P ( b ) P(b) P(b) p o i s s i n v ( a , b ) poissinv(a, b) poissinv(a,b)参数为b的泊松分布 α \alpha α分位数
负二项分布 N B ( r , p ) NB(r, p) NB(r,p) n b i n i v ( a , r , p ) nbiniv(a, r, p) nbiniv(a,r,p)参数r,p的负二项分布 α \alpha α分位数
超几何分布 h ( n , N , M ) h(n,N,M) h(n,N,M) h y g e i n v ( a , n , M , N ) hygeinv(a, n,M,N) hygeinv(a,n,M,N)参数为n,M,N的超几何分布 α \alpha α分位数
均匀分布 u n i d i n v , u n i f i n v unidinv, unifinv unidinv,unifinv离散与连续均匀分布分位数
正态分布 N ( A , B ) N(A, B) N(A,B) n o r m i n v ( a , A , B ) norminv(a, A, B) norminv(a,A,B)参数为A,B的正态分布 α \alpha α分位数
指数分布 E x p ( b ) Exp(b) Exp(b) e x p i n v ( a , b ) expinv(a,b) expinv(a,b)参数为b的指数分布 α \alpha α分位数
自由度为n的卡方分布 c h i 2 i n v ( a , n ) chi2inv(a, n) chi2inv(a,n)参数为n的卡方分布 α \alpha α分位数
f f f分布 F ( m , n ) F(m,n) F(m,n) f i n v ( a , m , n ) finv(a,m,n) finv(a,m,n)参数为m,n的 f f f分布 α \alpha α分位数
学生氏 t t t分布 t ( n ) t(n) t(n) t i n v ( a , n ) tinv(a, n) tinv(a,n)参数为n的 t t t分布 α \alpha α分位数
  • 如果将inv换为pdf,则为相应密度函数命令;
  • 如果将inv换为cdf,则为相应分布函数命令;
  • 如果将inv换为rnd,则为相应随机数命令;
  • 如果将inv换为stat,则为相应分布的数学期望和方差的命令。
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值