MATLAB实验代码汇总

MATLAB实验代码汇总
MATLAB实验代码汇总

2、 3vars global help My_exp sin X+Y _input E-4 Abcd AB_C_ ;

3、 A = [ 1 2 3;4 5 6;7 8 9]

y = [12 + 2 * (7 -4)]/(3^2)

4、 A = 15;

B = 20;

C = A + B c = a + b

A = [1 2 3;4 5 6;7 8 9];

B = [9 8 7;6 5 4;3 2 1];

A *

B A .* B

A =10;

B =20;

C =A/B

D =A\B

a = [1 -2 3;4 5 -4;5 -6 7]

A = [1,2;3,4] + i * [5,6;7,8]

A = [1,2;3,4] + i[5,6;7,8]

a = [1 2 3;3 4 2;5 2 3];

a^2 a.^2

clear

X = [1 2;8 9;3 6];

X( : )

A = [ 1 2 3 ];

B = [ 4 5 6 ];

C = 3. ^A

D = A. ^B

5、t = -1:0.01:1;

y = (sqrt(3)/2).*exp((-4).*t).*sin(t.*4*sqrt(3)+(pi/3))

1、clc

clear

A = [12 34 -4;34 7 87;3 65 7];

B = [1 3 -1;2 0 3;3 -2 7];

a=A+6*B,I=eye(3),b=A^2-B+I,c=A*B,d=A.*B,e=A^3,f= A.^3,g=[A,B],h= [(A ([1,3],:));B^2]

2、clc

clear

A = [1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25];

B = [3 0 16 ;17 -6 9;0 23 -4;9 7 0;4 13 11];

C = A * B ,

D = C([3 4 5],[2 3])

3、clc

clear

A = [23 10 -0.778 0; 41 -45 65 5; 32 5 0 32; 6 -9.54 54 3.14];

B = A([1:3],:);

C = A(:,[1:2]);

D = A([2 3 4],[1 2]);

E = B * C;

a= E=10&A<25)

4、clc

clear

%使用函数实现矩阵左旋90°或右旋90°的功能。

A=magic(3), B=rot90(A),C=rot90(A,3) %B为左旋90°,C为右旋90°5、clc

clear

A = [1 2 2 2 2 2 2 2 2 2 2],

B = cumprod(A),%返回向量A的累乘积向量

C = cumsum(B),%返回向量B的累加和向量

S = max(C),%求和

6、clc

clear

A = [1 10 11 16 21 2 9 12 17 22 3 8 13 18 23 4 7 14 19 24 5 6 15 20 25];

B = reshape(A,5,5)

C1 = B(2,[2 3])

C2 = B([2 3 4],4)

C3 = B([4 5],[1 2 3])

实验三

1.

a=reshape(100:999,30,30);

b=rem(a,21) %求余

c=find(b==0)

length(c) %获取向量长度,若输入参数为矩阵或多维数组,则返回各个维尺寸的最大值

2.

ch='FrIeNd123'

d=find(ch>='A'&ch<='Z')

ch(d)=[]

3.%若需要在字符串内容中包含单引号,则在键入字符串内容时,连续键入两个单引号即可

ch='In GB usage quotation marks are usually singel:''fire!'''

5.1

A{1,1}=1;

A{1,2}='Brenden';

A{2,1}=reshape(1:9,3,3);

A{2,2}={12,34,2;54,21,3;4,23,67};

upper(A{1,2}) %将字符串的字符都转变成为大写字符

5.2.1

A{1,1}=1;

A{1,2}='Brenden';

A{2,1}=reshape(1:9,3,3);

A{2,2}={12,34,2;54,21,3;4,23,67};

A(3)=[] %使用圆括号()直接访问元胞数组的元胞,获取的数据类型是一个元胞

5.2.2

A{1,1}=1;

A{1,2}='Brenden';

A{2,1}=reshape(1:9,3,3);

A{2,2}={12,34,2;54,21,3;4,23,67};

A{3}=[] %使用大括号{}直接访问元胞数组的元胞,获取的数据类型是元胞的数据类型

6.

a=rand(4,3) %产生均匀分布的随机数4*3矩阵,数值范围(0,1)

b=mean(a) %返回一个行向量,其第i个元素是矩阵a的第i列的算术平均值

c=median(a) %返回一个行向量,其第i个元素是a的第i列的中值

b1=mean(b)

c1=median(c)

d=max(a)

d1=max(d) %求最大值

e=min(a)

e1=min(e) %求最小值

[i1,j1]=find(a==d1) %最大值元素的位置

[i2,j2]=find(a==e1) %最小值元素的位置

t=sum(a')

x=sum(a)

y=sum(x) %求和

sort(a) %返回一个对A中的每列元素按升序排列的新矩阵

sort(a,2,'descend') %返回一个对A中的每列元素按降序排列的新向量降序

实验四

1.1

s=1;

for n=1:100

s=s*n;

if(s>10^100)

break;

end

end

a=sprintf('n=%d',n);

b=sprintf('%d!=%e>1e100',n,s);

disp(b)

1.2

n=1;

s=1;

while(s<=10^100)

s=s*n;

n=n+1;

end

a=sprintf('n=%d',n-1);

b=sprintf('n!=%e>1e100',s); disp(a)

disp(b)

2

f(1)=1;

f(2)=0;

f(3)=1;

for n=4:50

f(n)=f(n-1)-2*f(n-2)+f(n-3); end

[MAX,x]=max(f)

[MIN,y]=min(f)

SUM=sum(f)

positive=length(find(f>0)) zero=length(find(f==0)) negative=length(find(f<0))

3

a(1)=1;

a(2)=1;

for i=1:10000

a(i+2)=a(i)+a(i+1);

if a(i)>10000

break;

end

end

disp(['i=',num2str(i)])

disp(['a(i)=',num2str(a(i))])

1

x =

1 4 9 16 25 36 49 64 81 100 2

ans =

100

实验五

1.1

score=input('please input grade=');

if(score>100|score<0|rem(score,0.5)~=0)

disp('输入的成绩不合理');

elseif(score>=90&score<=100)

disp('the grade = A !');

elseif(score>=80&score<=89)

disp('the grade = B !');

elseif(score>=70&score<=79)

disp('the grade = C !');

elseif(score>=60&score<=69)

disp('the grade = D !');

else if(score<60)

disp('the grade = E !');

end

end

1.2

score=input('please input grade=');

if (score<=100&score>=0&rem(score,0.5)==0) switch fix(score/10)

case{9,10}

disp('grade=A')

case{8}

disp('grade=A');

case{7}

disp('grade=C');

case{6}

disp('grade=D');

otherwise

disp('grade=E');

end

else

disp('输入的成绩不合理');

end

2

clear

clc

x=fix(50*(rand(1)-rand(1)))

y=fix(50*(rand(1)-rand(1)))

k=input('请输入一个运算符号:','s');

switch(k)

case{'+'}

a=x+y;

case{'-'}

a=x-y;

case{'*'}

a=x*y;

case{'/'}

a=x/y;

otherwise

disp('输入的运算符有误');

break;

end

stc=sprintf('a=x%sy=%d',k,a)

3

clear

clc

x=[];

y=[];

x=input('请输入x的值:');

for k=1:length(x)

if x(k)<0 & x(k)~=-3

y(k)=x(k).^2+x(k)-6;

elseif x(k)>=0&x(k)<10&x(k)~=2&x(k)~=3

y(k)=x(k).^2-5*x(k)+6;

else y(k)=x(k).^2-x(k)-1;

end

end

for i=1:length(y)

disp(['y(',num2str(x(i)),')','=',num2str(y(i))]);; end

实验六:

1.

function varargout=chengji(a,b)

[x,y]=size(a);

[xx,yy]=size(b);

if xx==yy&x==y&x==xx

varargout{1}=a*b;

varargout{2}=a.*b;

else if x==xx&y==yy

varargout{1}=a.*b;

disp('只能作点乘')

varargout{2}=0;

else if x==yy&xx==y

disp('可以做两种矩阵乘')

varargout{1}=a*b;

varargout{2}=b*a;

else if x==yy||xx==y

try

varargout{1}=a*b;

disp('只能做矩阵乘')

varargout{2}=0;

catch

varargout{1}=b*a;

disp('只能做矩阵乘')

varargout{2}=0;

end

else

error('这两个矩阵不能乘')

end

end

end

end

2.

function y=qiuhe(a)

y=[];

[m,n]=size(a);

if m==1

s=0;

for k=1:n

s=s+a(1,k);

end

y=s;

else

for j=1:n

s=0;

for i=1:m

s=s+a(i,j);

end

y(1,j)=s;

end

end

3.

function s=jiecheng(n)

s=1;

if n==0

s=1;

else if n<0

error('n必须大于等于0') else

for i=1:n

s=s*i;

end

end

end

思考题:

function y=temf(a)

if length(a)<2

y=a;

else

y=max(a)-min(a);

end

实验七:

7.1

clear all;

clc;

qname=input('Enter file containing question:','s'); ip=fopen(qname,'rt');

if (ip<0)

disp('could not open input file')

end

op=fopen('qq.txt','wt');

if (op<0)

disp('could not open output file');

end

q=fgetl(ip);

while(ischar(q))

fprintf('%s\n',q)

a=input('Answer Y(yes) or N(not):','s');

while((a~='Y')&&(a~='N'))

a=input('Answer Y(yes) or N(not):','s');

end

fprintf(op,'%s\nAnswer:%s\n',q,a);

q=fgetl(ip);

end

fclose(ip);

fclose(op);

7.2

clear all;

clc;

f=fopen('a.txt');

h=fopen('aa.txt','w');

fwrite(h,upper(char(fread(f,inf,'char'))),'char');

fclose(f);

fclose(h);

7.3

a=1:5;

fid=fopen('fdat.bin','w');

fwrite(fid,a,'int16');

status=fclose(fid);

fid=fopen('fdat.bin','r');

status=fseek(fid,6,'bof');

b=fread(fid,1,'int16');

position=ftell(fid);

status=fseek(fid,-4,'cof');

c=fread(fid,1,'int16');

status=fclose(fid);

b

c

Position

实验八:

1.

clear,clc

x=0:1:4*pi;

y=sin(x).*exp(-x/5);

xi=0:0.3:4*pi;

y1=interp1(x,y,xi,'nearset');

y2=interp1(x,y,xi,'linear');

y3=interp1(x,y,xi,'spline');

y4=interp1(x,y,xi,'cubic');

plot(x,y,'-

m',xi,y1,'*r',xi,y2,'ok',xi,y3,'^b',xi,y4,'+g') legend('原始数据','最近点插值','线性插值','样条插值','立方插值')

title('第一题四种插值方法进行插值','fontname','隶书','fontsize',20)

xlabel('x轴','fontname','隶书','fontsize',16)

ylabel('y轴','fontname','隶书','fontsize',16)

2.

clear,clc

t=[13 15 17 19 20];

sex=[0,1]';

y=[270 290 330 350 380;250 273 310 330 360];

x=[13:20];

sex_2=[0,1]';

y_2=interp2(t,sex,y,x,sex_2)

surf(x,sex_2,y_2)

3.

x=2007:2013;

y=[70 122 144 152 174 196 202];

k=polyfit(x,y,1);

x1=2007:2016;

y1=polyval(k,x1);

plot(x,y,'-ro',x1,y1,'-b*');

title('某乡镇企业2004-2013年的生产利润')

legend('07-13年的利润','07-16年的利润趋势线')

xlabel('年份');

ylabel('利润');

text(2015,polyval(k,2015),'<---2015年利润')

text(2016,polyval(k,2016),'<---2016年利润')

grid on

4.

clear all ;

clc;

load('census.mat');

nian=[1990:2010];

p=polyfit(cdate,pop,2);

z=polyval(p,cdate);

zz=polyval(p,nian);

my=mean(pop);

mz=mean(z);

R=sum((pop-my).*(z-mz))./sqrt(sum((pop-

my).^2).*sum((z-mz).^2))

plot(cdate,pop,'*',cdate,z,'r',nian,zz,'b-')

xlabel('年份(十年)','fontname','隶书','fontsize',16) ylabel('人口(百万)','fontname','隶书','fontsize',16)

title('第四题美国自1790-1990年的总人口','fontname','隶书','fontsize',20)

text(1990,248.73,'<---之后为拟合数据')

legend('原数据','拟合曲线')

实验九

1.1

clear all;

clc;

x1=-2:0.1:2;

y1=exp(x1);

x2=0:0.1:5;

y2=log(x2);

plot(x1,y1,'-.r',x2,y2,'--b');

grid on

title('二维图');

legend('y=exp(x)','y=log(x)');

xlabel('x轴坐标数据');

ylabel('y轴坐标数据');

1.2

clear all;

clc;

x=0:pi/100:pi/2;

y=tan(x);

plot(x,y,'-+r');

title('正切函数');

legend('y=tan(x)');

xlabel('x轴数据');

ylabel('y轴数据');

axis([0,pi/2,0,5]);

1.3

clear all;

clc;

t=-pi:pi/20:pi;

x=t.*cos(3*t);

y=t.*(sin(t)).^2;

plot(x,y);

legend(strvcat('x=tcos(3t)','y=tsin^2t'));

xlabel('x轴数据');

ylabel('y轴数据');

2.

clear all;

clc;

[x,y]=meshgrid(-1.5*pi:1.5*pi);

z=cos(x).*sin(y)./y;

subplot(1,2,1);

surf(x,y,z)

title('曲面图');

xlabel('x轴数据');

ylabel('y轴数据');

zlabel('z轴数据');

subplot(1,2,2);

mesh(x,y,z);

title('线框图');

xlabel('x轴数据');

ylabel('y轴数据');

zlabel('z轴数据');

3.

clear all;

clc;

data=[10 2 3 5;5 8 10 3;9 7 6 1;3 5 7 2;4 7 5 3]; a=sum(rand(5,5));

theta=2*pi*(0:127)/128;

x=cos(theta);

y=sin(theta);

z=abs(fft(ones(10,1),128))';

subplot(2,2,1);

bar(data);grid on;

title('条状图');

subplot(2,2,2);

area(data);grid on;

title('面积图');

subplot(2,2,3);

pie(a);grid on;

title('饼图');

subplot(2,2,4);

stem3(x,y,z);grid on; title('火柴杆图');

MATLAB数学实验练习题

MATLAB数学实验练习题

————————————————————————————————作者:————————————————————————————————日期:

“MATLAB”练习题 要求:抄题、写出操作命令、运行结果,并根据要求,贴上运行图。 1、求230x e x -=的所有根。(先画图后求解)(要求贴图) >> solve('exp(x)-3*x^2',0) > ezplot('exp(x)-3*x^2') >> grid on ans = -2*lambertw(-1/6*3^(1/2)) -2*lambertw(-1,-1/6*3^(1/2)) -2*lambertw(1/6*3^(1/2)) 2、求下列方程的根。 1) 5510x x ++= a=solve('x^5+5*x+1',0);a=vpa(a,6) a = 1.10447+1.05983*i -1.00450+1.06095*i -.199936 -1.00450-1.06095*i 1.10447-1.05983*i 2)1sin 02 x x - =至 少三个根

>> fzero('x*sin(x)-1/2', 3) ans = 2.9726 >> fzero('x*sin(x)-1/2',-3) ans = -2.9726 >> fzero('x*sin(x)-1/2',0) ans = -0.7408 3)2sin cos 0x x x -= 所有根

>> fzero('sin(x)*cos(x)-x^2',0) ans = >> fzero('sin(x)*cos(x)-x^2',0.6) ans = 0.7022 3、求解下列各题: 1)30sin lim x x x x ->- >> sym x; >> limit((x-sin(x))/x^3,x,0) ans = 1/6 2) (10)cos ,x y e x y =求 >> sym x >> diff(exp(x)*cos(x),10) ans = (-32)*exp(x)*sin(x)

基于matlab的人脸识别源代码

function varargout = FR_Processed_histogram(varargin) %这种算法是基于直方图处理的方法 %The histogram of image is calculated and then bin formation is done on the %basis of mean of successive graylevels frequencies. The training is done on odd images of 40 subjects (200 images out of 400 images) %The results of the implemented algorithm is 99.75 (recognition fails on image number 4 of subject 17) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @FR_Processed_histogram_OpeningFcn.,.. 'gui_OutputFcn', @FR_Processed_histogram_OutputFcn.,.. 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

MATLAB实验题答案

1、求以下变量的值,并在MATLAB中验证。( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么?如合法, 结果是多少? >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 5 8 11 >> result4=b*d result4 = 31 22 22 40 49 13 >> result5=[b;c']*d result5 = 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 4 1 5 30 >> result7=a./b result7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000>> result8=a.c Attempt to reference field of non-structure array. >> result9=a.\b result9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 >> result10=a.^2 result10 = 1 4 9 16 25 36 >> result11=2.^a result11 = 2 4 8 16 32 64 3、用MATLAB求解下面的的方程组。 (1) ? ? ? ? ? ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - 1 7 4 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 4 3 2 1 x x x x >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B (2) ? ? ? ? ? ? ? = - + + = - - = - + + = + + 5 6 5 3 3 3 3 2 8 2 1 w z y x w y x w z y x z y x >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 4、已知 ? ? ? ? ? ? ? ? ? ? ? ? - - - - = 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 A

MATLAB实验题答案

result5 = ( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么如合法, 结果是多少 >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 58 11 >> result4=b*d result4 = 31 22 22 40 49 13 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 415 30 >> result7=a./b result7 = >> result8= Attempt to reference field of non-structure array. >> result9=a.\b result9 = >> result10=a92 result10 = 1 4 9 16 25 36 >> resultl 1=29a result11 = 2 4 8 16 32 64 >> result5=[b;c']*d 3、用MATLAB求解下面的的方程组。 1、求以下变量的值,并在MATLAB^验证。

1 2 x1 3 2 x2 11 5 x3 2 1 3 x4 >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 7 2 1 2 9 15 3 2 2 2 11 5 1 3 2 13 (1)求矩阵A的秩(rank) (2)求矩阵 A 的行列式(determinant) (3)求矩阵 A 的逆(inverse) (4)求矩阵 A 的特征值及特征向量 (eigenvalue and eigenvector) >> A3=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> r=rank(A3) >> b=inv(A3) >> a=det(A3) >> [V,D]=eig(A3) 10 n 10 查看y 的值) m1=0; for m=-10:10 m仁m1+2^m; end m1 m1 = 6、求分段函数的值。 用if 语句实现,算出下列表中x 对应的y 值。 x=input('enter x='); if x<0 y=x A2+x-6; elseif x>=0&&x<5 y=xA2-5*x+6; else y=xA2-x-1; end y 7、分别用if 和switch 语句实现,将百分 制成绩转换为成绩等级A、B、C、D、E。 其中90~1 00分为A,80~89 分为B,70~79 分为C,60~69 分为D,60 分以下为E。 对超出百分制范围的成绩,给出错误提示 信息。 if 结构程序: x=input('please enter score='); if x>=90&&x<=100 9 2 10 disp('A') 7 2 9 15 (1) 2 2 1 3 4 7 1 0 A 4、已知 2n 2 10 29

基于matlab程序实现人脸识别

基于m a t l a b程序实现 人脸识别 TYYGROUP system office room 【TYYUA16H-TYY-TYYYUA8Q8-

基于m a t l a b程序实现人脸识别 1.人脸识别流程 基于YCbCr颜色空间的肤色模型进行肤色分割。在YCbCr色彩空间内对肤色进行了建模发现,肤色聚类区域在Cb—Cr子平面上的投影将缩减,与中心区域显着不同。采用这种方法的图像分割已经能够较为精确的将人脸和非人脸分割开来。 人脸识别流程图 2.人脸识别程序 (1)人脸和非人脸区域分割程序 function result = skin(Y,Cb,Cr) %SKIN Summary of this function goes here % Detailed explanation goes here a=; b=; ecx=; ecy=; sita=; cx=; cy=; xishu=[cos(sita) sin(sita);-sin(sita) cos(sita)]; %如果亮度大于230,则将长短轴同时扩大为原来的倍 if(Y>230) a=*a; b=*b; end %根据公式进行计算 Cb=double(Cb); Cr=double(Cr);

t=[(Cb-cx);(Cr-cy)]; temp=xishu*t; value=(temp(1)-ecx)^2/a^2+(temp(2)-ecy)^2/b^2; %大于1则不是肤色,返回0;否则为肤色,返回1 if value>1 result=0; else result=1; end end (2)人脸的确认程序 function eye = findeye(bImage,x,y,w,h) %FINDEYE Summary of this function goes here % Detailed explanation goes here part=zeros(h,w); %二值化 for i=y:(y+h) for j=x:(x+w) if bImage(i,j)==0 part(i-y+1,j-x+1)=255; else part(i-y+1,j-x+1)=0; end end end [L,num]=bwlabel(part,8); %如果区域中有两个以上的矩形则认为有眼睛 if num<2 eye=0;

matlab数学实验复习题(有标准答案)

复习题 1、写出3 2、i nv(A)表示A的逆矩阵; 3、在命令窗口健入 clc,4、在命令窗口健入clea 5、在命令窗口健入6、x=-1:0.2:17、det(A)表示计算A的行列式的值;8、三种插值方法:拉格朗日多项式插值,分段线性插值,三次样条插值。 9、若A=123456789?? ????????,则fliplr (A)=321654987?????????? A-3=210123456--??????????A .^2=149162536496481?????????? tril(A)=100450789?????????? tri u(A,-1)=123456089??????????diag(A )=100050009?????????? A(:,2),=2 58A(3,:)=369 10、nor mcd f(1,1,2)=0.5%正态分布mu=1,s igm a=2,x =1处的概率 e45(@f,[a,b ],x0),中参数的涵义是@fun 是求解方程的函数M 文 件,[a,b ]是输入向量即自变量的范围a 为初值,x0为函数的初值,t 为输出指定的[a,b],x 为函数值 15、写出下列命令的功能:te xt (1,2,‘y=s in(x)’

hold on 16fun ction 开头; 17 ,4) 3,4) 21、设x 是一向量,则)的功能是作出将X十等分的直方图 22、interp 1([1,2,3],[3,4,5],2.5) Ans=4.5 23、建立一阶微分方程组? ??+='-='y x t y y x t x 34)(3)(2 的函数M 文件。(做不出来) 二、写出运行结果: 1、>>ey e(3,4)=1000 01000010 2、>>s ize([1,2,3])=1;3 3、设b=ro und (unifrnd(-5,5,1,4)),则=3 5 2 -5 >>[x,m]=min(b);x =-5;m=4 ,[x,n ]=sort(b ) -5 2 3 5 4 3 1 2 mea n(b)=1.25,m edian(b)=2.5,range(b)=10 4、向量b如上题,则 >>an y(b),all(b<2),all(b<6) Ans =1 0 1 5、>>[5 6;7 8]>[7 8;5 6]=00 11 6、若1234B ??=???? ,则 7、>>diag(d iag (B ))=10 04 8、>>[4:-2:1].*[-1,6]=-4 12 9、>>acos(0.5),a tan(1) ans = 1.6598 ans=

人脸识别系统设计与仿真 基于matlab的(含matlab源程序)版权不归自己 交流使用

人脸识别系统设计与仿真基于matlab的(含matlab源程序) 交流使用参考后自行那个删除后果自负 目录 第一章绪论 (2) 1.1 研究背景 (2) 1.2 人脸图像识别的应用前景 (3) 1.3 本文研究的问题 (4) 1.4 识别系统构成 (5) 1.5 论文的内容及组织 (7) 第二章图像处理的Matlab实现 (8) 2.1 Matlab简介 (8) 2.2 数字图像处理及过程 (8) 2.2.1图像处理的基本操作 (8) 2.2.2图像类型的转换 (9) 2.2.3图像增强 (9) 2.2.4边缘检测 (10) 2.3图像处理功能的Matlab实现实例 (11) 2.4 本章小结 (15) 第三章人脸图像识别计算机系统 (16) 3.1 引言 (16) 3.2系统基本机构 (17)

3.3 人脸检测定位算法 (18) 3.4 人脸图像的预处理 (25) 3.4.1 仿真系统中实现的人脸图像预处理方法 (26) 第四章基于直方图的人脸识别实现 (29) 4.1识别理论 (29) 4.2 人脸识别的matlab实现 (29) 4.3 本章小结 (30) 第五章总结 (31) 致谢 (32) 参考文献 (33) 附录 (35)

第一章绪论 本章提出了本文的研究背景及应用前景。首先阐述了人脸图像识别意义;然后介绍了人脸图像识别研究中存在的问题;接着介绍了自动人脸识别系统的一般框架构成;最后简要地介绍了本文的主要工作和章节结构。 1.1 研究背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除了它的重大理论价值外,也极具实用价值。 在进行人工智能的研究中,人们一直想做的事情就是让机器具有像人类一样的思考能力,以及识别事物、处理事物的能力,因此从解剖学、心理学、行为感知学等各个角度来探求人类的思维机制、以及感知事物、处理事物的机制,并努力将这些机制用于实践,如各种智能机器人的研制。人脸图像的机器识别研究就是在这种背景下兴起的,因为人们发现许多对于人类而言可以轻易做到的事情,而让机器来实现却很难,如人脸图像的识别,语音识别,自然语言理解等。如果能够开发出具有像人类一样的机器识别机制,就能够逐步地了解人类是如何存储信息,并进行处理的,从而最终了解人类的思维机制。 同时,进行人脸图像识别研究也具有很大的使用价依。如同人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。现在己

MATLAB实验题答案

1、求以下变量的值,并在MATLAB 中验证。 ( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么?如合法,结果 是多少? >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 5 8 11 >> result4=b*d result4 = 31 22 22 40 49 13 >> result5=[b;c']*d result5 = 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 4 1 5 30 >> result7=a./b result7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000 >> result8=a.c Attempt to reference field of non-structure array. >> result9=a.\b result9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 >> result10=a.^2 result10 = 1 4 9 16 25 36 >> result11=2.^a result11 = 2 4 8 16 32 64 3、用MATLAB 求解下面的的方程组。 (1)????????????-=?????????????????????????----01741323151122231592127 4321x x x x >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B (2)???????=-++=--=-++=++56533332821 w z y x w y x w z y x z y x >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 4、已知????????????----=1323151122231592127A (1)求矩阵A 的秩(rank)

(完整word版)基于MATLAB的人脸识别

图像识别 题目:基于MATLAB的人脸识别 院系:计算机科学与应用系 班级: 姓名: 学号: 日期:

目录 引言 (1) 1 人脸识别技术 (2) 1.1人脸识别的研究内容 (2) 1.1.1人脸检测(Face Detection) (2)

1.1.2人脸表征(Face Representation) (2) 1.2几种典型的人脸识别方法 (3) 1.2.1基于几何特征的人脸识别方法 (3) 1.2.2基于K-L变换的特征脸方法 (4) 1.2.3神经网络方法 (4) 1.2.4基于小波包的识别方法 (5) 1.2.5支持向量机的识别方法 (5) 2 人脸特征提取与识别 (5) 2.1利用PCA进行特征提取的经典算法——Eigenface算法 (6) 2.2 PCA人脸识别流程 (6) 2.3特征向量选取 (8) 2.4距离函数的选择 (9) 2.5 基于PCA的人脸识别 (9) MATLAB人脸识别程序 (10) 3 MATLAB软件程序编写 (10) 3.1.创建图片数据库 (10) 3.2 主程序 (11) 3.3最终程序结果 (12) 4 心得与体会 (12) 参考文献 (13)

引言 随着社会的发展及技术的进步,社会各方面对快速高效的自动身份验证的需求可以说无处不在,并与日俱增。例如,某人是否是我国的居民,是否有权进入某安全系统,是否有权进行特定的交易等。尤其是自2001年美国“9.1l”恐怖袭击发生以来,如何在车站、机场等公共场所利用高科技手段,迅速而准确地发现并确认可疑分子成了目前世界各国在反恐斗争中普遍关注的问题。为此,各国都投入大量人力、物力研究发展各类识别技术,使得生物特征识别技术得到了极大的发展。生物特征识别技术主要包括:人脸识别、虹膜识别、指纹识别、步态识别、语音识别、笔迹识别、掌纹识别以及多生物特征融合识别等。人类通过视觉识别文字,感知外界信息。在客观世界中,有75%的信息量都来自视觉,因此让计算机或机器人具有视觉,是人工智能的重要环节。由于生物特征是人的内在属性,具有很强的稳定性和个体差异性,因此是身份验证最理想的依据。与虹膜、指纹、基因、掌纹等其他人体生物特征识别系统相比,人脸识别系统更加直接、方便、友好,易于为用户所接受,并且通过人脸的表情、姿态分析,还能获得其它识别系统难以得到的一些信息。 人脸识别技术在国家重要机关及社会安防领域具有广泛用途。例如:公安系统的罪犯识别、信用卡验证、医学、档案管理、视频会议、人机交互系统等身份识别和各类卡持有人的身份验证。同其他人体生物特征(如:指纹、掌纹、虹膜、语音等)识别技术相比,人脸识别技术的隐性最好,人脸识别系统更直接、友好,是当今国际反恐和安防最重视的科技手段和攻关标志之一。虽然人类能毫不费力地识别出人脸及表情,但对人脸的机器自动识别确实一个难度极大的课题,它涉及到模式识别、图像处理及生理、心理学等诸多方面的知识。人脸识别技术的研究虽然己经取得了一定的可喜成果,但在实际应用中仍存在着许多严峻的问题。人脸的非刚体性、姿态、表情、发型以及化妆的多样性都给正确识别带来了困难,要让计算机像人一样方便地识别出大量的人脸,尚需不同科学研究领域的科学家共同不懈的努力。

matlab基础练习题及答案讲解

第1章MATLAB基础 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 答:在MATLAB操作桌面上有五个窗口。在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口。在独立窗口的Desktop菜单中选择Dock...项就可以将独立的窗口重新放置到桌面上。 1.5 如何启动M文件编辑/调试器? 答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选

定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB 中有几种获得帮助的途径? 答:(1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器。 (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息。 (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数。 (4)模糊查询:输入命令的前几个字母,然后按Tab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 2.1 在MATLAB 中如何建立矩阵?? ? ? ??194375,并将其赋予变量a ? 答:在Command Window 窗口输入操作:

人脸识别MATLAB代码

1.色彩空间转换 function [r,g]=rgb_RGB(Ori_Face) R=Ori_Face(:,:,1); G=Ori_Face(:,:,2); B=Ori_Face(:,:,3); R1=im2double(R); % 将uint8型转换成double型G1=im2double(G); B1=im2double(B); RGB=R1+G1+B1; row=size(Ori_Face,1); % 行像素 column=size(Ori_Face,2); % 列像素 for i=1:row for j=1:column rr(i,j)=R1(i,j)/RGB(i,j); gg(i,j)=G1(i,j)/RGB(i,j); end end rrr=mean(rr); r=mean(rrr); ggg=mean(gg); g=mean(ggg); 2.均值和协方差 t1=imread('D:\matlab\皮肤库\1.jpg');[r1,g1]=rgb_RGB(t1); t2=imread('D:\matlab\皮肤库\2.jpg');[r2,g2]=rgb_RGB(t2); t3=imread('D:\matlab\皮肤库\3.jpg');[r3,g3]=rgb_RGB(t3); t4=imread('D:\matlab\皮肤库\4.jpg');[r4,g4]=rgb_RGB(t4); t5=imread('D:\matlab\皮肤库\5.jpg');[r5,g5]=rgb_RGB(t5); t6=imread('D:\matlab\皮肤库\6.jpg');[r6,g6]=rgb_RGB(t6); t7=imread('D:\matlab\皮肤库\7.jpg');[r7,g7]=rgb_RGB(t7); t8=imread('D:\matlab\皮肤库\8.jpg');[r8,g8]=rgb_RGB(t8);

一种基于Matlab的DSP调试及直接代码生成方法

https://www.360docs.net/doc/7118603760.html,/p-21683359.html 一种基于Matlab的DSP调试及直接代码生成方法 Matlab作为一种有效的信号处理工具,已经渗透到DSP的设计当中。开发者在将一个新的数字信号处理算法应用于实际前,一般是先用Matlab进行模拟验证,当模拟结果满意时再把算法修改成C或DSP汇编语言通过CCS在目标DSP上实现,并比较实际应用与模拟的结果以发现误差,如此反复进行。在较新版本的Matlab(6.0以上)中提供了Matlab与DSP的统一集成环境后,众多学者对Matlab环境下的DSP调试进行了研究。文献[2-4]从CCSLink的角度出发,对Matlab环境下的DSP调试进行了原理及思路上的阐述,但均未涉及到直接代码生成。本文在介绍CCSLink的连接对象、嵌入式对象和RTDX对象的基础上,详细阐述Simulink环境下的直接代码生成。 1 CCSLink及ETTIC2000概述 Matlab具有强大的分析、计算和可视化功能,但处理速度慢;DSP具有快速的信号处理能力,但是其CCS的编译环境中数据可编辑和分析能力不如Matlab;而MathWorks公司和TI公司联合开发的Matlab Linkfor CCS Development Tools(CCSLink)和EmbeddedTarget for the TI TMS320C2000 DSP Platform(ETTIC2000),CCSLink提供了Matlab和CCS的接口,能把Matlab和TI CCS及目标DSP连接起来。利用此工具可以像操作Matlab变量一样来操作TI DSP的存储器或寄存器。CCSLink支持CCS能够识别的任何目标板(C200,C5000,C600),此工具用于DSP程序的调试过程。而CCSLink与ETTIC2000的配合使用,可直接由Matlab的Simulink模型生成TIC2000DSP 的可执行代码,能在集成、统一的Matlab环境下完成DSP的整个开发过程。 2 CCSLink环境下的DSP调试 CCSLink向用户提供了3个组件内容,如图1所示。

matlab练习题和答案

matlab练习题和答案 控制系统仿真实验 Matlab部分实验结果 目录 实验一 MATLAB基本操 作 ............................................................................................ 1 实验二 Matlab编程 .................................................................................................... 5 实验三Matlab底层图形控制 (6) 实验四控制系统古典分析.............................................................................................12 实验五控制系统现代分析 . (15) 实验六 PID控制器的设 计 ...........................................................................................19 实验七系统状态空间设计.............................................................................................23 实验九直流双闭环调速系统仿真 . (25) 实验一 MATLAB基本操作 1 用MATLAB可以识别的格式输入下面两个矩阵 1233,,1443678,i,,,,2357,,,,2335542,i,,,, A,1357B,,,2675342, i,,3239,,,,189543,,,,1894,, 再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。赋值完成后,调 用相应的命令查看MATLAB工作空间的占用情况。 A=[1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4];

基于MATLAB的人脸识别

基于MATLAB的人脸识别

————————————————————————————————作者: ————————————————————————————————日期:

图像识别 题目:基于MATLAB的人脸识别 院系:计算机科学与应用系 班级: 姓名: 学号: 日期:

设计题目基于MATLAB的人脸识别设 计技术参数 测试数据库图片10张训练数据库图片20张图片大小1024×768 特征向量提取阈值 1 设计要求综合运用本课程的理论知识,并利用MATLAB作为工具实现对人脸图片的预处理,运用PCA算法进行人脸特征提取,进而进行人脸匹配识别。 工作量 两周的课程设计时间,完成一份课程设计报告书,包括设计的任务书、基本原理、设计思路与设计的基本思想、设计体会以及相关的程序代码; 熟练掌握Matlab的使用。 工作计划第1-2天按要求查阅相关资料文献,确定人脸识别的总体设计思路; 第3-4天分析设计题目,理解人脸识别的原理同时寻求相关的实现算法;第5-8天编写程序代码,创建图片数据库,运用PCA算法进行特征提取并编写特征脸,上机进行调试; 第9-12天编写人脸识别程序,实现总体功能; 第13-14天整理思路,书写课程设计报告书。 参考资料1 黄文梅,熊佳林,杨勇编著.信号分析与处理——MATALB语言及应用.国防科技大学出版社,2000 2 钱同惠编著.数字信号处理.北京:机械工业出版社,2004 3 姚天任,江太辉编著.数字信号处理.第2版.武汉:武汉理工大学出版社,2000 4 谢平,林洪彬,王娜.信号处理原理及应用.机械工业出版社,2004 5刘敏,魏玲.Matlab.通信仿真与应用.国防工业出版社,2005 6 楼顺天.基于Matlab7.x 的系统分析与设计.西安电子科技大学,2002 7孙洪.数字信号处理.电子工业出版社,2001 目录 引言?错误!未定义书签。 1 人脸识别技术?错误!未定义书签。 1.1人脸识别的研究内容?错误!未定义书签。 1.1.1人脸检测(Face Detection)........... 错误!未定义书签。

人脸识别matlab程序

人脸识别 % FaceRec.m % PCA 人脸识别修订版,识别率88% % calc xmean,sigma and its eigen decomposition allsamples=[];%所有训练图像 for i=1:40 for j=1:5 a=imread(strcat('e:\ORL\s',num2str(i),'\',num2str(j),'.jpg')); % imshow(a); b=a(1:112*92); % b 是行矢量1×N,其中N=10304,提取顺序是先列后行,即从上 到下,从左到右 b=double(b); allsamples=[allsamples; b]; % allsamples 是一个M * N 矩阵,allsamples 中每一行数 据代表一张图片,其中M=200 end end samplemean=mean(allsamples); % 平均图片,1 × N for i=1:200 xmean(i,:)=allsamples(i,:)-samplemean; % xmean 是一个M ×N 矩阵,xmean 每一行保存的数据是“每个图片数据-平均图片” end; % 获取特征值及特征向量 sigma=xmean*xmean'; % M * M 阶矩阵 [v d]=eig(sigma); d1=diag(d); % 按特征值大小以降序排列 dsort = flipud(d1); vsort = fliplr(v); %以下选择90%的能量 dsum = sum(dsort); dsum_extract = 0; p = 0; while( dsum_extract/dsum < 0.9) p = p + 1; dsum_extract = sum(dsort(1:p)); end

一种基于Matlab的DSP调试及直接代码生成方法.

一种基于Matlab的DSP调试及直接代码生成方法 Matlab作为一种有效的信号处理工具,已经渗透到DSP的设计当中。开发者在将一个新的数字信号处理算法应用于实际前,一般是先用Matlab进行模拟验证,当模拟结果满意时再把算法修改成C或DSP汇编语言通过CCS在目标DSP 上实现,并比较实际应用与模拟的结果以发现误差,如此反复进行。在较新版本的Matlab(6.0以上)中提供了Matlab与DSP的统一集成环境后,众多学者对Matlab环境下的DSP调试进行了研究。文献[2-4]从CCSLink的角度出发,对Matl Matlab作为一种有效的信号处理工具,已经渗透到DSP的设计当中。开发者在将一个新的数字信号处理算法应用于实际前,一般是先用Matlab进行模拟验证,当模拟结果满意时再把算法修改成C或DSP汇编语言通过CCS在目标DSP 上实现,并比较实际应用与模拟的结果以发现误差,如此反复进行。在较新版本的Matlab(6.0以上)中提供了Matlab与DSP的统一集成环境后,众多学者对Matlab环境下的DSP调试进行了研究。文献[2-4]从CCSLink的角度出发,对Matlab环境下的DSP调试进行了原理及思路上的阐述,但均未涉及到直接代码生成。本文在介绍CCSLink的连接对象、嵌入式对象和RTDX对象的基础上,详细阐述Simulink环境下的直接代码生成。 1 CCSLink及ET TIC2000概述 Matlab具有强大的分析、计算和可视化功能,但处理速度慢;DSP具有快速的信号处理能力,但是其CCS的编译环境中数据可编辑和分析能力不如Matlab;而MathWorks公司和TI公司联合开发的Matlab Linkfor CCS Development Tools(CCSLink)和EmbeddedTarget for the TI TMS320C2000 DSP Platform(ETTIC2000),CCSLink提供了Matlab和CCS的接口,能把Matlab和TI CCS及目标DSP连接起来。利用此工具可以像操作Matlab变量一样来操作TI DSP的存储器或寄存器。CCSLink支持CCS能够识别的任何目标板(C200,C5000,C600),此工具用于DSP程序的调试过程。而CCSLink与ETTIC2000的配合使用,可直接由Matlab的Simulink模型生成TIC2000DSP的可执行代码,能在集成、统一的Matlab环境下完成DSP的整个开发过程。 2 CCSLink环境下的DSP调试 CCSLink向用户提供了3个组件内容,如图1所示。

基于matlab的人脸识别技术

基于matlab 的人脸识别技术 论文 摘要:随着计算机技术的飞速发展,人脸识别技术逐渐发展壮大起来,并应用到众多领域。 人脸识别是指在人脸检测的基础上针对输入的人脸图像,通过特征提取与特征匹配,找出与人脸库中匹配的人脸图像,从而达到识别效果。当前主要采取的人脸识别方法有:基于几何特征的方法 ,基于模板的方法和基于模型的方法。 这些方法较适合于人脸信息的验证,即待识别者是否为预先指定的对象。不足之处在于,需要建立一个拥有庞大人脸信息的训练样本库,因此就降低了输出结果的时效性和准确性。在应用领域中存在局限性,不适于具有庞大人脸样本训练库的身份鉴别领域。鉴于种种不足,本文提出了一种基于可变人脸库的快速人脸识别方法,使人脸识别技术适用于更多的行业。网络信息化时代的一大特征就是身份的数字化和隐性化,如何准确鉴定一个人的身份,保护信息安全是当今信息化时代必须解决的一个关键社会问题。正在悄然兴起的人脸识别技术正好可以解决这一问题。 关键词:模式识别,K-L 变换,人脸识别,图像处理,matlab,图像增强,边缘检测,图像预处理,灰度直方图,特征提取 1.1识别系统构成 自动人脸识别系统具有如图所示的一半框架并完成相应功能的任务。 (1)人脸图像的获取:一般来说,图像的获取都是通过摄像头摄取,氮摄取的图像可以是真人,也可以是人脸的图片或者为了相对简单,可以不考虑通过摄像头来摄取头像,而是直接给定要识别的图像。 (2)人脸的检测:人脸检测的任务是判断静态图像中是否存在人脸。若存在人脸,给出其在图像中的坐标位置,人脸区域大小等信息。而人脸跟踪需要进一步输出所检测到的人脸位置,大小等状态随时间的连续变化情况。 (3)特征提取通过人脸特征点的检测与标定可以确定人脸图像中显著特征点的位置(如眼睛,眉毛,鼻子,嘴巴等器官),同时还可以得到这些器官及其面部轮廓的形状信息的描述。 1.人脸特征提取的算法:K-L 变换是图像压缩中的一种最优正交变换,通过它可以把人脸样本从高维空间表示转换到低维空间表示,且由低维空恢复的人脸样本和原人脸样本具有最小的均方误差,从而可用人脸样本在低维空间的变换系数作为对人脸特征的描述。其中主元分析法(PCA )就是基于K-L 变换的一种比较流行的算法,它是统计学中分析数据的一种有效的方法,其目的是在数据间中找到一组向量以尽可能地解释数据的方差,将数据从原来的R 维空间将维投影到M 维空间(R>>M)并保存数据的主要信息,从而使数据更易于处理.按照K-L 变换识别算法流程.从人脸样本中提取面部特征.是人脸识别中重要步骤.其实质是一个从高维图像空间到低维数字空间的转换过程,可表示为:Y=T{x} 式中:x 表示原始数据,Y 表示为特征信息,T 表示映射 人脸样本特征提取算法如下:首先计算该库中所有样本的平均值(平均脸): ∑==p i n f P f 1 1 式中;P 表示照片数.f 表示每张照片的线性表示然后构建协方差矩阵: T T i p i i A A f f P C ?==∑=)'('11 式中:f f f i -='表示每张照片与样本平均值的差。A 表示差值形成的矩阵 接着,进行特征的提取:由于此协方差矩阵进行求解特征值和特征向量比较困难的,因此采用奇异值分解的方法得到特征矩阵。 i T i f U Y '=

相关文档
最新文档