语言参考手册
double(x) | 表示将参数y转为双精度浮点类型,如果y是字符,将返回字符的ASCII码值。x=‘a’; y=1; z=1.0; double(x)=97; double(y)=1; double(z)=1.100000000000000; |
B=A(~isnan(A)) | 去掉向量A中的NaN元素 |
sort(A) sort(A, 'descend') [m, n]=sort(A) |
将A中的元素从小到大排序; 从大到小排序; 从小到大排序,而且排序后的下表存在n中; |
sort([a,b]) | 将向量a和b中的元素混在一起,然后按照从小到大的顺序排列 |
q=p(p~=0) | 去掉数组p中为0的元素 |
x(:, 2)=[] x(2, :)=[] | 去掉矩阵x中第二列;去掉矩阵x中第二行; |
sum(A, 1) sum(A, 2) sum(A) | A中的每一列加和,得到一个行向量;A中的每一行加和,得到一个列向量;和sum(A,1)相同 |
length(x) | 一维数组x中元素的个数;如果x是矩阵,那么返回的数值是行数和列数中的最大值 |
C=max(A) C=max(max(A)) C=max(A, B) |
如果A是向量,C就是A中的最大值; 如果A是一个矩阵,max(A)将A的每一列作为一个向量,返回一行向量包含了每一列的最大元素; C是矩阵A的最大值; 返回一个和A和B大小相同的数组,其中的元素是A或B中取出的最大元素。 |
size(A) | 如果A是矩阵,那么得到两个数字,对应着矩阵的尺寸 |
fprintf | 将数据写入文本 |
disp(A) | 用来展示变量的内容,可以是字符串,元胞,矩阵,结构体 |
round(A) | 对A中的元素四舍五入 |
… | 一行太长了,换个行,但是不断句 |
zeros(m, n); zeros(m); zeros(m, n, k, ...); |
生成一个m*n的零矩阵 生成一个m*m的零矩阵(即m阶方阵) 生成一个m*n*k*...的零矩阵 |
A=rand rand(1,8) |
得到一个随机数(0到1之间)赋值给A; 1*8的矩阵,每一个元素都是0到1的随机数 |
randn (m,n) | 生成m行n列标准正态分布的伪随机数(均值为0,方差为1) |
randi(iMax) randi(iMax,m,n) |
在 [1,iMax] 生成均匀分布的伪随机整数; 在 [1,iMax] 上生成 m X n 型随机矩阵 |
fliplr(a) | 将a的排序颠倒 |
ceil(m/n) | m除以n,结果取整数 |
abs(x) | 对x取绝对值 |
linspace(x1,x2) linspace(x1,x2,n) |
输出一个行向量,其中包含100个均匀分布的元素,比如linspace(1, 100)表示1:1:100; 输出一个行向量,其中包含n个均匀分布的元素,例如 linspace(1, 100, 100)等于前面的linspace(1, 100) |
grid on | 给函数图像增加网格 |
drawnow | 将还未处理完的图像实时的显示出来,可以理解为立即执行的plot,变化的plot。当代码执行时间长,需要反复执行plot时,Matlab程序不会马上把图像画到figure上,这时,要想实时看到图像的每一步变化情况,需要使用这个语句。 |
pause pause(a) |
表示运行到此处,程序暂停,按任意键,继续执行; 表示暂停a秒后继续执行,避免程序崩溃 |
subplot(a,b,c) |
subplot(a,b,c)中a代表所画图形的行数 b代表所画图形的列数 c代表所画图形的序号
|
axis([a,b,c,d]) | 相当于xlim([a, b]),ylim([c d]) |
grid on | 画网格 |
floor(t) | 取不大于t的最大整数 |
[1 2 3;4 5 6] | 一个2*3的矩阵[a;b],a和b可以看作行向量 |
gcf gca gco |
返回当前Figure 对象的句柄值; 返回当前axes 对象的句柄值; 返回当前鼠标单击的句柄值。 |
图像处理
- img = imread("untitled.jpg")提取m*n*3的数据,然后img(:,:,1)显示的是就是R这个对应矩阵,imshow(img)即可还原,imshow(img(:,:,1))转化为灰度图。