将这几天设计人脸识别系统中用到的matlab知识整理了一下:
nargin函数
nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。 例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为0,如果两个变量都没有输入,则默认两者均为0。 function y=test1(a,b) if nargin==0 a=0;b=0; elseif nargin==1 b=0; end y=a+b;
strcat函数
a = 'hello '
b = 'goodbye'
strcat(a, b)
ans =
hellogoodbye
matlab如何得到矩阵行列数
x=[矩阵数据];
[m,n]=size(x);
m %输出x有多少行
n %输出x有多少列
imread函数
如果图片是灰度图的话,则产生二维矩阵行列确定位置值是灰度值范围是0到L-1
如果是彩色图的话,三维矩阵,存储的是每个像素的r,g,b,的值
Imread读取图片后是112*92的二维矩阵。
在matlab数组A中A(1:n)的意思
A的第一项到第n项
比如A=[1 3 5 7]
A(1:3)=[1 3 5]
matlab中一个空矩阵,如何把输出的数据放到空矩阵里面
Data = []; 这个就是申明一个名字叫Data的空矩阵
Data = [Data;a]; 这个是把a作为一行加到Data中
至于你想怎么把数据放进去,要看你的数据是怎样的。
矩阵操作有函数,Data = [Data;a];这种默认的好像是竖着一行一行的往后加.想一行一行的加,或者一个矩阵一个矩阵加,都是有函数可以用的。~
sort函数
d=[1;6;4;2;9]
d = 1
6
4
2
9
>> [d2 index]=sort(d)
d2 =
1
2
4
6
9
index =
1
4
3
2
5
matlab中如何让代码自动格式化
ctrl+all全选代码,然后在ctrl+i,这样代码就更为整齐,结构更为清晰
floor函数
Description
B = floor(A) rounds the elements of A to the nearest integers less than or equal to A. For complex A, the imaginary and real parts are rounded
independently.
a = [-1.9, -0.2, 3.4, 5.6, 7.0, 2.4+3.6i]
a =
Columns 1 through 4
-1.9000 -0.2000 3.4000 5.6000
Columns 5 through 6
7.0000 2.4000 + 3.6000i
floor(a)
ans =
Columns 1 through 4
-2.0000 -1.0000 3.0000 5.0000
Columns 5 through 6
7.0000 2.0000 + 3.0000i
在MATLAB中j~=k是什么意思
j~=k
这是一个逻辑表达式,j不等于k,如果j不等于k,返回值为1,否则为0
MATLAB中axes怎么用啊?
像h1=axes('pos',[0.2,0.2,0.6,0.4]),什么意思?
就是设置axes的位置,左下宽高,单位是和整个figure宽高的比例
四个数依次是坐标左下角起点坐标和长度,宽度。
可以看看这个例子:
x = 0 : 0.01 : 2 * pi;
y1 = sin(x); y2 = cos(x); y3 = sin(x) + cos(x);
plot(x, y1)
axes('position', [0.55 0.65 0.3 0.2])
plot(x, y2)
xlabel('y2 = cos(x)');
axes('position', [0.15 0.15 0.3 0.2])
plot(x, y3)
xlabel(' y3 = sin(x) + cos(x)');
建立坐标轴对象使用axes函数,其调用格式为:
句柄变量=axes(属性名1,属性值1,属性名2,属性值2,…)
调用axes函数用指定的属性在当前图形窗口创建坐标轴,并将其句柄赋给左边的句柄变量。也可以使用axes函数按MATLAB缺省的属性值在当前图形窗口创建坐标轴:
axes 或 句柄变量= axes
用axes 函数建立坐标轴之后,还可以调用axes函数将之设定为当前坐标轴,且坐标轴所在的图形窗口自动成为当前图形窗口:
axes(坐标轴句柄)
请问GUI实现在新的弹出窗口中显示某个数值
在GUI界面按某个按钮后,在新的弹出窗口中显示某个数值
比如计算出a=2
让它在弹出窗口中显示,怎么实现?
msgbox()能实现么?
a=2;
msgbox([“a=”,num2str(a)]);
Display命令窗口显示
》》display(['PCA+Adaboost对于测试集200个人脸样本的识别率为', 1, '%'])
PCA+Adaboost对于测试集200个人脸样本的识别率为%
matlab中使用msgbox做弹出框
aa = ['文字比较多';'想分成几行']
msgbox(aa,'Title')
标准差:std(A)
方差:var(A)