文档库 最新最全的文档下载
当前位置:文档库 › MATLAB机试题及答案

MATLAB机试题及答案

MATLAB机试题及答案
MATLAB机试题及答案

上机题汇总

1设置matlab 的工作环境,将工作目录设置为d:\work ,添加搜索目录d:\example

设置当前目录:在Matlab 工具栏Current Directory 中输入或者浏览 设置搜索目录命令

在资源管理器中创建work 文件夹 addpath('d:\work'); savepath;

【也可以在file/ Set Path 路径设置窗口中完成】

2在matlab 的命令窗口里完成如下计算,其中t 的值分别取-1,0,1,表达式如下:

4/3)2t

y e

π-=

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

3自行产生一个5行5列的数组,得到最中间的三行三列矩阵。

答:>>A=magic(5) I=[2 3 4];J=[2 3 4]; M=A(I,J)

4用magic 产生一个5*5的矩阵,将这个矩阵的第二行与第三行互换位置

答:>>A=magic(5) I=[1 3 2 4 5];J=[1 2 3 4 5]; M=A(I,J)

5求方程组的根

x 1+4x 2-3x 3=2 2x 1+5x 2-x 3=11 x 1+6x 2+x 3=12

答:>>A=[1 4 -3;2 5 -1;-1 3 4];>>b=[2;11;12];>>x=A\b 或x=inv(A)*b

6已知:一个多项式的系数向量是p=[1 -6-72 -27],求这个多项式的根。

答:>> p=[1 -6-72 -27] >> r=roots(p)

7已经两个多项式的系数分别是:[1 2 3 4]和[1 4 9 16],请求这两个多项式的乘积,及商和余数。

答:>>p1=[1 2 3 4];p2=[1 4 9 16]; >>C=conv(p1,p2) >>[q,r]=deconv(p1,p2)

8给定一个多项式的根是[-5 -3+4i -3-4i],求原来的多项式

答:>>r=[-5 -3+4i -3-4i] >>p=poly(r) >>disp(poly2sym(p))

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

用什么函数,保证第一列排序的时候,其他列跟着变化。最后的结果是: [1 5 7;2 3 4;6 2 5] 答:>>A=[2 3 4;1 5 7;6 2 5]

10补充题:电路分析

电路分析常常涉及到对方程组的求解,这些方程常常是利用描述电流进入和离开节点的电流方程,或者描述电路中网络回路上的电压的电压方程得出的。下图描述了3个回路电压的方程

方程式如下:

1112122213242343

2532()0()()0()0

V R I R I I R I I R I R I I R I I R I V -++-=??

-++-=??-++=? 假设5个电阻值为已知,2个电压值也为已知,求3个电流值。

答:A=[R1+R2 –R2 0;-R2 R2+R3+R4 –R4;0 –R4 R4+r5];b=[V1;0;-V2]; >>R=A\b

11自行产生一个5行5列的数组,用两种方法得到最中间的三行三列矩阵。

答:>>A=magic(5) I=[2 3 4];J=[2 3 4]; M=A(I,J) 或>>A=magic(5) A([1,5],:)=[] A(:,[1,5])=[]

12

根据a=reshape(-4:4,3,3)做一个矩阵,然后(1)取出所有大于0的元素构成一个向量(可推广到从一

个矩阵里筛选出符合条件的元素组成一个向量)(2)将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。(思考:大于0的正常显示,小于等于0的用-10来表示)

答:(1)>>a=reshape(-4:4,3,3) >>pos=(a>0) >>a(pos )

(2) >>pos=(a>0) >>a.*pos

13建立如下一个元胞数组,现在要求计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第

二个元素+最后一个元胞的第二个元素。 a={pascal(4),'hello';17.3500,7:2:100} 答:>> a={pascal(4),'hello';17.3500,7:2:100} >>a{1}(4,2)+a{2}+a{3}(2)+a{4}(2)

14

建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3

行10列的数据表示了有10门课程,每门课程有三个阶段的分数。问题是: 问题1,如何找到第2个人的分数并显示出来

问题2,如何找到第2个人的每门课程3个阶段的平均分数并显示出来

问题3,全班同学(指这3个学生)的10门课程的每门课程的平均分如何计算出来?要求放到一个数组里。 问题4,找到这个班所有同学的姓名放到一个元胞数组里

stud=struct('name',{'Jim','Henry','Smith'},'age',{22,18,26},'s core',{int16(rand(3,10)*100),int16(rand(3,10)*100),int16(rand(3,10)*100)}) ①stud(2).score ②mean(stud(2).score)

3meanscore=(mean(stud(1).score)+mean(stud(2).score)+mean(stud(3).score))/3 ④cname={stud(1).name,stud(2).name,stud(3).name}

答>>student=struct('name',{'liyi','wym'},'age',{40,30},'score',{100*rand(3,10),100*rand(3,10)}) >> student.score//显示所有人的分数 >>student(2).score//显示第2个人的分数

>>student(2).score(1,:)//显示第2个人的第一行的分数 >> mean(student(1).score)//显示第一个同学的平均数(按列) >> student=struct('name',{'A','B','C'},'age',{'12','13','11'},'score',rand(3,10)) >> student(2).name

>> student(2).score >> student(2).age

>> a2=mean(student(2).score) >> a1=mean(student(1).score) >> student(1).score

>> a3=mean(student(3).score) >> A=[a1;a2;a3] >> asum=mean(A)

>> B=[student(1).name,student(2).name,student(3).name]

15

给定一个图像文件,格式是jpg ,通过inportdata 引入这个文件,查看引入后数据保存是一个数组,

是100*100*3的一个数组,这是一个三维的数组,表明有100*100个点,每个点有RGB 三个方面决定的。现在,要求将这些点的中间部分30个象素宽度的正方形用黑点表示。 >> a=importdata('1.jpg'); >> a([200:300],[200:360],:)=0; >>image(a)

100

200

300

400

500

600

700

800

900

1000

100200300400500600

700

16

手动构造一个长宽页是1000*1000*3的图像,每个图像的点有三个0-255之间的随机值构成。然后

使用image 函数显示这个图像,再用imwrite 函数保存这个图像,使这个图像用图片浏览器也能够查看。 imgdata=uint8(255*rand(1000,1000,3)); image(imgdata)

imwrite(imgdata,'myimg.jpg','jpg')

100

200

300

400

500

600

700

800

900

1000

100200300400500600700800900

1000

17给定一个矩阵

a =

1 2 3 4 5 6

编写一个M 函数,要求输入是a ,输出有三个:平均数,标准差,秩。程序运行后分析其性能指标(主要从时间上分析)

18编写一个M 函数,将一个给定图片文件里的白色全部换成另一种颜色,比如说:将白色转成黑色。

a=importdata('1.jpg') [m,n,p]=size(a); for i=1:m for j=1:n for k=1:p

if a(i,j,k)==255; a(i,j,k)=0; end end end end image(a)

19要求编写一个M 函数文件,完成求三角函数,x 变化范围从-pi 到pi ,求出相应的y 的值,并画出图,然后使用编译器生成EXE ,脱离MATLAB 环境运行。 x=-pi:0.01:pi; y=sin(x); plot(x,y),grid;

-4

-3

-2

-1

1

2

3

4

-1-0.8-0.6-0.4-0.200.20.40.60.8

1

20

定义一个2*2的元胞数组,放入相应的数据,然后保存到MAT 文件中,清除内存后,然后再调入

内存。查看数据是否改变。 1. A={magic(5);'abc';15;rand(1,19)} save filea.mat clear all load filea.mat

21实验用图像:pic.jpg.(注意,此图片是灰度图片,本题是针对灰度图片的处理) 使用imread函数将图像读入Matlab。根据产生灰度变换函数T1,使得:

0.3r r < 0.35

d = 0.105 + 2.6333(r – 0.35) 0.35 ≤r ≤0.65

1 + 0.3(r – 1) r > 0.65

用T1对原图像pic.jpg进行处理,查看结果。并打印出来。

答>>. a=imread('sy4.jpg') >> image(a) >>r=im2double(a)

>>b=[r<0.35].*0.3+[r<=0.65&r>=0.35].*(0.105+2.6333*(r-0.35))+[r>0.65].*(1+0.3*(r-1)); >>image(b) > >imwrite(b,'syy.jpg')

22自己查阅资料找出中国近10年人口数,制成txt文件,格式如下:

1990 123

1991 12

1992 32

1993 43

1995 34

1996 65

1997 3

1998 90

1999 80…

然后将数据引入到内存,并绘制出相应的人口变化曲线图。

答:>> load data.txt

>>[y,s]=textread('data.txt')

>>plot(y,s)

1990

199119921993199419951996199719981999

020

40

60

80

100

120

140

23

使用通用读函数importdata 读入一个声音文件hello.wav ,将所有的数据反序排列后,播放声音,听

效果,最后,将数据保存成另外的的声音文件名helloRev.wav 。 答:>> snd=importdata('x.wav'); >> sound(snd.data,snd.fs); >>snd.data=snd.data([47541:-1:1]) >>wavwrite(snd.data,snd.fs,'y.wav') >>sound(snd.data,snd.fs);

24海尔,联想,方正近四年销售的数据如下。

data=[3000,2334,3444,6663;2342,3422,2111,4453;3232,2334,5433,3500];请做出如下图表。

答>>data=[3000,2334,3444,6663;2342,3422,2111,4453;3232,2334,5433,3500]; >>subplot(1,2,[1 2]);bar(data); >>title('各品牌销售比较图');

>>legend('2006','2007','2008','2009'); >>set(gca,'XTickLabel',['海尔';'联想';'方正']) >>grid on

海尔联想方正

1000

2000

3000

4000

5000

6000

7000

各品牌销售比较图

25已知在三维空间里,x,y,z 的变化规律如下,试用plot3来做出其图形。

z = 0:0.1:40; x = cos(z).^2; y = sin(z)+cos(z); 答:

>>z=0:0.1:40; >>x=cos(z).^2; >>y=sin(z)+cos(z); >>subplot(2,2,[3 4]); >>plot3(x,y,z) >>xlabel('x') >>ylabel('y') >>zlabel('z')

>>title('Spiral Plot-using Plot3')

x

Spiral Plot-using Plot3

y

z

26有数据如下:

x=[-3 -2.5

-2 -1.5

-1 -0.5

0.5 1

1.5 2

2.5 3];

y=[-0.14112 -0.59847

-0.9093 -0.99749

-0.84147

-0.47943

0.47943 0.84147 0.99749 0.9093 0.59847 0.14112];

数据点如下图中兰方块所示,要求编写函数对原数据进行linear 和spline 一次插值运算,得到结果如下:

27

在0-450范围内,x,y 均每隔50产生一个数,这样产生一个10*10网格区域,用randn 函数来产生一

个10*10的随机矩阵(标准差是10,平均数是20),使用surf 来作出这个三维的曲面图。然后使用interp2进行二次插值,插值函数使用三次杨条插值函数,在原来的第一个分隔区域里产生5个小区域,并最后画出图形。

28根据下面的方程绘制图形,y=sin(x)+x ,然后再分别用多项式拟合函数和用拟合工具进行拟合。

答:function f3 x=0:1:10; y=sin(x)+x; R5=polyfit(x,y,5); Y5=polyval(R5,x); R11=polyfit(x,y,11) Y11=polyval(R11,x)

plot(x,y,'g',x,Y5,'r',x,Y11,'b') legend('one','two','three')

012345678910

-2

2

4

6

8

10

.29手动构造一个长宽页是1000*1000*3的图像,每个图像的点有三个0-255之间的随机值构成。

然后使用image 函数显示这个图像,再用imwrite 函数保存这个图像, 使这个图像用图片浏览器也能够查看

>>a=uint8(255*rand(1000.1000.3)); >>image(a) >>imwrite(a.1,'1.jpg','jpg')

二.创建向量 1逐个输入法(空格输入法)2批量输入法(冒号输入法)3函数输入法linspace 将行向量转化成列向量方法(1)用“;”来间隔元素(2)使用转置的概念

三.创建矩阵 1逐个输入法(空格分号)2数组编辑器法(是最简单的一种方法) 3函数表示法 reshape 函数改造原来的矩阵 A=1:25; a=shape(A,5,5)

1.求解方程组-x1+x2+2x3=2 3x1-x2+x3=6 -x1+3x2+4x3=4

A=[-1 1 2;3 -1 1;-1 3 4]; b=[2 6 4];

x=inv(A)*b 或x=A\b

2.用magic 产生一个5*5的矩阵,将这个矩阵的第2列与第5列互换位置

magic(5)

I=[1 2 3 4 5];J=[1 5 3 4 2] M=A[I,J]

3编写一个M 函数,求和S=1+2+3+…+1000

sum=0;

for i=1:1000

sum=sum+i;

end

str=['the result:',num2str(sum)];

disp(str)

第五题:

复数Z1=3+4i Z2=1+2i,z3=2e^6表达及计算Z=(Z1×Z2)/Z3 答:Z1= 3+4i Z2=1+2 z3=2*exp(pi/6*i)

Z=(z1*z2)/z3

6.已知a=magic (5),现在要将第2行与第4行互换。第2列与第4列互换 >> a=magic (5)

a =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

>> pos=[1 4 3 2 5]

pos =

1 4 3

2 5

>> a(pos,:)

ans =

17 24 1 8 15

10 12 19 21 3

4 6 13 20 22

23 5 7 14 16

11 18 25 2 9

>> a(:,pos)

ans =

17 8 1 24 15

23 14 7 5 16

4 20 13 6 22

10 21 19 12 3 11 2 25 18 9

7.画出衰减振荡曲线y=e^(-t/3)sin3t 及它的包络线y.=e^(-t/3),t 的取值范围是【0,4pi 】,结果如图

function myfun2 t=0:pi/50:4*pi; y=exp(-t/3).*sin(3*t); y0=exp(-t/3);

plot(t,y,'r-',t,y0,'b:',t,-y0,'b:');

2

4

6

8

10

12

14

-1-0.8-0.6-0.4-0.200.20.40.60.8

1

8.计算a=sin(3pi/7)e^(),要求如下:计算结果以format long 格式显示;使用控制指令关闭MA TLAB 窗口

解答:format long

a=sin(3/7*pi)*exp (sqrt(2*pi)) save(‘afile.mat ’,’a ’); exit 第九题:

求方程组的解2x-3y+z+2w=8 用矩阵求解: X+3y+w=6 X-y+z+8w=7 7x+y-2z+2w=5 解答:format long e

A=[2 -3 1 2;1 3 0 1;1 -1 1 8;7 1 -2 2]

b=[8;6;7;5]

c=reshape(x,1,4)

元胞自动机(CA)代码及应用

元胞自动机(CA)代码及应用 引言 元胞自动机(CA)是一种用来仿真局部规则和局部联系的方法。典型的元胞自动机是定义在网格上的,每一个点上的网格代表一个元胞与一种有限的状态。变化规则适用于每一个元胞并且同时进行。典型的变化规则,决定于元胞的状态,以及其(4或8 )邻居的状态。元胞自动机已被应用于物理模拟,生物模拟等领域。本文就一些有趣的规则,考虑如何编写有效的MATLAB的程序来实现这些元胞自动机。 MATLAB的编程考虑 元胞自动机需要考虑到下列因素,下面分别说明如何用MATLAB实现这些部分。并以Conway的生命游戏机的程序为例,说明怎样实现一个元胞自动机。 ●矩阵和图像可以相互转化,所以矩阵的显示是可以真接实现的。如果矩阵 cells的所有元素只包含两种状态且矩阵Z含有零,那么用image函数来显示cat命令建的RGB图像,并且能够返回句柄。 imh = image(cat(3,cells,z,z)); set(imh, 'erasemode', 'none') axis equal axis tight ●矩阵和图像可以相互转化,所以初始条件可以是矩阵,也可以是图形。以下 代码生成一个零矩阵,初始化元胞状态为零,然后使得中心十字形的元胞状态= 1。 z = zeros(n,n); cells = z; cells(n/2,.25*n:.75*n) = 1; cells(.25*n:.75*n,n/2) = 1; ●Matlab的代码应尽量简洁以减小运算量。以下程序计算了最近邻居总和,并 按照CA规则进行了计算。本段Matlab代码非常灵活的表示了相邻邻居。 x = 2:n-1; y = 2:n-1; sum(x,y) = cells(x,y-1) + cells(x,y+1) + ... cells(x-1, y) + cells(x+1,y) + ... cells(x-1,y-1) + cells(x-1,y+1) + ... cells(x+1,y-1) + cells(x+1,y+1); cells = (sum==3) | (sum==2 & cells); ●加入一个简单的图形用户界面是很容易的。在下面这个例子中,应用了三个 按钮和一个文本框。三个按钮,作用分别是运行,停止,程序退出按钮。文框是用来显示的仿真运算的次数。 %build the GUI %define the plot button plotbutton=uicontrol('style','pushbutton',...

Matlab考试题库答案

填空题 1、标点符号; %—用来表示该行为注释行。 可以使命令行不显示运算结果, 2、x 为0 ~4pi ,步长为 的向量,使用命令 x=0:*pi:4*pi 创建。 3、输入矩阵A=[1323?57569 ] ,使用全下标方式用A(2,2)取出元素“-5 ”,使用单下标方式用A(5)取出元素“-5 ”。 4、符号表达式sin(2*a+t)+m 中独立的符号变量为 t 。 5、M 脚本文件和M 函数文件的主要区别是M 脚本文件没有函数定义和M 函数文件有函数定义_______。 6. 设x 是一维数组,x 的倒数第3个元素表示为x(_end-2_) 设y 为二维数组,要删除y 的第34行和48列,可使用命令y(34,:)=[] ; y(:,48)=[]; 7. 将变量x 以Ascii 文本格式存储到文件,应使用命令 save _x ; 8. 在while 表达式, 语句体, End 循环语句中,表达式的值 非零 时表示循环条件为真,语句体将被执行,否则跳出该循环语句; 9.要从键盘读入一个字符串并赋值给变量x ,且给出提示“Who is she ”,应使用命令x=input(‘Who is she’,’s’) ; 10.设A=(a ij )m?n 和B=(b ij )m?n 和C=(c ij )m?n 均为m*n 矩阵,且存在于WorkSpace 中,要产生矩阵D=(a ij ?c ij b ij c ij ?)m?n ,可用命令D=(A-C)/B.^C , 计算|(A ′B )?1| 可用命令det(inv(A’*B) 11. 在MATLAB 命令窗口中的“>>”标志为MATLAB 的 命令行 提示符,“│”标志为 输入 提示符。 12.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。 A+B ; A.*B ; A==B ; ans= [2,2,6;5,10,0;7,9,11] ans= [1,0,9;4,25,0;0,8,18] ans= [1,0,1;0,1,1;0,0,0] 13.已知A 是矩阵,求A 的对角矩阵函数是 diag ; 求A 的下三角矩阵函数是 tril 。 的程序文件和Simulink 模型文件的扩展名分别是.m 、.mdl 最基本的绘图函数为plot() 16. A=[1,2,3;4,5,6]; A(:,[1,3])=[];A= [2;5] 17. fix= -1 , round= -2 . 18.已知A=[1 3;4 6];C=[A,eye(sizeA);A ,ones(sizeA)] 则C= [1 3 1 0;4 6 0 1;1 3 1 1;4 6 1 1]

matlab基础练习题带答案

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

支持向量机的matlab代码

支持向量机的matlab代码 Matlab中关于evalin帮助: EVALIN(WS,'expression') evaluates 'expression' in the context of the workspace WS. WS can be 'caller' or 'base'. It is similar to EVAL except that you can control which workspace the expression is evaluated in. [X,Y,Z,...] = EVALIN(WS,'expression') returns output arguments from the expression. EVALIN(WS,'try','catch') tries to evaluate the 'try' expression and if that fails it evaluates the 'catch' expression (in the current workspace). 可知evalin('base', 'algo')是对工作空间base中的algo求值(返回其值)。 如果是7.0以上版本 >>edit svmtrain >>edit svmclassify >>edit svmpredict function [svm_struct, svIndex] = svmtrain(training, groupnames, varargin) %SVMTRAIN trains a support vector machine classifier % % SVMStruct = SVMTRAIN(TRAINING,GROUP) trains a support vector machine % classifier using data TRAINING taken from two groups given by GROUP. % SVMStruct contains information about the trained classifier that is % used by SVMCLASSIFY for classification. GROUP is a column vector of % values of the same length as TRAINING that defines two groups. Each % element of GROUP specifies the group the corresponding row of TRAINING % belongs to. GROUP can be a numeric vector, a string array, or a cell % array of strings. SVMTRAIN treats NaNs or empty strings in GROUP as % missing values and ignores the corresponding rows of TRAINING. % % SVMTRAIN(...,'KERNEL_FUNCTION',KFUN) allows you to specify the kernel % function KFUN used to map the training data into kernel space. The % default kernel function is the dot product. KFUN can be one of the % following strings or a function handle: % % 'linear' Linear kernel or dot product % 'quadratic' Quadratic kernel % 'polynomial' Polynomial kernel (default order 3) % 'rbf' Gaussian Radial Basis Function kernel % 'mlp' Multilayer Perceptron kernel (default scale 1) % function A kernel function specified using @,

Matlab 期末考试题库(共12套卷)

第一套 华东交通大学2015-2016学年第一学期Matlab期末考试 一、填空题(4*6=24分) 1、在MATLAB命令窗口中的“>>”标志为MATLAB的提示符,“│”标志为提示符。 2、符号表达式sin(2*a+t)+m 中独立的符号变量为__ _。 3、在通常情况下,左除x=a\b是的解,右除x=b/a是的解,一般情况下,。 4、为了使两个plot的图形在同一个坐标显示,可以使用_____命令进行图形保持;可以使用_ __命令为图形添加网格。 5、倘若要是对x进行赋值,从5到25,间隔是0.1,为;倘若要是对x进行赋值,从2到20,中间间隔100个点,为 6、A=[1,2;3,4];B=[1,0;0,1]; A*B= _ , A.*B=_ _; 二、选择题(4*6=24分) 7、如果x=1: 2 : 8,则x(1)和x(4)分别是( ) A.1,8 B.1, 7 C.2, 8 D.2, 7 8、运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为( ) c=input('请输入一个字符','s'); if c>='A' & c<='Z' disp(setstr(abs(c)+abs('a')-abs('A'))); elseif c>='a'& c<='z' disp(setstr(abs(c)- abs('a')+abs('A'))); elseif c>='0'& c<='9' disp(abs(c)-abs('0')); else disp(c); end A. 9 B. 8 C. 7 D. 6 9、MATLAB表达式2*2^3^2的结果是() A.128 B.4096 C. 262144 D.256 10、在循环结构中跳出循环,执行循环后面代码的命令为( ) (A) return (B) break (C) continue (D) keyboard 11、在图形指定位置加标注命令是() A. title(x,y,?y=sin(x)?); B. xlabel(x,y,?y=sin(x)?); C. text(x,y,?y=sin(x)?); D. legend(x,y,?y=sin(x)?); 12、下列哪个变量的定义是不合法的()。 (A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz 三、程序题(52分) 13(10分)、在同一窗口绘制6个子图,已知t=0.1:0.1:2*pi,每个子图分别绘制(其中y1=sin(t),y2=cos(2t),y3=sin(t)+cos(t),y4=3t, y5=2ln(t),y6=et); 14(10分)、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣

交通流中的NaSch模型及MATLAB代码元胞自动机完整

元胞自动机NaSch模型及其MATLAB代码 作业要求 根据前面的介绍,对NaSch模型编程并进行数值模拟: ●模型参数取值:Lroad=1000,p=,Vmax=5。 ●边界条件:周期性边界。 ●数据统计:扔掉前50000个时间步,对后50000个时间步进行统计,需给出的 结果。 ●基本图(流量-密度关系):需整个密度范围内的。 ●时空图(横坐标为空间,纵坐标为时间,密度和文献中时空图保持一致, 画 500个时间步即可)。 ●指出NaSch模型的创新之处,找出NaSch模型的不足,并给出自己的改进思 路。 ●? 流量计算方法: 密度=车辆数/路长; 流量flux=density×V_ave。 在道路的某处设置虚拟探测计算统计时间T内通过的车辆数N; 流量flux=N/T。 ●? 在计算过程中可都使用无量纲的变量。 1、NaSch模型的介绍 作为对184号规则的推广,Nagel和Schreckberg在1992年提出了一个模拟车辆交通的元胞自动机模型,即NaSch模型(也有人称它为NaSch模型)。 ●时间、空间和车辆速度都被整数离散化。

● 道路被划分为等距离的离散的格子,即元胞。 ● 每个元胞或者是空的,或者被一辆车所占据。 ● 车辆的速度可以在(0~Vmax )之间取值。 2、NaSch 模型运行规则 在时刻t 到时刻t+1的过程中按照下面的规则进行更新: (1)加速:),1min(max v v v n n +→ 规则(1)反映了司机倾向于以尽可能大的速度行驶的特点。 (2)减速:),min(n n n d v v → 规则(2)确保车辆不会与前车发生碰撞。 (3)随机慢化: 以随机概率p 进行慢化,令:)0, 1-min(n n v v → 规则(3)引入随机慢化来体现驾驶员的行为差异,这样既可以反映随机加速行为,又可以反映减速过程中的过度反应行为。这一规则也是堵塞自发产生的至关重要因素。 (4)位置更新:n n n v x v +→ ,车辆按照更新后的速度向前运动。 其中n v ,n x 分别表示第n 辆车位置和速度;l (l ≥1)为车辆长度;11--=+n n n x x d 表示n 车和前车n+1之间空的元胞数;p 表示随机慢化概率;max v 为最大速度。 3、NaSch 模型实例 根据题目要求,模型参数取值:L=1000,p=,Vmax=5,用matlab 软件进行编程,扔掉前11000个时间步,统计了之后500个时间步数据,得到如下基本图和时空图。 程序简介 初始化:在路段上,随机分配200个车辆,且随机速度为1-5之间。 图是程序的运行图,图中,白色表示有车,黑色是元胞。

matlab考试题及答案

%1、编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。 function f=NO_1(X); Y(1)=X;k=1; while (X~=1) k=k+1; if (mod(X,2)==0) X=X/2; else X=3*X+1; end Y(k)=X; end plot(Y,'b.') end % 2、编制程序产生一个数组,满足:a1=1,a2=1,从第三个元素开始,每个元素等于前两个元素的和,直到数组的前后两个元素的比值比小于1e-4,并且以红色点线的形式画出这个数组。 clear; A(1)=1; A(2)=1; i=3; Z=1; while (abs(Z)>=1e-4) A(i)=A(i-1)+A(i-2); Z=A(i-1)/A(i); i=i+1; end plot (A,'r.') % 3、编写一个函数,能够产生分段函数。function y=test_3_1(X) if (X<=2) y=*X; elseif (X>6) y=; else y=调用分段函数,绘制曲线。 clear; i=1; for j=0::2; x(i)=j;y(i)=test_3_1(j)*test_3_1(j+2); i=i+1; end plot(x,y) % 4、在2pi周期内画正弦函数曲线,并加注坐标轴标识和标题,然后在3pi/4,pi,5pi/4处分别加入带箭头的说明性文本,最后加注图例。 clear; t = 0:pi/50:2*pi; n = length(t); y = sin(t); plot(t,y,'-bo','linewidth',1) xlabel('X');ylabel('Y'); title('正弦函数曲线'); text,, ' \leftarrow 3pi/4','FontSize',18); text,, ' \leftarrow 3pi/4','FontSize',18); text,,' \leftarrow 3pi/4','FontSize',18); hleg1 = legend('sin(x)'); % 5、A为任意一个n*m矩阵,写程序来计算A 中有多少个零元素,并输出个数。 A=input('输入一个矩阵 A = ') n=length(find(A==0)) % 6、A为任意一个向量,写程序找出A中的最小元素,并且输出这个最小元素。 A=input('输入一个向量 A = '); x=length(A); i=1; y=A(i); while (iA(i)) y=A(i); end end disp('最小元素是:') disp(y) % 7、某系统由四个典型环节构成,试根据四阶龙格—库塔公式,求输出量y的阶跃响应,取仿真时间Tf=10s, %步长h=。

支持向量机非线性回归通用MATLAB源码

支持向量机非线性回归通用MA TLAB源码 支持向量机和BP神经网络都可以用来做非线性回归拟合,但它们的原理是不相同的,支持向量机基于结构风险最小化理论,普遍认为其泛化能力要比神经网络的强。大量仿真证实,支持向量机的泛化能力强于BP网络,而且能避免神经网络的固有缺陷——训练结果不稳定。本源码可以用于线性回归、非线性回归、非线性函数拟合、数据建模、预测、分类等多种应用场合,GreenSim团队推荐您使用。 function [Alpha1,Alpha2,Alpha,Flag,B]=SVMNR(X,Y,Epsilon,C,TKF,Para1,Para2) %% % SVMNR.m % Support Vector Machine for Nonlinear Regression % All rights reserved %% % 支持向量机非线性回归通用程序 % GreenSim团队原创作品,转载请注明 % GreenSim团队长期从事算法设计、代写程序等业务 % 欢迎访问GreenSim——算法仿真团队→https://www.wendangku.net/doc/3316465082.html,/greensim % 程序功能: % 使用支持向量机进行非线性回归,得到非线性函数y=f(x1,x2,…,xn)的支持向量解析式,% 求解二次规划时调用了优化工具箱的quadprog函数。本函数在程序入口处对数据进行了% [-1,1]的归一化处理,所以计算得到的回归解析式的系数是针对归一化数据的,仿真测 % 试需使用与本函数配套的Regression函数。 % 主要参考文献: % 朱国强,刘士荣等.支持向量机及其在函数逼近中的应用.华东理工大学学报 % 输入参数列表 % X 输入样本原始数据,n×l的矩阵,n为变量个数,l为样本个数 % Y 输出样本原始数据,1×l的矩阵,l为样本个数 % Epsilon ε不敏感损失函数的参数,Epsilon越大,支持向量越少 % C 惩罚系数,C过大或过小,泛化能力变差 % TKF Type of Kernel Function 核函数类型 % TKF=1 线性核函数,注意:使用线性核函数,将进行支持向量机的线性回归 % TKF=2 多项式核函数 % TKF=3 径向基核函数 % TKF=4 指数核函数 % TKF=5 Sigmoid核函数 % TKF=任意其它值,自定义核函数 % Para1 核函数中的第一个参数 % Para2 核函数中的第二个参数 % 注:关于核函数参数的定义请见Regression.m和SVMNR.m内部的定义 % 输出参数列表 % Alpha1 α系数 % Alpha2 α*系数 % Alpha 支持向量的加权系数(α-α*)向量

Matlab考试题库+答案(中北大学)

1、标点符号; _______可以使命令行不显示运算结果, %——用来表示该行为注释行。 2、x 为0 ~4pi ,步长为0.1pi 的向量,使用命令_______创建。 x=0:0.1*pi:4*pi 3、输入矩阵A= 错误!未找到引用源。 ,使用全下标方式用A(2,2) 取出元素“-5 ”,使用单下标方式用_______取出元素“-5 ”。 A(5) 4、符号表达式sin(2*a+t)+m 中独立的符号变量为_______。 t 5、M 脚本文件和M 函数文件的主要区别是M 脚本文件没有函数定义和M 函数文件有函数定义_______。 6. 设x 是一维数组,x 的倒数第3个元素表示为_______; 设y 为二维数组,要删除y 的第34行和48列,可使用命令_______; _______; x(_end-2_) y(34,:)=[] y(:,48)=[] 7. 将变量x 以Ascii 文本格式存储到文件fname.txt ,应使用命令_________ _; save _x 8. 在while 表达式, 语句体, End 循环语句中,表达式的值__ __时表示循环条件为真,语句体将被执行,否则跳出该循环语句; 非零 9.要从键盘读入一个字符串并赋值给变量x ,且给出提示“Who is she?”,应使用命令_________; x=input(‘Who is she?’,’s’)_ 10.设A=错误!未找到引用源。和B=错误!未找到引用源。 和C=错误!未找到引用源。均为m*n 矩阵,且存在于WorkSpace 中,要产生矩阵 D=错误!未找到引用源。 ,可用命令________ _, 计算错误!未找到引用源。 可用命令________; D=(A-C)/B.^C det(inv(A’*B ) 11. 在MATLAB 命令窗口中的“>>”标志为MATLAB 的_______ 提示符,“│”标志为_______提示符。 命令行 输入 12.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。 A+B ; A.*B ; A==B ; ans= [2,2,6;5,10,0;7,9,11] ans= [1,0,9;4,25,0;0,8,18] ans= [1,0,1;0,1,1;0,0,0] 13.已知A 是矩阵,求A 的对角矩阵函数是_______, 求A 的下三角矩阵函数是_______ 。 diag tril 14.MATLAB 的程序文件和Simulink 模型文件的扩展名分别是_______、 。 .m .mdl 15.MATLAB 最基本的绘图函数为_______ 。 plot() 16. A=[1,2,3;4,5,6]; A(:,[1,3])=[];A=__________________ [2;5] 17. fix(-1.5)=___ ________, round(-1.5)=__ _______________. -1 -2

元胞自动机-森林火灾模型MATLAB代码

% 元胞自动机:森林火灾模型 % 规则: % (1)正在燃烧的树变成空格位; % (2)如果绿树格位的最近邻居中有一个树在燃烧,则它变成正在燃烧的树;% (3)在空格位,树以概率p生长; % (4)在最近的邻居中没有正在燃烧的树的情况下树在每一时步以概率f(闪%? 电)变为正在燃烧的树。 % 参考文献: % 祝玉学,赵学龙译,<<物理系统的元胞自动机模拟>>, p23 close all; clc; clear; figure; p=0.3;% 概率p f=6e-5;% 概率f axes; rand('state',0); set(gcf,'DoubleBuffer','on'); % S=round((rand(300)/2+0.5)*2); S=round(rand(300)*2); Sk=zeros(302);

Sk(2:301,2:301)=S;%%加边开始的森林初值% 红色表示正在燃烧(S中等于2的位置) % 绿色表示绿树(S中等于1的位置) % 黑色表示空格位(S中等于0的位置) C=zeros(302,302,3); R=zeros(300); G=zeros(300); R(S==2)=1; G(S==1)=1; C(2:301,2:301,1)=R; C(2:301,2:301,2)=G; Ci=imshow(C); ti=0; tp=title(['T = ',num2str(ti)]);%%时间记录while 1; ti=ti+1; St=Sk; %%St表示t时刻的森林情况 St(Sk==2)=0; % for rule (1) Su=zeros(302); Sf=Sk;%%Sf表示模拟着火的过程 Sf(Sf<1.5)=0;%%只留下着火点

元胞自动机与Matlab

元胞自动机与MATLAB 引言 元胞自动机(CA)是一种用来仿真局部规则和局部联系的方法。典型的元胞自动机是定义在网格上的,每一个点上的网格代表一个元胞与一种有限的状态。变化规则适用于每一个元胞并且同时进行。典型的变化规则,决定于元胞的状态,以及其(4或8 )邻居的状态。元胞自动机已被应用于物理模拟,生物模拟等领域。本文就一些有趣的规则,考虑如何编写有效的MATLAB的程序来实现这些元胞自动机。 MATLAB的编程考虑 元胞自动机需要考虑到下列因素,下面分别说明如何用MATLAB实现这些部分。并以Conway的生命游戏机的程序为例,说明怎样实现一个元胞自动机。 ●矩阵和图像可以相互转化,所以矩阵的显示是可以真接实现的。如果矩阵 cells的所有元素只包含两种状态且矩阵Z含有零,那么用image函数来显示cat命令建的RGB图像,并且能够返回句柄。 imh = image(cat(3,cells,z,z)); set(imh, 'erasemode', 'none') axis equal axis tight ●矩阵和图像可以相互转化,所以初始条件可以是矩阵,也可以是图形。以下 代码生成一个零矩阵,初始化元胞状态为零,然后使得中心十字形的元胞状态= 1。 z = zeros(n,n); cells = z; cells(n/2,.25*n:.75*n) = 1; cells(.25*n:.75*n,n/2) = 1; ●Matlab的代码应尽量简洁以减小运算量。以下程序计算了最近邻居总和,并 按照CA规则进行了计算。本段Matlab代码非常灵活的表示了相邻邻居。 x = 2:n-1; y = 2:n-1; sum(x,y) = cells(x,y-1) + cells(x,y+1) + ... cells(x-1, y) + cells(x+1,y) + ... cells(x-1,y-1) + cells(x-1,y+1) + ... cells(x+1,y-1) + cells(x+1,y+1); cells = (sum==3) | (sum==2 & cells); ●加入一个简单的图形用户界面是很容易的。在下面这个例子中,应用了三个 按钮和一个文本框。三个按钮,作用分别是运行,停止,程序退出按钮。文框是用来显示的仿真运算的次数。

MATLAB-智能算法30个案例分析-终极版(带目录)

MATLAB 智能算法30个案例分析(终极版) 1 基于遗传算法的TSP算法(王辉) 2 基于遗传算法和非线性规划的函数寻优算法(史峰) 3 基于遗传算法的BP神经网络优化算法(王辉) 4 设菲尔德大学的MATLAB遗传算法工具箱(王辉) 5 基于遗传算法的LQR控制优化算法(胡斐) 6 遗传算法工具箱详解及应用(胡斐) 7 多种群遗传算法的函数优化算法(王辉) 8 基于量子遗传算法的函数寻优算法(王辉) 9 多目标Pareto最优解搜索算法(胡斐) 10 基于多目标Pareto的二维背包搜索算法(史峰) 11 基于免疫算法的柔性车间调度算法(史峰) 12 基于免疫算法的运输中心规划算法(史峰) 13 基于粒子群算法的函数寻优算法(史峰) 14 基于粒子群算法的PID控制优化算法(史峰) 15 基于混合粒子群算法的TSP寻优算法(史峰) 16 基于动态粒子群算法的动态环境寻优算法(史峰) 17 粒子群算法工具箱(史峰) 18 基于鱼群算法的函数寻优算法(王辉) 19 基于模拟退火算法的TSP算法(王辉) 20 基于遗传模拟退火算法的聚类算法(王辉) 21 基于模拟退火算法的HEV能量管理策略参数优化(胡斐)

22 蚁群算法的优化计算——旅行商问题(TSP)优化(郁磊) 23 基于蚁群算法的二维路径规划算法(史峰) 24 基于蚁群算法的三维路径规划算法(史峰) 25 有导师学习神经网络的回归拟合——基于近红外光谱的汽油辛烷值预测(郁磊) 26 有导师学习神经网络的分类——鸢尾花种类识别(郁磊) 27 无导师学习神经网络的分类——矿井突水水源判别(郁磊) 28 支持向量机的分类——基于乳腺组织电阻抗特性的乳腺癌诊断(郁磊) 29 支持向量机的回归拟合——混凝土抗压强度预测(郁磊) 30 极限学习机的回归拟合及分类——对比实验研究(郁磊) 智能算法是我们在学习中经常遇到的算法,主要包括遗传算法,免疫算法,粒子群算法,神经网络等,智能算法对于很多人来说,既爱又恨,爱是因为熟练的掌握几种智能算法,能够很方便的解决我们的论坛问题,恨是因为智能算法感觉比较“玄乎”,很难理解,更难用它来解决问题。 因此,我们组织了王辉,史峰,郁磊,胡斐四名高手共同写作MATLAB智能算法,该书包含了遗传算法,免疫算法,粒子群算法,鱼群算法,多目标pareto算法,模拟退火算法,蚁群算法,神经网络,SVM等,本书最大的特点在于以案例为导向,每个案例针对一

Matlab考试题(卷)库+答案解析

一、选择题共10小题 二、填空题共10空 三、看程序填空 四、编程题 3题 填空题(计算部分) 1、标点符号; _______可以使命令行不显示运算结果, %——用来表示该行为注释行。 2、x为0~4pi,步长为0.1pi的向量,使用命令_______创建。 x=0:0.1*pi:4*pi 3、输入矩阵A=,使用全下标方式用A(2,2) 取出元素“-5”,使用单下标方式用_______取出元素“-5”。 A(5) 4、符号表达式sin(2*a+t)+m中独立的符号变量为_______。 t 5、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义_______。 6. 设x是一维数组,x的倒数第3个元素表示为_______; 设y为二维数组,要删除y的第34行和48列,可使用命令_______; _______; x(_end-2_) y(34,:)=[] y(:,48)=[] 7. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令_________ _; save _x 8. 在while 表达式, 语句体, End 循环语句中,表达式的值__ __时表示循环条件为真,语句体将被执行,否则跳出该循环语句; 非零 9.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令_________; x=input(‘Who is she?’,’s’)_ 10.设A=和B=和C=均为m*n矩阵,且存在于WorkSpace中,要产生矩阵D=,可用命令________ _, 计算可用命令________; D=(A-C)/B.^C

matlab基础练习题及答案

第1章 MATLAB 基础 MATLAB 操作桌面有几个窗口如何使某个窗口脱离桌面成为独立窗口又如何将脱离出去的窗口重新放置到桌面上 答:在MATLAB 操作桌面上有五个窗口。在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面成为独立窗口。在独立窗口的Desktop 菜单中选择Dock...项就可以将独立的窗口重新放置到桌面上。 如何启动M 文件编辑/调试器 答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动。在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器。 存储在工作空间中的数组能编辑吗如何操作 答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 命令历史窗口除了可以观察前面键入的命令外,还有什么用途 答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别 答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 在MATLAB 中有几种获得帮助的途径 答:(1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器。 (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息。 (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数。 (4)模糊查询:输入命令的前几个字母,然后按Tab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 在MATLAB 中如何建立矩阵??? ???194375,并将其赋予变量a 答:在Command Window 窗口输入操作: >> a=[5 7 3;4 9 1] 有几种建立矩阵的方法各有什么优点 答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷; (2)通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; (3)由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; (4)通过数据文件建立,该方法可以调用由其他软件产生数据。 在进行算术运算时,数组运算和矩阵运算各有什么要求 答:进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 数组运算和矩阵运算的运算符有什么区别 答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 计算矩阵??????????897473535与??? ?? ?????638976242之和。 答: 求??? ???+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。 答: 计算??????=572396a 与?? ? ???=864142b 的数组乘积。 答:

支持向量机matlab实现源代码知识讲解

支持向量机m a t l a b 实现源代码

edit svmtrain >>edit svmclassify >>edit svmpredict function [svm_struct, svIndex] = svmtrain(training, groupnames, varargin) %SVMTRAIN trains a support vector machine classifier % % SVMStruct = SVMTRAIN(TRAINING,GROUP) trains a support vector machine % classifier using data TRAINING taken from two groups given by GROUP. % SVMStruct contains information about the trained classifier that is % used by SVMCLASSIFY for classification. GROUP is a column vector of % values of the same length as TRAINING that defines two groups. Each % element of GROUP specifies the group the corresponding row of TRAINING % belongs to. GROUP can be a numeric vector, a string array, or a cell % array of strings. SVMTRAIN treats NaNs or empty strings in GROUP as % missing values and ignores the corresponding rows of TRAINING. % % SVMTRAIN(...,'KERNEL_FUNCTION',KFUN) allows you to specify the kernel % function KFUN used to map the training data into kernel space. The % default kernel function is the dot product. KFUN can be one of the % following strings or a function handle: % % 'linear' Linear kernel or dot product % 'quadratic' Quadratic kernel % 'polynomial' Polynomial kernel (default order 3) % 'rbf' Gaussian Radial Basis Function kernel % 'mlp' Multilayer Perceptron kernel (default scale 1) % function A kernel function specified using @, % for example @KFUN, or an anonymous function % % A kernel function must be of the form % % function K = KFUN(U, V) % % The returned value, K, is a matrix of size M-by-N, where U and V have M % and N rows respectively. If KFUN is parameterized, you can use % anonymous functions to capture the problem-dependent parameters. For % example, suppose that your kernel function is % % function k = kfun(u,v,p1,p2) % k = tanh(p1*(u*v')+p2); % % You can set values for p1 and p2 and then use an anonymous function: % @(u,v) kfun(u,v,p1,p2).

相关文档
相关文档 最新文档