matlab笔记

数组

  • 分隔列用空格逗号,分隔行用分号

  • 数组加常数是其中每个元素分别加常数(元素级)。

  • 用单引号转置矩阵,inv()表示逆矩阵。

  • 乘法符号 * 是标准行与列之间的内积。

  • format 命令

    可以显示更多小数位数:

    format long
    p = a*inv(a)
    

    将显示内容重置为更短格式:

    format short
    p=a*inv(a)
    

    format 仅影响数字显示,而不影响 MATLAB对数字的计算或保存方式。

  • 实现元素级乘法,用".*",元素级幂运算“.^”,元素级除法“./”,元素级左除“.\”。

    矩阵自乘 A.*A

  • 水平串联:A=[a,a]

    使用逗号将彼此相邻的数组串联起来称为水平串联。每个数组必须具有相同的行数。

  • 垂直串联:A=[a;a]

    同样,如果各数组具有相同的列数,则可以使用分号垂直串联。

查询引用

  • 引用数组中特定元素:数组名(行号,列号)

  • 可以在赋值语句左侧指定当前数组外部( 行或列超标)的元素。数组大小会增大以便容纳新元素。如:A(4,5) = 17

  • 冒号运算符:

    1. start:end

    B(1:3,3)表示列出第二列的前三行元素。

    B(3,:)表示列出第三行的所有列元素。

    1. start:step:end

    创建等距的向量组,如:0:10:100表示从0到100,间距为10,step默认为1。

多维数组

  • 创建多维数组的一种方法是调用具有多个参数的 zerosonesrand。第k个矩阵的第(i,j)个元素表示法:A (i,j,k)。

  • cell创建空元胞数组,{}创建非空。用数组名{下标号}检索。

  • 单引号输入文本,如s='hello'。double(s)将其表示每个字符的ASCII码,char(s)是其逆转换。

  • 创建结构体:

    S.name = 'Ed Plum';
    S.score = 83;
    S.grade = 'B+'

    可用S.xxx检索。

  • 不需要变量声明,遇新则创,遇旧则改。

循环及条件语句

if, elseif, else 条件为 true 时执行语句
for 用来重复指定次数的 for 循环
while 条件为 true 时重复执行的 while 循环
break 终止执行 for 或 while 循环
continue 将控制权传递给 for 或 while 循环的下一迭代
end 终止代码块或指示最大数组索引
return 将控制权返回给调用函数

图像

读取

imread

其返回的数据类型取决于其读取的image类型。

写入

imwrite

mImg=imread('图像地址');

显示

imshow

figure;

imshow(mImg);

转换为灰度图

mImg=rgb2gray(mImg);

类型转换

从0-255的无符号8位整数转换为0-1的双精度数:

mImg = im2double(mImg);

实现图像矩阵的归一化操作。使矩阵的每个元素的值都在0和1之间。

mImg = mat2gray(mImg);

数值类型

默认情况下,MATLAB以双精度浮点形式存储所有数值。

double 双精度数组
single 单精度数组
int8 8 位有符号整数数组
int16 16 位有符号整数数组
int32 32 位有符号整数数组
int64 64 位有符号整数数组
uint8 8 位无符号整数数组
uint16 16 位无符号整数数组
uint32 32 位无符号整数数组
uint64 64 位无符号整数数组
posted @ 2020-12-02 12:30  鱼大鹿  阅读(165)  评论(0编辑  收藏  举报