Matlab-基础

语言参考手册

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))转化为灰度图。
  •  

Leave a Reply