由于工作需要,开始研究一下MATLAB图像处理相关的知识,图像处理只是matlab应用领域中小小的一部分而已。以前只是听说过MATLAB很强大,但没有系统的学过,如今开始学时,发现matlab确实很不错、很高大上。操作起来很方便,特别是编写程序时,比C语言更简洁。
很多人都是大学里就学过matlab的,由于是半路出家,所以知识不是很全面,直接拿了一本冈萨雷斯的MATLAB版的书就开始看,下面做一些简单的小记录。
1. matlab命令基础:
基础命令:
clc——清除窗口
clear——清除之前赋值过的变量disp——打印信息,相当于echo
celldisp——打印元胞数组内容
who——简单的显示当前已有变量
whos——显示所有变量及详细内容 whos也可以指定显示某个变量
tan/sin/cos/log ——各种数学运算
...——用来续行
定义数组——x=1:100
定义矩阵——A=[1,1,2] A=[1 2 2]; 加分号表示不显示命令执行结果 定义空矩阵B=[]
矩阵转置——A=[1 3 5 7] B=A' 或 B=A.'可以把行向量转换为列向量
取元素——A(1)取A中第一个元素 A(1:5)取A中第一到五的元素
A(1:end)取第1到最后的元素,产生一个行向量; A(:)产生一个列向量
A(1:2:end)表示步长为2 步长也可以为负值 如A(end:-2:1)
linspace——x=linspace(a,b,n)产生含有n个元素的行向量x n个元素线性隔开 并包含a和b
:的活用——A=[1 2 3; 4 5 6; 7 8 9] A(:,3)取整个第三列 A(1:2, 1:3) 取两行三列
+
-
*——* 表示矩阵与矩阵相乘,满足线性代数上学的矩阵与矩阵的乘法,
.*表示矩阵中元素与元素相乘,这两个矩阵的维数必需相同。/和./也一样的道理
length/size/numel的用法:
length(x) ——返回x的长度 如果x是单个变量 返回1 如果x是矩阵 返回该矩阵行数与列数中的较大者。
size(x) ——当x是单个变量时,返回[1 1] 当x是矩阵是 返回矩阵的行数与列数 可以这样来接受[m n]=size(x)
numel(x) ——当x是单个变量时 返回1, 当x是矩阵时,返回矩阵元素总个数。
/format compact——以紧凑方式显示
format loose ——以松散方式显示
mean函数:
>>如果有这样一个矩阵:A = [1 2 3; 3 3 6; 4 6 8; 4 7 7];
用mean(A)(默认dim=1)就会求每一列的均值
ans =