MATLAB学习一

桌面简介、工具栏略。

命令行窗口

在一条语句后加";",则执行完毕不会直接显示结果
"..."可以用来续行
!dir命令显示当前文件夹的内容

iskeyword命令查看关键字
exist var可以判断var是否在工作区

常用快捷键:

工作区窗口、编辑器窗口、图形窗口略。 

帮助浏览器、help函数、doc函数

在命令行窗口:

doc 可以打开本版本帮助文档

help fun可查看fun简易帮助

doc fun可打开fun的帮助文档

注释

单行:%

多行:块注释运算符%{和%}。%{和%}运算符必须单独显示在帮助文本块前后紧邻的行上。 

常数

eps浮点相对精度
flintmax浮点格式的最大连续整数
Inf创建所有值均为 Inf 的数组
intmax指定整数类型的最大值
intmin指定整数类型的最小值
NaN创建所有值均为 NaN 的数组
realmax最大的正浮点数
realmin

最小的标准正浮点数

i虚数单位
j虚数单位
pi圆的周长与其直径的比率
ans最近计算的答案
computer有关运行 MATLAB 的计算机的信息

变量

默认为矩阵、双精度浮点数。

有效名称

有效的变量名称以字母开头,后跟字母、数字或下划线,区分大小写。变量名称的最大长度为namelengthmax命令返回的值(63)。

向量

一行或者一列

1.直接构造法

元素之间用','或者'空格'分隔

>> A = [1 2 3]

A =

     1     2     3

2.增量法

[start:step:end]
>> A = [1:3:9]

A =

     1     4     7

3.linspace/logspace函数创建 

linspace生成线性间距向量
logspace生成对数间距向量

矩阵

二维:m行n列

行列式:n行n列

创建矩阵

1.简单方法

行内同向量,行与行之间";"分隔

>> A = [1 2 3;4 5 6]

A =

     1     2     3
     4     5     6

2.meshgrid函数创建 

meshgrid二维和三维网格

3.特殊矩阵创建

zeros创建全零数组
ones创建全部为 1 的数组
eye单位矩阵
diag创建对角矩阵或获取矩阵的对角元素
blkdiag分块对角矩阵
rand均匀分布的随机数
randn正态分布的随机数
randperm随机置换
magic幻方矩阵
compan伴随矩阵
gallery测试矩阵
hadamardHadamard 矩阵
hankelHankel 矩阵
hilbHilbert 矩阵
invhilbHilbert 矩阵的逆矩阵
magic幻方矩阵
pascal帕斯卡矩阵
rosser典型对称特征值测试问题
toeplitz托普利茨矩阵
vanderVandermonde 矩阵
wilkinsonWilkinson 的特征值测试矩阵

聚合矩阵(串联矩阵) 

>> A = zeros(1,4);
>> B = ones(1,4);
>> C = [A B]  %水平

C =

     0     0     0     0     1     1     1     1

>> C = [A;B]  %竖直

C =

     0     0     0     0
     1     1     1     1

要串联两个矩阵,它们的大小必须兼容。也就是说,水平串联矩阵时,它们的行数必须相同。垂直串联矩阵时,它们的列数必须相同。 

特殊函数:

cat串联数组。
horzcat水平串联数组
vertcat垂直串联数组
repelem重复数组元素副本
repmat重复数组副本
blkdiag分块对角矩阵

组合不同类型的数据

用一个高精度的矩阵和一个低精度的矩阵构造新矩阵时,新矩阵是低精度的。

>> x = [int8(4.5) int16(-2.8) pi 45/6];
>> class(x)

ans =

    'int8'
>> x = ['a' 'b' 'c' 55 66 99];
>> class(x)

ans =

    'char'

空数组

MATLAB 中的空数组是指至少有一个维度的长度等于零的数组。空数组可用于以编程方式表示“无”的概念。

使用isempty函数检查。

>> A = [];
>> isempty(A)

ans =

  logical

   1
>> A = [1 2 3];
>> ad = find(A<0)

ad =

  空的 1×0 double 行向量

描述矩阵

length最大数组维度的长度
size数组大小
ndims数组维度数目
numel数组元素的数目
isscalar确定输入是否为标量
issorted确定数组是否已排序
issortedrows确定矩阵或表的行是否已排序
isvector确定输入是否为向量
ismatrix确定输入是否为矩阵
isrow确定输入是否为行向量
iscolumn确定输入是否为列向量
isempty确定数组是否为空

排序/翻转/转置/重塑

sort对数组元素排序
sortrows对矩阵行或表行进行排序
flip翻转元素顺序
fliplr将数组从左向右翻转
flipud将数组从上向下翻转
rot90将数组旋转 90 度
transpose转置向量或矩阵
ctranspose复共轭转置
permute置换数组维度
ipermute逆置换数组维度。
circshift循环平移数组
shiftdim移动数组维度
reshape重构数组
squeeze删除长度为 1 的维度

获取元素

1.使用编号索引

2.线性索引

访问数组元素的另一种方法是只使用单个索引,而不管数组的大小或维度如何。此方法称为线性索引

按列编号。

>> A=[1 2 3;4 5 6;7 8 9]

A =

     1     2     3
     4     5     6
     7     8     9

>> A(:)

ans =

     1
     4
     7
     2
     5
     8
     3
     6
     9

3.使用冒号

4.使用end关键字

end终止代码块或指示最大数组索引

多维数组

1.用索引生成多维数组

2.使用MATLAB函数创建

3.使用cat函数

数据类型

format设置命令行窗口输出显示格式
>> pi

ans =

    3.1416

>> format long
>> pi

ans =

   3.141592653589793

>> format short
>> pi

ans =

    3.1416

字符串

创建字符串

单引号'创建字符数组

双引号"创建字符串

>> ch = 'Hello,World!'

ch =

    'Hello,World!'

>> str = "Hello,World!"

str = 

    "Hello,World!"

>> whos
  Name      Size            Bytes  Class     Attributes

  ch        1x12               24  char                
  str       1x1               166  string   
string字符串数组
strings创建不包含字符的字符串数组
char字符数组
blanks创建空白字符数组
newline创建换行符
cellstr转换为字符向量元胞数组

比较字符串

关系运算符==,!=,<,>,<=,>=

strcmp比较字符串
strcmpi比较字符串(不区分大小写)
strncmp比较字符串的前 n 个字符(区分大小写)
strncmpi比较字符串的前 n 个字符(不区分大小写)

聚合字符串

[ ]

join合并字符串
strcat水平串联字符串
append合并字符串
sprintf将数据格式化为字符串或字符向量
compose将数据格式化为多个字符串

搜索和替换

strfind在其他字符串中查找字符串
contains确定字符串中是否有模式
replace查找并替换一个或多个子字符串
replaceBetween替换起点和终点之间的子字符串
strrep查找并替换子字符串
strtok所选的字符串部分
count计算字符串中模式的出现次数
endsWith确定字符串是否以模式结尾
startsWith确定字符串是否以模式开头
sscanf从字符串读取格式化数据

确定类型和属性

ischar确定输入是否为字符数组
iscellstr确定输入是否为字符向量元胞数组
isstring确定输入是否为字符串数组
isStringScalar确定输入是否为包含一个元素的字符串数组
strlength字符串长度
isstrprop确定输入字符串中的哪些字符属于指定类别
isletter确定哪些字符为字母
isspace确定哪些字符是空白字符

编辑字符串

erase删除字符串内的子字符串
eraseBetween删除起点和终点之间的子字符串
extractAfter提取指定位置后的子字符串
extractBefore提取指定位置前的子字符串
extractBetween提取起点和终点之间的子字符串
insertAfter在指定的子字符串后插入字符串
insertBefore在指定的子字符串前插入字符串
pad为字符串添加前导或尾随字符
strip删除字符串中的前导和尾随字符
lower将字符串转换为小写
upper将字符串转换为大写
reverse反转字符串中的字符顺序
deblank删除字符串末尾的尾随空白
strtrim从字符串中删除前导和尾随空白
strjust对齐字符串

日期和时间数组

创建日期和时间数组 

提取和拆分

转换类型更改显示 

确定类型、时区偏移量,移动日期或计算日期差 

测量和探查代码

timeit测量运行函数所需的时间
tic启动秒表计时器
toc从秒表读取已用时间
cputime已用的 CPU 时间
profile探查函数的执行时间
benchMATLAB 基准

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

岳小诺

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

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

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

打赏作者

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

抵扣说明:

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

余额充值