当前位置:文档之家› 常用matlab语句

常用matlab语句

常用matlab语句
常用matlab语句

1、将txt文件数据导入matlab里面:

textread('D:\MATLAB7\work\a.txt')或者用load('D:\MATLAB7\work\a.txt')

2、将excel文件数据导入matlab里面:

x=xlsread('a.xls','sheet1','a1:a10') //excel文件名是a.xls,sheet1是表名,a1:a10是a列的1到10行

3、将向量坐标在matlab里作图:

x=xlsread('C:\Documents and Settings\Administrator\桌面\school\GIS\新建Microsoft Excel 工作表.xls',1,'A1:a1000');

y=xlsread('C:\Documents and Settings\Administrator\桌面\school\GIS\新建Microsoft Excel 工作表.xls',1,'b1:b1000');

plot(x,y);

//若要在同一图中作多个图,需成对用‘,’隔开即可plot(x,y1,x,y2)

title('函数图像');%设置图像标题

xlabel('X坐标');%设置图像X坐标名称

ylabel('Y坐标');%设置图像Y坐标名称

4、在matlab中寻找

自己想找的函数:

help(确定的情况下)

和lookfor(在不确定

函数名的情况下,如

下图)

(注:help命令比

lookfor要快得多)

5、搜索函数文件:>> which cross

D:\MATLAB7\toolbox\MATLAB\specfun\cross.m

6、关键字input用来提示直接从键盘输入初始化变量。

x=input('enter am input date:','s') //s表示以字符串形式输入,无需是省

enter am input date:1,2,3,5,97 //略,如果要输入矩阵,则需要用[ ]括

x = 1,2,3,5,97 //起来

7、>> c(:,:,1)=[1,2,3;4,5,6];

>> c(:,:,2)=[12,5,8;9,9,2];

>> whos

Name Size Bytes Class Attributes

c 2x3x2 96 double //输出两个2x3的数组>> c

c(:,:,1) =

1 2 3

4 5 6

c(:,:,2) =

12 5 8

9 9 2

8、多维数组的存储方式以列为主导,先存a(1,1),a(2,1),……a(1,2),a(2,2),……对于多维数组,数组的第一个下标增长最快,第二个仅次之,一次类推,最后一个变化最慢。例如一个2x2x2的数组中,他的元素内存分配顺序是(1,1,1),(2,1,1),(1,2,1),(2,2,1),(1,1,2),(2,1,2),(1,2,2),

(2,2,2)。

另外:matlaB还允许以一维下标的形式访问多维数组:

如:a=[1 2 3;4 5 6;7 7 8];中,a(5)=5。

End函数在数据提取中的应用:a=[1 2 3 4;5 6 7 8;9 10 11 12],则a(2:end,2:end)将会返回[6 7 8;10 11 12];而其中第一个end为行数,第二个end为列数。9、Inf 表示无穷大,一般是除以0产生的;

NaN 表示没有这个数,一般由数学运算得到,如0除以0

Clock 为包含年,月,日,时,分,秒的特殊变量,是一个6元素行向量;>> clock

ans = 1.0e+003 *

2.0110 0.0030 0.0100 0.0210 0.0520 0.0496

Date 输出当前日期,如:

>> date

ans =10-Mar-2011

10、

11、disp显示函数

>> str=['the value of pi=' num2str(pi)]; //num2str字符到字符串

>> disp(str)

the value of pi=3.1416

12、fprintf函数格式化输出数据

>> fprintf('the value of pi is %6.5f',pi)

the value of pi is 3.14159>> //%6.5f表示以6个字符,小数点后5位小数的浮点型

但是,fprintf不能显示虚数部分,忽略虚数部分。

13、matlab里有关于集合运算的函数有如下的一些:

intersect:集合交集

ismember :是否集合中元素

issorted:判断集合是否排序(相关函数,sort:排序)

setdiff :集合差集

setxor :集合异或(不在交集中的元素)

union :两个集合的并

unique :返回向量作为一个集合所有元素(去掉相同元素)

14、代数式因式分解,展开,极限,倒数,级数求和,泰勒级数展开

>>syms x y a b c t

>>E1 = expand((x-2)*(x-4)*(y-t)) //因式展开

>>E2 = expand(cos(x+y))

>>E3 = expand(exp((a+b)^3))

>>E4 = expand(log(a*b/sqrt(c)))

>>E5 = expand([sin(2*t), cos(2*t)])

>>factor(x^2*y-x^2*t-6*x*y+6*x*t+8*y-8*t) //因式分解

>>collect(a^2+2.3*a^2,'a') //合并同类项

>> limit(x^2,x,0,’right’or’left’) //表示x^2在0点对x求左or右极限,

x,0,right可默认为0和左右极限相等syms k

>> symsum(k^2,1,k-1) //k^2级数1到k-1项求和

>> taylor(x^2+77,3,'x',1) //将x^2+77按x在1处,以最高次数ans = 为3-1次展开taylor级数

76+2*x+(x-1)^2

15、数组乘法A.*B(对应元素相乘),数组右除A./B及数组左除A.\B(数组对应相除),数组指数运算A.^B(A(i,j)^B(i,j))。

16、阶乘计算

factorial(10) %10的阶乘

ans =

3628800

17、计算组合数的命令nchoosek和求所有组合的命令combntns

18、取出1到8,8个数中,6个数的所有组合

combntns(1:8,6)

ans =

1 2 3 4 5 6

1 2 3 4 5 7

1 2 3 4 5 8

1 2 3 4 6 7

1 2 3 4 6 8

1 2 3 4 7 8

1 2 3 5 6 7

1 2 3 5 6 8

1 2 3 5 7 8

1 2 3 6 7 8

1 2 4 5 6 7

1 2 4 5 6 8

1 2 4 5 7 8

1 2 4 6 7 8

1 2 5 6 7 8

1 3 4 5 6 7

1 3 4 5 6 8

1 3 4 5 7 8

1 3 4 6 7 8

1 3 5 6 7 8

1 4 5 6 7 8

2 3 4 5 6 7

2 3 4 5 6 8

2 3 4 5 7 8

2 3 4 6 7 8

2 3 5 6 7 8

2 4 5 6 7 8

3 4 5 6 7 8

19、设n个人中每个人的生日在一年365天中任一天是等可能的。 求当n为23,40,64时,这n个人中至少有两人生日相同的概率各为多少?

>> n=23;

>> p=1-nchoosek(365,n)*factorial(n)/365^n

运行结果:

p =

0.5073

>> n=40;

>> p=1-nchoosek(365,n)*factorial(n)/365^n

运行结果:

p =

0.8912

>> n=64;

>> p=1-nchoosek(365,n)*factorial(n)/365^n

运行结果:

p =

0.9972

20、

【实验内容】

1. 事件A 在每次试验中发生的概率是0.3,计算

(1)在10 次试验中A 恰好发生6 次的概率;

(2)生成事件A发生次数的概率分布;

(3)在10 次试验中A 最多发生6 次的概率;

(4)设事件A发生次数为X,且X的分布函数为F(x),求F(6.1);又已知F (x)=0.345,求x。

1.(1)>> binopdf(6,10,0.3)

运行结果为:

ans =

0.0368

(2)>>binopdf(0:10,10,0.3)

运行结果为:

ans =

Columns 1 through 8

0.0282 0.1211 0.2335 0.2668 0.2001 0.1029 0.0368 0.0090

Columns 9 through 11

0.0014 0.0001 0.0000

(3)>>binocdf(6,10,0.3)

运行结果为:

ans =

0.98944

(4)>> binocdf(6.1,10,0.3)

运行结果为:

ans =

0.9894

>> binoinv(0.345,10,0.3)

运行结果为:

ans =

2

或者:>> icdf('bino',0.345,10,0.3)

运行结果为:

ans =

2

21、如果程序语句过长,需用…连接,跳行继续编写。

22、程序运行中用ctrl+c强制结束。

23、查找正在执行文件版本和路径:

>>which cross

D:\MATLAB7\toolbox\MATLAB\specfun\corss.m

24、用zeros()创建0矩阵:

Zeros(2),zeros(2,3),

C=[1 2;3 4],d=zeros(size(c));

同理ones( ),eye( );1矩阵和单位矩阵

Length(arr)用于返回向量的长度和二维数组最长的那一维数;

Size(arr)返回指定数组的行数和列数。

25、最大值函数,index为第几位

[max index]=max([4 2 4 5])

max =

5

index =

4

26、try

Statement 1

Statement 2

...

catch

Statement 1

Statement 2

...

end

当程序运行到try/catch语句块,在try语句块中的一些语句将会被执行。如果没有错误出现,catch语句块将会被跳过。另一方面,如果错误发生在一个try 语句块,那么程序将中止执行try语句块,并立即执行catch语句块。

27、figure 函数同时绘多个图像

>> figure(1);

>> x=1:0.5:3;

>> y1=exp(x);

>> plot(x,y1);

>> figure(2);

>> y2=exp(-x);

>> plot(x,y2);

1

1.2 1.4 1.6 1.8 2

2.2 2.4 2.6 2.8 3 2

4681 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 0

0.050.10.150.20.250.30.350.4

figure(1);

subplot(2,1,1); %2*1个窗口中第一个窗口

x=-pi:pi/20:pi;

y=sin(x);

plot(x,y);

title('subplot 1 title');

subplot(2,1,2);

x=-pi:pi/20:pi;

y=cos(x);

plot(x,y);

title('subplot 2 title');

-4-3-2-10

1234

-1-0.5

0.5

1

subplot 1 title

-4-3-2-101234-1-0.5

0.5

1

subplot 2 title

28、>> a=imread('F:\桌面\图片\2011-07-04-0.bmp');

>> image(a);

50

100

150

200

29、for ii = 1:100 ii=1:100

Square(ii)=ii^2; square=ii.^2;

Square_root(ii)=ii^(1/2); square_root =ii.^(1/2);

Cube_root(ii)=ii^(1/3); cube_root =ii.^(1/3);

end

以上代码效果一样,但是矩阵数组运算比for几乎快15倍还多,而需花更多的内存供中间创建数组使用。

30、tic函数复位内建计时器,而toc函数则从最后一次调用tic以秒开始计时。

>> tic;

>> t=toc

t =

2.8483e-004

31、逻辑数组

>> a=[1,2,3;4,5,6;7,8,9];

>> b=a>5

b =

0 0 0

0 0 1

1 1 1

>>a(b)=sqrt(a(b))或者a(~b)类似

a =

1.0000

2.0000

3.0000

4.0000

5.0000 2.4495

2.6458 2.8284

3.0000

32、计算括号里面的值

a=eval('4^2')

a =

16;

33、ezplot(‘sin(x)/x’,[-4*pi*pi]);

Title(‘plot of sin(x)/x’);

Grid on;

fplot 与ezplot 相类似,但更加精确。前两个参数与函数ezplot 中的相同,但是数fplot 还有其他优点

1. 函数fplot是适应性的,它意味着在自变量范围内函数突然变化显示更多的点。

2. 函数fplot支持TEX 命令,用来指定坐标图的标题和坐标轴标签,而函数ezplot不能。

在一般情况下,在画函数图象时,你应当使用函数fplot。

34、pcacov

功能:运用协方差矩阵进行主成分分析

格式:PC=pcacov(X)

[PC,latent,explained]=pcacov(X)

说明:[PC,latent,explained]=pcacov(X)通过协方差矩阵X 进行主成分分析,返回主成分(PC)、协方差矩阵X 的特征值(latent)和每个特征向量表征在观测量总方差中所占的百分数(explained)。

格式 B = repmat(A,m,n) %将矩阵A 复制m×n 块,即B 由m×n 块A 平铺而成。

B = repmat(A,[m n]) %与上面一致

B = repmat(A,[m n p…]) %B 由m×n×p×…个A 块平铺而成

repmat(A,m,n) %当A 是一个数a 时,该命令产生一个全由a

组成的m×n 矩阵

35、sparse 数据类型用于对稀疏矩阵进行运算,它在内存中只存储非零元素的:元素值,元素的行列号。

36、(1)用赋值语句创建单元列阵(下面两种等价)

(2)用cell 函数创建单元列阵

(3)显示单元列阵内容

21、神经网络

神经网络工具箱Neural Netwoks Toolbox (NNT)。

对于感知器的初始化、训练、仿真,在MA TLABP神经网络工具箱中分别提供了init( ), trainp( )和sim( )函数

1.初始化函数init( )

感知器初始化函数init( )可得到R个输入,S个神经元数的感知器层的权值和阀值,其调用格式为:

[w,b]=init(R,S)

另外,也可以利用输入向量P和目标向量t来初始化。

[w,b]=init(p,t)

在介绍trainp( )函数前,让我们先介绍一下训练的控制参数tp。

tp=[disp_freq max_epoch]

其中disp_freq指定两次显示间训练次数,缺省值为1;map_epoch指定训练的最大次数,缺省值为100。

调用训练函数trainp( )函数后又得到新的权值矩阵,阀值向量以及误差te。trainp( )函数所需要的输入变量为:输入向量P、目标向量t以及网络的初始权值和阀值,训练的控制参数tp。调用格式为:

[w,b,te]=trainp(w,b,p,t,tp)

由于函数trainp( )并不能保证感知器网络所得到的网络权值和阀值达到要求。因此,在训练完后,要用下列验证语句验证一下。

a=sim(p, w, b);

if all(a= =t),disp( ′It works!′),end

假如网络不能成功运行,就可以继续运用trainp( )函数对网络进行训练。经足够的训练后,网络仍达不到要求,那么就应当认真分析一下,感知器网络是否适合于这个问题。

3.仿真函数sim( )

sim( )函数主要用于计算网络输出。它的调用比较简单。

a=sim(p,w,b)

在MA TLAB神经网络工具箱中提供了基于线性神经网络的初始化函数initlin( )、设计函数solvelin( )、仿真函数simulin( )以及训练函数trainwh和adaptwh。下面我们将分别介绍多种函数的使用方法。

1.初始化函数initlin( )

函数initlin( )对线性神经网络初始化时,将权值和阀值取为绝对值很小的数。其使用格式

[w,b]=initlin(R,S)

R为输入数,S为神经元数。

另外,R和S也可用输入向量P和目标向量t来代替,即

[w,b]=initlin(p,t)

2.设计函数solvelin( )

与大多数其它神经网络不同,只要已知其输入向量P和目标向量t,就可以直接设计出线性神经网络使得线性神经网络的权值矩阵误差最小。其调用命令如下:

[w,b]=solve lin(p,t);

3.仿真函数simulin( )

函数simulin( )可得到线性网络层的输出

a=simulin(p,w,b)

其中a为输出向量,b为阀值向量

4.训练函数trainwh 和adaptwh( )

线性神经网络的训练函数有两种:trainwh( )和adaptwh( )。其中函数trainwh可以对线性神经网络进行离线训练;而函数adaptwh( ) 可以对线性神经网络进行在线自适应训练。

利用trainwh( )函数可以得到网络的权矩阵w,阀值向量b,实际训练次数te 以及训练过程中网络的误差平方和lr。

[w,b,te,lr]=trainwh(w,b,p,t,tp)

输入变量中训练参数tp为:

·tp(1)指定两次更新显示间的训练次数,其缺省值为25;

·tp(2)指定训练的最大次数,其缺省值为100;

·tp(3)指定误差平方和指标,其缺省值为0.02;

·tp(4)指定学习速率,其缺省值可由maxlinlr( )函数(此函数主要用于计算采用W-H 规则训练线性网络的最大的稳定的分辨率)得到。

而利用函数adaptwh( )可以得到网络的输出a、误差e、权值矩阵w和阀值向量b。

[a,e,w,b]=adaptwh(w,b,p,t,lr)

输入变量lr为学习速率,学习速率lr 为可选参数,其缺省值为1.0。

另外,函数maxlinlr( )的调用格式为:

lr=maxlinlr(p);

线性神经网络的应用举例

为了理解线性神经网络的理论及其应用问题,下面给出一个实际问题进行分析,设计一个线性神经网络,用于信号仿真及信号预测。

首先输入信号样本为:

time=1:0.0025:5;

p=sin(sin(time)*time*10);

目标信号为:

t=p*2+2;

图形显示样本信号的规律为:

plot(time, p, time, t, ’---’)

title(‘Input and Target Signals’)

xlabel(‘Time’)

ylabel(‘Input__ Target__’)

图3.3 样本信号

利用输入样本信号和理想输出进行线性神经网络初始化:[w,b]=initlin(p,t)

然后利用函数adaptwh对构造的网络进行训练,

lr=0.01;[a, e, w, b]=adaptwh(w, b, p, t, lr)

其中lr为学习率,a为网络的输出,e为误差。

仿真结果与目标信号对比分析:

plot(time, a, time, t, ‘--’)

title(‘Output and Target Signals’)

xlabel(‘Time’);

图3.4 仿真结果与目标信号对比分析误差分析:

plot(time,e)

hold on;plot([min(time) max(time)],[0 0],':r')

xlabel('Time');ylabel('Error')

图3.5 误差分析

重要BP神经网络函数的使用方法

函数initff( )和simuff可以用来初始化和仿真不超过三层的前馈型网络。函数trainbp( )、trainbpx( )、trainlm( )可用来训练BP网络。其中trainlm( )的训练速度最快,但它需要更大的存储空间,也就是说它是以空间换取了时间;trainbpx( )的训练速度次之;trainlm( )最慢。

1.初始化函数initff( )

函数initff( )的主要功能就是对至多三层的BP网络初始化。其使用格式有多种,现列如下:

[w,b]=initff(p, s, f)

[w1, b1, w2, b2]=initff(p, s1, f1, s2, f2)

[w1, b1, w2, b2, w3, b3]=initff(p, s1, f1, f2, s3, f3)

[w, b]=initff(p, s, t)

[w1,b1,w2,b2]=initff(p, s1, f1, s2, t)

[w1, b1, w2, b2, w3, b3]=initff(p, s1, f1, s2, f2, s3, t)

[w, b]=initff(p, s, f)可得到s个神经元的单层神经网络的权值和阀值,其中p为输入向量,f为神经元的激励函数。

BP网络有一个特点很重要,即p中的每一行中必须包含网络期望输入的最大值和最小值,这样才能合理地初始化权值和阀值。

2.仿真函数simuff( )

BP网络是由一系列网络层组成,每一层都从前一层得到输入数据,函数simuff( )可仿真至多三层前馈型网络。对于不同的网络层数,其使用格式为:

a=simuff(p, w1, b1, f1)

a=simuff(p, w1, b1, f1, w2, b2, f2)

a=simuff(p, w1, b1, f1, w2, b2, f2, w3, b3, f3)

以上三式分别为单层、双层和三层网络结构的仿真输出。

3.训练函数

关于前面所提到的几种BP网络训练函数,在这里只介绍其中之一:trainbp( )。

函数trainbp( )利用BP算法训练前馈型网络。trainbp( )函数可以训练单层、双层和三层的前馈型网络,其调用格式分别为:

[w, b, te, tr]=trainbp(w, b, f′,p, t, tp)

[w1, b1, w2, b2, te, tr]=trainbp(w1,b1, f1′,w2, b2, f2′,p, t, tp)

[w1,b1,w2,b2,w3,b3,te,tr]=trainbp(w1, b1, f1′,w2, b2, f2′,w3, b3, f3′,p, t, tp)

可选训练参数tp内的四个参数依次为:

·tp(1)指定两次显示间的训练次数,其缺省值25;

·tp(2)指定训练的最大次数,其缺省值100;

·tp(3)指定误差平方和指标,其缺省值0.02;

·tp(4)指定学习速率,其缺省值0.01;

只有网络误差平方和降低到期望误差之下,或者达到了最大训练次数,网络才停止学习。学习速率指定了权值与阀值的更新比例,较小学习速率会导致学习时间较长,但可提高网络权值收敛效果。

BP网络的应用举例

BP网络的函数逼近举例:设计一个BP网络,其隐含层神经元的激励函数为双曲正切函数,输出层神经元的激励函数为线性函数,学习样本为21组单输入矢量,理想输出为相应的单输出矢量。

输入矢量为:

p=-1:0.1:1;

理想输出矢量为:

t=[-0.96 -0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 -0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201];

输入输出的函数关系曲线:

plot(p,t)

xlabel('Input')

ylabel('Output')

图4.4 输入输出关系

利用输入和理想输出进行BP神经网络初始化:

[w1,b1,w2,b2]=initff(p,5,'tansig',t,'purelin')

利用函数trainbp对构造的BP网络进行训练:

df=10

me=8000

eg=0.02

lr=0.01

tp=[df me eg lr]

[w1,b1,w2,b2,ep,tr]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp)

其中df指定两次显示间的训练次数,其缺省值25;me指定训练的最大次数,其缺省值100;eg指定误差平方和指标,其缺省值0.02;lr指定学习速率,其缺省值0.01;

训练结果与理想输出对比分析:

图4.5 训练结果与理想输出对比分析

网络的训练过程中,网络收敛效果一定程度上要受网络初始化的初始值的影响,实际输出和理想输出的误差的变化情况可以反映网络学习的效果,这一点可以通过如图4.6反映:ploterr(tr, eg)

其中tr为网络学习的循环次数。

图4.6 误差曲线

重要径向基函数的函数使用方法

径向基函数网络的仿真是用函数simurb( )来实现的,传递函数是radbas( ),而它的训练可以用两个函数来实现,solverb或solverbe。

1.仿真函数simurb ( )

径向基函数网络只有一个隐含层,隐含层单元采用径向基函数作为其输出特性,输入层到输出层之间的权值均固定为1,输出节点为线性求和单元,隐含层到输出层节点之间的权值可以调节。径向基函数网络能在有限步内以任意精度拟合函数,而且训练时间比较短。

仿真函数simurb( )可得网络层的输出

a=simurb(p,w1,b1,w2,b2)

式中,p为输入矢量,w1,b1为径向基神经元层的权值和阀值,w2,b2为线性神经元的权值和阀值。

2.径向基传递函数rodbas( )

径向基传递函数用于径向基网络中,其使用方式多种:

radbas(n)

radbas(z,b)

其中radbas(n)函数可对网络输入矩阵n中的所有元素如同径向基函数。

radbas(z,b)函数提供成批处理矢量,并且提供阀值的情况,这时阀值b与加权输入矩阵z是分开的,阀值b乘以z 中的每个矢量,以形成网络的输入矢量,然后利用径向基函数网络输入转换成输出。

对于径向基函数的训练可用两个函数来实现。现在我们介绍如下:

1)solverb ( )

径向基函数网络能较好地拟合任意有限值函数,而且可以通过快速的设计来取代漫长的训练。

利用solverb ( )函数可得到径向基函数隐层的权值w1和阀值b1,还得到了线性输出层的权值w2和阀值b2。

[w1, b1, w2, b2]=solverb(p, t, tp)

其中设计参数tp指示如何进行训练。

·tp(1)指定更新显示之间的迭代次数,其缺省值25;

·tp(2)指定最多的神经元数,其缺省值100;

·tp(3)误差平方和门限,缺省值为0.02;

·tp(4)指定径向基层的宽度,缺省值1.0。

2)函数solverbe( )

函数solverbe( )的订功能是精确径向基函数求解。利用solverbe( )也可得到径向基网络隐层的权值w1和阀值b1,以及线性输出层的权值w2和阀值b2。其调用格式如下[w1, b1, w2, b2]=solverbe(p, t, sc)

式中的可逆变量sc为径向基函数的宽度,即从函数值为1到其值为0.5之间的距离,其缺省值为1。

重要的反馈网络函数

matlab代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录1.1 管理用命令 函数名功能描述函数名功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文件 doc 装入超文本文档 version 显示Matlab的版本号 help 启动联机帮助 what 列出当前目录下的有关文件 lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性 lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录 path 设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear 删除内存中的变量与函数 pack 整理工作空间内存 disp 显示矩阵与文本 save 将工作空间中的变量存盘 length 查询向量的维数 size 查询矩阵的维数 load 从文件中装入数据 who,whos 列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd 改变当前工作目录 edit 编辑.M文件 delete 删除文件 matlabroot 获得Matlab的安装根目录 diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录 dir 列出当前目录的内容 tempname 获得一个缓存(temp)文件 ! 执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面format 设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc 启动主程序 quit 退出Matlab环境 startup Matlab自启动程序 附录2 运算符号与特殊字符附录 2.1运算符号与特殊字符 函数名功能描述函数名功能描述

matlab循环语句

matlab 基本语句 1.循环语句for for i=s1:s3:s2 循环语句组 end 解释:首先给i赋值s1;然后,判断i是否介于s1与s2之间;如果是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。 例:求1到100的和,可以编程如下: sum=0 for i=1:1:100 sum=sum+i end 这个程序也可以用while语句编程。 注:for循环可以通过break语句结束整个for循环. 2.循环语句while 例:sum=0;i=1; while(i<=100) sum=sum+i;i=i+1; end 3.if语句 if(条件) 语句 end if(条件) 语句 else 语句 end if(条件) 语句 elseif 语句 end 4.关系表达式:

=,>,<,>=,<=,==(精确等于) 5.逻辑表达式:|(或),&(且) 6.[n,m]=size(A)(A为矩阵) 这样可以得到矩阵A的行和列数 n=length(A),可以得到向量A的分量个数;如果是矩阵,则得到矩阵A的行与列数这两个数字中的最大值。 7.!后面接Dos命令可以调用运行一个dos程序。 8.常见函数: poly():为求矩阵的特征多项式的函数,得到的为特征多项式的各个系数。如 a=[1,0,0;0,2,0;0,0,3],则poly(a)=1 -6 11 -6。相当于poly(a)=1入^3+(-6)入^2+11入+(-6)。 compan():可以求矩阵的伴随矩阵. sin()等三角函数。 MATLAB在数学建模中的应用(3) 一、程序设计概述 MATLAB所提供的程序设计语言是一种被称为第四代编程语言的高级程序设计语言,其程序简洁,可读性很强,容易调试。同时,MATLAB的编程效率比C/C++语言要高得多。 MATLAB编程环境有很多。常用的有: 1.命令窗口 2.word窗口 3.M-文件编辑器,这是最好的编程环境。 M-文件的扩展名为“.m”。M-文件的格式分为两种: ①λ M-脚本文件,也可称为“命令文件”。 ② M-函数文件。这是matlab程序设计的主流。λ 保存后的文件可以随时调用。 二、MATLAB程序结构 按照现代程序设计的观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构是:顺序结构、选择结构和循环结构。其中顺序结构是最基本的结构,它依照语句的自然顺序逐条地执行程序的各条语句。如果要根据输入数据的实际情况进行逻辑判断,对不同的结果进行不同的处理,可以使用选择结构。如果需要反复执行某些程序段落,可以使用循环结构。 1 顺序结构 顺序结构是由两个程序模块串接构成。一个程序模块是完成一项独立功能的逻辑单元,它可以是一段程序、一个函数,或者是一条语句。 看图可知,在顺序结构中,这两个程序模块是顺序执行的,即先执行<程序

MATLAB绘图常用示例语句

MATLAB绘图常用示例语句 clear;%初始化数据 clc;%清屏 close all;%关闭所有绘图 x=[]; y=[]; plot(x,y,'k.');%绘制曲线,单引号内为线型与颜色 plot(x1,y1,'k+-',x2,y2,'k--',x3,y3,'k-.','linewidth',2.5);%在一幅图上同时绘制多条曲线,及线宽设置 %字母颜色标点线型 % y 黄色? 点线 % m 粉红○圈线 % c 亮蓝××线 % r 大红++字线 % g 绿色-实线 % b 蓝色* 星形线 % w 白色:虚线 % k 黑色(--) 点划线 xlabel('频率(Hz)');%横坐标说明 ylabel('流量(L/min)');%纵坐标说明 title('');%图形标题 legend('','','');%线型说明

axis([xmin xmax ymin ymax])%设置x轴,y轴范围 grid on;%网格 hold on;%在原图上继续绘图 figure;%重新生成新的绘图 fid1=fopen('F:\实验数据\D6_100V_1Hz_2.txt','r'); %读取.txt 数据 title1=fgetl(fid1); title2=fgetl(fid1); title3=fgetl(fid1); title4=fgetl(fid1);%去除txt文件中的前四行 fz=50000;%设置采样频率 dianshu=200000;%所取点数 [A,N]=fscanf(fid1,'%f',[2,dianshu+100]);%从文件中读出数据[数据数组,总数据个数](数据存放变量,'数据类型',[列数,行数]) x=A(1,1:dianshu);%读取数据第1列 x1=x';%行列向量转置 y=A(2,1:dianshu);%读取数据第二列 %以下为滤波程序(主要调节参数c的大小) c=100; wn=0.1; fs=50000; %采样频率;

MATLAB之变量、函数及常用语句

1、变量命名规则: 变量名的第一个字符必须是英文字母,最多包含31个字符(包括英文字母、数字和下画线),变量中不得包含空格和标点符号,不得包含加减号。变量名和函数区别字母的大小写,如matrix和Matrix表示两个不同的变量。要防止它与系统的预定义变量名(如i,j,pi,eps等)、函数名(如who,length等)、保留字(如for,if,while,end等)冲突。变量赋值用“=”(赋值号)。 有一些变量永久驻留在工作内存中,不能再重新赋值。这些变量见下表 2、基本初等函数 3、几个常用的函数

real(z) 取复数z的实部 image(z) 取复数z的虚部 angle(z) 取复数z的辐角 conj(z) 取复数z的共轭 mod(m,n) 输出m除以n的余数 4、数据文件的存储和调用 在清除变量或退出MATLAB后,变量不复存在。为了保存变量的值,可以把它们存储在数据文件中。例如,在指令窗口中输入>>clear;x=pi/3;a=sin(x);b= cos(x);c=2*a+b执行以后,在File菜单中选Save Workspace As 存入数据文件(例如abc.mat)。则在以后的操作中可以调用这个数据文件。只要在File菜单中点Open操作,就可以打开这个文件。 4.1)M文件 在进行复杂运算时,在指令窗口高度程序或修改指令是不方便的,因此需要从指令窗口工具栏的新建按钮或选择菜单File:New:M-Fil进入MATLAB的程序编辑器窗口,以编写自己的M文件。 M文件有二类:M脚本文件和M函数文件。 将多条MATLAB语句写在编辑器中,以扩展名为m的文件保存在某一目录中,就得到一个脚本文件。例如在M文件编辑器中输入 clear;n=1:100;s=sum%sum是求和命令(如下图),然后单击工具栏中的保存按钮,保存中选择Debug:run菜单,则会在指令窗口输出:s=5050 *注:文件名与变量名的命名规则相同,M文件一般用小写字母。尽管MATLA B区分变量名的大小写,但不区分文件名的大小写。 M 脚本文件没有参数传递功能,但M函数文件有些功能,所以M函数文件用得更为广泛。M函数文件的格式有严格规定,它必须以“ function ”开头,其格式如下: Function 输出变量=函数名称(输入变量) 语句; 因为M函数必须给输入参数赋值,所以编写M函数必须在编辑器窗口中进行,而执行M函数要在指令窗口,并给输入参数赋值。M函数不能像M脚本文件那样在编辑器窗口通过Debug:run 菜单执行。M函数可以被其它M函数文件或M脚本

Matlab语言学习知识基础学习知识

一、Matlab的变量与常量 Matlab中变量和常量存储都是相应的数据。 数据类型:基本类型、构造类型、符号对象 基本类型:数字型、字符串型 数字型:整型、浮点型 整形:无符号、有符号(int8、int16、int32、int64 1位、2位、4位、8位)浮点型:单精度(32位)、双精度(64位) 基本类型:数组类型(常见)、细胞类型、结构类型、类类型 符号对象(比较少见) 变量:在运算过程中其数值可以改变的量; 常量:在运算过程中其数值不改变的量。 变量命名规则: 变数名称是由一个字母开头,其后可以有任意数量的字母、数字或下划线。在变量命名时尽量使用小写字母,名字要有实在的意义,不要和系统保留的关键字(常量)和函数名相同的名字,容易出错。 MATLAB是区分大小写的,变量名可以是任意长度。 Matlab语言是一种弱类型语言,C语言是强类型语言,变量在复制之前要对它的类型进行严格的申明,不同就会出错,而matlab不需要事先申明。 变量初始化: 1、采用赋值语句初始化变量; 2、用input函数从键盘输入初始化变量,如下: 3、matlab已经定义好了的一些常量: I、j虚数;Inf无穷大;NaN不定式;pi圆周率;ans特殊的变量。 二、matlab的基本数据结构 标量、向量、数组、矩阵的概念:标量、向量、数组本质上是特殊的矩阵形式;matlab 常用的是二维矩阵;标量1*1的矩阵;向量可以看成是1行或者1列的矩阵;向量是数学中的说法,数组是matlab语言中的说法,但向量和数组在这里指的是同一种数据结构,可以

互用。 手动生成矩阵: 行矩阵:a = [1 2 3] 列矩阵:b = [1 2 3]’或 b = [1;2;3] 2*2矩阵:c = [1 2;3 4] 使用内置函数生成矩阵:常用的有 o nes,eye,zeros,size,length. 利用冒号表达式生成矩阵: 冒号:用来生成向量,定义数组下标,数组的循环迭代。 生成航向量: 生成列相量:

常用matlab语句

1、将txt文件数据导入matlab里面: textread('D:\MATLAB7\work\a.txt')或者用load('D:\MATLAB7\work\a.txt') 2、将excel文件数据导入matlab里面: x=xlsread('a.xls','sheet1','a1:a10') //excel文件名是a.xls,sheet1是表名,a1:a10是a列的1到10行 3、将向量坐标在matlab里作图: x=xlsread('C:\Documents and Settings\Administrator\桌面\school\GIS\新建Microsoft Excel 工作表.xls',1,'A1:a1000'); y=xlsread('C:\Documents and Settings\Administrator\桌面\school\GIS\新建Microsoft Excel 工作表.xls',1,'b1:b1000'); plot(x,y); //若要在同一图中作多个图,需成对用‘,’隔开即可plot(x,y1,x,y2) title('函数图像');%设置图像标题 xlabel('X坐标');%设置图像X坐标名称 ylabel('Y坐标');%设置图像Y坐标名称 4、在matlab中寻找 自己想找的函数: help(确定的情况下) 和lookfor(在不确定 函数名的情况下,如 下图) (注:help命令比 lookfor要快得多) 5、搜索函数文件:>> which cross D:\MATLAB7\toolbox\MATLAB\specfun\cross.m 6、关键字input用来提示直接从键盘输入初始化变量。 x=input('enter am input date:','s') //s表示以字符串形式输入,无需是省

MATLAB中常用的工具箱

6.1.1MA TLAB中常用的工具箱 MA TLAB中常用的工具箱有: Matlab main toolbox——matlab主工具箱 Control system toolbox——控制系统工具箱Communication toolbox——通信工具箱 Financial toolbox——财政金融工具箱 System identification toolbox——系统辨识工具箱 Fuzzy logic toolbox ——模糊逻辑工具箱 Higher-order spectral analysis toolbox——高阶谱分析工具箱Image processing toolbox——图像处理工具箱 Lmi contral toolbox——线性矩阵不等式工具箱 Model predictive contral toolbox——模型预测控制工具箱 U-Analysis ang sysnthesis toolbox——u分析工具箱 Neural network toolbox——神经网络工具箱 Optimization toolbox——优化工具箱 Partial differential toolbox——偏微分奉承工具箱 Robust contral toolbox——鲁棒控制工具箱 Spline toolbox——样条工具箱 Signal processing toolbox——信号处理工具箱 Statisticst toolbox——符号数学工具箱 Symulink toolbox——动态仿真工具箱 System identification toolbox——系统辨识工具箱 Wavele toolbox——小波工具箱 6.2优化工具箱中的函数 1、最小化函数 2、最小二乘问题 3、方程求解函数

(完整版)matlab基本语句

第2章M ATLAB程序设计 MATLAB语言为解释型程序设计语言。在程序中可以出现顺序、选择、循环三种基本控制结构,也可以出现对M-文件的调用(相当于对外部过程的调用)。 由于 MATLAB开始是用FORTRAN语言编写、后来用 C语言重写的,故其既有FORTRAN的特征,又在许多语言规则方面与C语言相同。 2.1 顺序结构语句 在顺序结构语句中,包括表达式语句、赋值语句、输入输出语句、空语句等。

2.1.1 表达式语句 格式: 表达式,%显示表达式值 表达式;%不显示表达式值 表达式%显示表达式值 如: x + y, sin(x); –5 最后的表达式值暂保存在变量ans中。 2.1.2 赋值语句 格式: v =表达式,%结果送v并显示v v =表达式;%结果送v不显示v v =表达式%结果送v并显示v 2.1.3 空语句 格式: , ; 2.1.4 输入语句

1、input语句(实际上是函数) 格式1: input(提示字符串) 功能: 显示提示字符串,可输入数字、字符串(两端用单引号括起)、或表达式 格式2: input(提示字符串,'s') 功能: 显示提示字符串,并把输入视为字符串 2、yesinput语句 格式: yesinput(提示字符串,缺省值,值范围) 功能: 显示提示字符串和缺省值,若只打入回车则以缺省值作为输入值,若输入的值不在指定范围内则认为输入无效,B并等待用户重新输入。 如: t=yesinput('指定线的颜色',… 'red','red|blue|green') 运行结果如下: 指定线的颜色(red):yellow %不在值内

matlab基础语句句法和举例

roots Syntax Descriptionr = roots(c) returns a column vector whose elements are the roots of the polynomial c. Row vector c contains the coefficients of a polynomial, ordered in descending powers. If c has n+1 components, the polynomial it represents is c1x n+c2x (n-1)+…+c n-1+1. >> c=[ 1 2 3] c = 1 2 3 >> roots(c) ans = -1.0000 + 1.4142i -1.0000 - 1.4142i exp exp Exponential SyntaxY = exp(X) DescriptionThe exp function is an elementary function that operates element-wise on arrays. Its domain includes complex numbers. Y = exp(X) returns the exponential for each element of X log %(注意MA TLAB里log是ln的意思) log Natural logarithm SyntaxY = log(X) DescriptionThe log function operates element-wise on arrays. Its domain includes complex and negative numbers, which may lead to unexpected results if used unintentionally. Y = log(X) returns the natural logarithm of the elements of X. >> exp(log(1)) ans = 1

matlab基本语句

matlab基本语句 1。循环语句for?for i=s1:s3:s2 循环语句组?end?解释:首先给i赋值s1;然后,判断i就是否介于s1与s2之间;如果就是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。 例:求1到100得与,可以编程如下: sum=0?for i=1:1:100 sum=sum+i end?这个程序也可以用while语句编程。 注:for循环可以通过break语句结束整个for循环。2??。循环语句while 例:sum=0;i=1; while(i〈=100)?sum=sum+i;i=i+1; end 3。if语句?if(条件)?语句 end? if(条件)?语句?else?语句?end ?if(条件) 语句 elseif?语句?end?? 4.关系表达式: =,>,〈,>=,<=,==(精确等于)5?。逻辑表达式:|(或),&(且)??6。[n,m]=size(A)(A 为矩阵)?这样可以得到矩阵A得行与列数?n=length(A),可以得到向量A得分量个数;如果就是矩阵,则得到矩阵A得行与列数这两个数字中得最大值、 ?7、!后面接Dos命令可以调用运行一个dos程序、 8.常见函数: poly():为求矩阵得特征多项式得函数,得到得为特征多项式得各个系数。如a=[1,0,0;0,2,0;0,0,3],则poly(a)=1-6 11 -6。相当于poly(a)=1入^3+(-6)入^2+11入+(—6)。?pan():可以求矩阵得伴随矩阵、?sin()等三角函数。 MATLAB在数学建模中得应用(3)? 一、程序设计概述?MATLAB所提供得程序设计语言就是一种被称为第四代编程语言得高级程序设计语言,其程序简洁,可读性很强,容易调试、同时,MATLAB得编程效率比C/C ++语言要高得多、 MATLAB编程环境有很多、常用得有: 1. 命令窗口? 2. word窗口 3、M-文件编辑器,这就是最好得编程环境。 M—文件得扩展名为“。m”。M-文件得格式分为两种:?①l M-脚本文件,也可称为“命令文件”。?②M-函数文件、这就是matlab程序设计得主流。l?保存后得文件可以随时调用、?二、MATLAB程序结构?按照现代程序设计得观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构就是:顺序结构、选择结构与循环

最新Matlab中常见数学函数的使用

给自己看的----Matlab的内部常数(转) 2008/06/19 14:01[Ctrl C/V--学校 ] MATLAB基本知识 Matlab的内部常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf或inf 无穷大 Matlab的常用内部数学函数

如何用matlab进行多项式运算 (1)合并同类项 syms 表达式中包含的变量 collect(表达式,指定的变量) (2)因式分解 syms 表达式中包含的变量factor(表达式) (3)展开 syms 表达式中包含的变量 expand(表达式) 我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: maple(’maple中多项式的运算命令’) 如何用matlab进行分式运算 发现matlab只有一条处理分式问题的命令,其使用格式如下: [n,d]=numden(f)把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 不过我们可以调用maple的命令,调用方法如下: maple(’denom(f)’)提取分式f的分母 maple(’numer(f)’)提取分式f的分子 maple(’normal(f)’ ) 把分式f的分子与分母约分成最简形式 maple(’expand(f)’) 把分式f的分子展开,分母不变且被看成单项。 maple(’factor(f)’) 把分式f的分母和分子因式分解,并进行约分。 如何用Matlab进行因式分解 syms 表达式中包含的变量factor(表达式) 如何用Matlab展开 syms 表达式中包含的变量expand(表达式) 如何用Matlab进行化简 syms 表达式中包含的变量simplify(表达式) 如何用Matlab合并同类项 syms 表达式中包含的变量collect(表达式,指定的变量) 如何用Matlab进行数学式的转换 调用Maple中数学式的转换命令,调用格式如下: maple(‘Maple的数学式转换命令’) 即:maple(‘convert(表达式,form)’)将表达式转换成form的表示方式 maple(‘convert(表达式,form, x)’)指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 如何用Matlab进行变量替换 syms 表达式和代换式中包含的所有变量subs(表达式,要替换的变量或式子,代换式) 如何用matlab进行复数运算 a+b*i 或 a +b*j表示复数a+bi 或a+bj real(z)求复数z的实部 imag(z)求复数z的虚部 abs(z)求复数z的模 angle(z)求复数z的辐角, conj(z)求复数z的共轭复数 exp(z)复数的指数函数,表示e^z 如何在matlab中表示集合 [a, b, c,…] 表示由a, b, c,…组成的集合(注意:元素之间也可用空格隔开) unique(A) 表示集合A的最小等效集合(每个元素只出现一次) 也可调用maple的命令,格式如下: maple('{a, b, c,…}')表示由a, b, c,…组成的集合 下列命令可以生成特殊的集合: maple(‘{seq(f(i),i=n..m)}’)生成集合{f(n), f(n+1), f(n+2), … , f(m)} 如何用Matlab求集合的交集、并集、差集和补集

matlab常见操作123

1.示波器图像导出处理 1)仿真用示波器查看 2)matlab命令框中输入: shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClipping','Off') set(0,'ShowHiddenHandles',shh) 图片的菜单就出来了。。。 3)在edit菜单中编辑波形 4)edit-copy figure复制波形到word文档。 2.在matlab命令窗口里,在语句行尾加上三个英文句号表示续行; 运算符=、+、-前后的空格不影响计算结果; 在输入命令后以分号结束,则不会显示命令执行结果,但可使程序运行速度大大提高,这对大量输出数据的成句特别有用; 可用Ctrl+c键来终止正在运行的程序。 3.启动matlab默认窗口设置 Desktop Layout—>Default,则四个小窗口则按系统默认的布局显示。 Save Layout保存布局显示 4.运行matlab语句或程序时有三种方式: 1)在已安装的Notebook 的Word窗口的英语输入状态下,输入matlab语句或程序,用鼠标左键将其选中,然后点击Notebook——>Evaluate Cell,即为程序的Notebook执行方式。计算的数据与绘图都保留在word环境里。 2)在matlab命令窗口中直接输入指令或语句并按回车键运行。 3)程序文件执行方式:在“Untitled”模型文件窗口中输入程序并以某文件名存盘,然后在matlab命令窗口中输入改文件名,按回车执行该程序。计算的数据保存在matlab的命令窗口中,如有绘图,则另弹出figure画面。常用在程序中有带鼠标操作或绘制多条曲线或使用人机交互指令时。 4.在命令窗口输入命令语句时,若语句后不跟分号,按回车后则执行该条语句并且显示结果;若跟分号后按回车键,则只执行语句不显示执行后结果。 5.在命令窗口输入clear或clc按回车键则清除前面所有命令,对于matlab(R2009a)则输入clc.

matlab常见操作123

1.示波器图像导出处理1)仿真用示波器查看2)matlab命令框中输入:shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClipping','Off') set(0,'ShowHiddenHandles',shh) 图片的菜单就出来了。。。3)在edit菜单中编辑波形4)edit-copy figure复制波形到word文档。 2.在matlab命令窗口里,在语句行尾加上三个英文句号表示续行;运算符=、+、-前后的空格不影响计算结果;在输入命令后以分号结束,则不会显示命令执行结果,但可使程序运行速度大大提高,这对大量输出数据的成句特别有用;可用Ctrl+c键来终止正在运行的程序。 3.启动matlab默认窗口设置Desktop Layout—>Default,则四个小窗口则按系统默认的布局显示。Save Layout保存布局显示 4.运行matlab语句或程序时有三种方式:1)在已安装的Notebook 的Word窗口的英语输入状态下,输入matlab语句或程序,用鼠标左键将其选中,然后点击Notebook——>Evaluate Cell,即为程序的Notebook执行方式。计算的数据与绘图都保留在word环境里。 2)在matlab命令窗口中直接输入指令或语句并按回车键运行。3)程序文件执行方式:在“Untitled”模型文件窗口中输入程序并以某文件名存盘,然后在matlab命令窗口中输入改文件名,按回车执行该程序。计算的数据保存在matlab的命令窗口中,如有绘图,则另弹出figure画面。常用

matlab常用语言汇总1

>> a=[1 2 3] a = 1 2 3 >> b=a' b = 1 2 3 >> fliplr(a) ans = 3 2 1 >> flipud(a) ans = 1 2 3 >> rot90(a) ans = 3 2 1 >> a=magic(3) a = 8 1 6 3 5 7 4 9 2 >> help diag diag - Get diagonal elements or create diagonal matrix

This MA TLAB function returns a square diagonal matrix with the elements of vector v on the main (k=0) diagonal. D = diag(v) D = diag(v,k) x = diag(A) x = diag(A,k) diag 的参考页 另请参阅blkdiag, isdiag, istril, istriu, spdiags, tril, triu 名为diag 的其他函数 fixedpoint/diag, robust/diag, symbolic/diag >> diag(a) ans = 8 5 2 >> b=diag(a) b = 8 5 2 >> diag(b) ans = 8 0 0 0 5 0 0 0 2 >> %建立矩阵 >> a=1:9 a =

1 2 3 4 5 6 7 8 9 >> reshape(a,3,3) ans = 1 4 7 2 5 8 3 6 9 >> b=reshape(a,3,3) b = 1 4 7 2 5 8 3 6 9 >> c=reshape(b,9,1) c = 1 2 3 4 5 6 7 8 9 >> tral(a) 未定义与'double' 类型的输入参数相对应的函数'tral'。 是不是想输入: >> tril(a) ans = 1 0 0 0 0 0 0 0 0 >> inv(b)

matlab语句

Matlab命令汇总Matlab命令汇总都是从网上转的,贴到一起方便查,使用的时候直接 Ctrl+F搜索。一、常用对象操作:除了一般windows窗口的常用功能键外。1、!dir 可以 查看当前工作目录的文件。 !dir& 可以在dos状态下查看。2、who 可以查看当前工作空 间变量名, whos 可以查看变量名细节。3、功能键:功能键快捷键说明 方向上键 Ctrl+P 返回前一行输入方向下键 Ctrl+N 返回下一行输 入方向左键 Ctrl+B 光标向后移一个字符方向右键 Ctrl+F 光标向前 移一个字符Ctrl+方向右键 Ctrl+R 光标向右移一个字符Ctrl+方向左键 Ctrl+L 光标向左移一个字符home Ctrl+A 光标移到行首End Ctrl+E 光标移到行尾Esc Ctrl+U 清除一行Del Ctrl+D 清除光标所 在的字符Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令4、clc可以命令窗口显示的内容, 但并不清除工作空间。二、函数及运算1、运算符:+:加,-:减, *:乘,/:除, \:左除 ^:幂,‘:复数的共轭转置,():制定运算顺序。2、常用函数表:sin( ) 正 弦(变量为弧度)Cot( ) 余切(变量为弧度)sind( ) 正弦(变量为度数)Cotd( ) 余切 (变量为度数)asin( ) 反正弦(返回弧度)acot( ) 反余切(返回弧度)Asind( ) 反正弦 (返回度数)acotd( ) 反余切(返回度数)cos( ) 余弦(变量为弧度)exp( ) 指数 cosd( ) 余弦(变量为度数)log( ) 对数acos( ) 余正弦(返回弧度)log10( ) 以10为底 对数acosd( ) 余正弦(返回度数)sqrt( ) 开方tan( ) 正切(变量为弧度)realsqrt( ) 返 回非负根tand( ) 正切(变量为度数)abs( ) 取绝对值atan( ) 反正切(返回弧度) angle( ) 返回复数的相位角atand( ) 反正切(返回度数)mod(x,y) 返回x/y的余数sum( ) 向量元素求和3、其余函数可以用help elfun和help specfun命令获得。4、常用常数的 值:pi 3.1415926…….realmin 最小浮点数,2^-1022i 虚数单位realmax 最大浮点数,(2-eps)2^1022j 虚数单位Inf 无限值eps 浮点相对 经度=2^-52NaN 空值三、数组和矩阵:1、构造数组的方法:增量发和 linspace(first,last,num)first和last为起始和终止数,num为需要的数组元素个数。2、构 造矩阵的方法:可以直接用[ ]来输入数组,也可以用以下提供的函数来生成矩阵。ones( ) 创建一个所有元素都为1的矩阵,其中可以制定维数,1,2….个变量zeros() 创建一个 所有元素都为0的矩阵eye() 创建对角元素为1,其他元素为0的矩阵diag() 根据向 量创建对角矩阵,即以向量的元素为对角元素magic() 创建魔方矩阵rand() 创建随机 矩阵,服从均匀分布randn() 创建随机矩阵,服从正态分布randperm() 创建随机行 向量horcat C=[A,B],水平聚合矩阵,还可以用cat(1,A,B)vercat C=[A;B], 垂直聚合矩阵, 还可以用cat(2,A,B)repmat(M,v,h) 将矩阵M在垂直方向上聚合v次, 在水平方向上聚合h次blkdiag(A,B)以A,和B为块创建块对角矩阵length 返回矩阵最长维的的长度ndims 返回维数numel 返回矩阵元素个数size 返回每一维的长度,[rows,cols]=size(A)reshape 重塑矩阵,reshape(A,2,6),将A 变为2×6的矩阵,按列排列。rot90 旋转矩阵90度,逆时针方向fliplr 沿 垂轴翻转矩阵flipud 沿水平轴翻转矩阵transpose 沿主对角线翻转矩阵 ctranspose 转置矩阵,也可用A’或A.’,这仅当矩阵为复数矩阵时才有区别inv 矩阵的逆det 矩阵的行列式值trace 矩阵对角元素的和norm 矩 阵或矢量的范数,norm(a,1),norm(a,Inf)…….normest 估计矩阵的最大范 数矢量chol 矩阵的cholesky分解cholinc 不完全cholesky分解lu LU分解luinc 不完全LU分解qr 正交分解kron(A,B) A为m×n, B为p×q,则生成mp×nq的矩阵,A的每一个元素都会乘上B,并占据p×q大小的空间 rank 求出矩阵的刺pinv 求伪逆矩阵A^p 对A进行操作A.^P 对A中的每一个元素进行操作四、数值计算1、线性方程组求解(1)AX=B的解可以用X

Matlab中常用的函数集

sort (排序) xlsread ( exl文件导入) load (txt 文件,mat文件等导入) 附录Ⅰ工具箱函数汇总 Ⅰ.1 统计工具箱函数 表Ⅰ-1 概率密度函数 函数名对应分布的概率密度函数 betapdf 贝塔分布的概率密度函数 binopdf 二项分布的概率密度函数 chi2pdf 卡方分布的概率密度函数 exppdf 指数分布的概率密度函数 fpdf f分布的概率密度函数 gampdf 伽玛分布的概率密度函数 geopdf 几何分布的概率密度函数 hygepdf 超几何分布的概率密度函数normpdf 正态(高斯)分布的概率密度函数lognpdf 对数正态分布的概率密度函数nbinpdf 负二项分布的概率密度函数 ncfpdf 非中心f分布的概率密度函数nctpdf 非中心t分布的概率密度函数 ncx2pdf 非中心卡方分布的概率密度函数poisspdf 泊松分布的概率密度函数 raylpdf 雷利分布的概率密度函数 tpdf 学生氏t分布的概率密度函数unidpdf 离散均匀分布的概率密度函数unifpdf 连续均匀分布的概率密度函数weibpdf 威布尔分布的概率密度函数 表Ⅰ-2 累加分布函数 函数名对应分布的累加函数 betacdf 贝塔分布的累加函数 binocdf 二项分布的累加函数 chi2cdf 卡方分布的累加函数 expcdf 指数分布的累加函数 fcdf f分布的累加函数 gamcdf 伽玛分布的累加函数 geocdf 几何分布的累加函数 hygecdf 超几何分布的累加函数

logncdf 对数正态分布的累加函数 nbincdf 负二项分布的累加函数 ncfcdf 非中心f分布的累加函数 nctcdf 非中心t分布的累加函数 ncx2cdf 非中心卡方分布的累加函数 normcdf 正态(高斯)分布的累加函数 poisscdf 泊松分布的累加函数 raylcdf 雷利分布的累加函数 tcdf 学生氏t分布的累加函数 unidcdf 离散均匀分布的累加函数 unifcdf 连续均匀分布的累加函数 weibcdf 威布尔分布的累加函数 表Ⅰ-3 累加分布函数的逆函数 函数名对应分布的累加分布函数逆函数 betainv 贝塔分布的累加分布函数逆函数 binoinv 二项分布的累加分布函数逆函数 chi2inv 卡方分布的累加分布函数逆函数 expinv 指数分布的累加分布函数逆函数 finv f分布的累加分布函数逆函数 gaminv 伽玛分布的累加分布函数逆函数 geoinv 几何分布的累加分布函数逆函数hygeinv 超几何分布的累加分布函数逆函数logninv 对数正态分布的累加分布函数逆函数nbininv 负二项分布的累加分布函数逆函数ncfinv 非中心f分布的累加分布函数逆函数nctinv 非中心t分布的累加分布函数逆函数 ncx2inv 非中心卡方分布的累加分布函数逆函数icdf norminv 正态(高斯)分布的累加分布函数逆函数poissinv 泊松分布的累加分布函数逆函数 raylinv 雷利分布的累加分布函数逆函数 tinv 学生氏t分布的累加分布函数逆函数unidinv 离散均匀分布的累加分布函数逆函数unifinv 连续均匀分布的累加分布函数逆函数weibinv 威布尔分布的累加分布函数逆函数 表Ⅰ-4 随机数生成器函数

matlab基本语句

matlab 基本语句 1、循环语句for for i=s1:s3:s2 循环语句组 end 解释:首先给i赋值s1;然后,判断i就是否介于s1与s2之间;如果就是,则执行循环语句组,i=i+s3(否则,退出循环、);执行完毕后,继续下一次循环。 例:求1到100的与,可以编程如下: sum=0 for i=1:1:100 sum=sum+i end 这个程序也可以用while语句编程。 注:for循环可以通过break语句结束整个for循环、 2、循环语句while 例:sum=0;i=1; while(i<=100) sum=sum+i;i=i+1; end 3、if语句 if(条件) 语句 end if(条件) 语句 else 语句 end if(条件) 语句 elseif 语句 end 4、关系表达式: =,>,<,>=,<=,==(精确等于)

5、逻辑表达式:|(或),&(且) 6、[n,m]=size(A)(A为矩阵) 这样可以得到矩阵A的行与列数 n=length(A),可以得到向量A的分量个数;如果就是矩阵,则得到矩阵A的行与列数这两个数字中的最大值。 7、!后面接Dos命令可以调用运行一个dos程序。 8、常见函数: poly():为求矩阵的特征多项式的函数,得到的为特征多项式的各个系数。如 a=[1,0,0;0,2,0;0,0,3],则poly(a)=1 -6 11 -6。相当于poly(a)=1入^3+(-6)入^2+11入+(-6)。 compan():可以求矩阵的伴随矩阵、 sin()等三角函数。 MATLAB在数学建模中的应用(3) 一、程序设计概述 MATLAB所提供的程序设计语言就是一种被称为第四代编程语言的高级程序设计语言,其程序简洁,可读性很强,容易调试。同时,MATLAB的编程效率比C/C++语言要高得多。 MATLAB编程环境有很多。常用的有: 1、命令窗口 2、word窗口 3、M-文件编辑器,这就是最好的编程环境。 M-文件的扩展名为“、m”。M-文件的格式分为两种: ①l M-脚本文件,也可称为“命令文件”。 ②M-函数文件。这就是matlab程序设计的主流。l 保存后的文件可以随时调用。 二、MATLAB程序结构 按照现代程序设计的观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构就是:顺序结构、选择结构与循环结构。其中顺序结构就是最基本的结构,它依照语句的自然顺序逐条地执行程序的各条语句。如果要根据输入数据的实际情况进行逻辑判断,对不同的结果进行不同的处理,可以使用选择结构。如果需要反复执行某些程序段落,可以使用循环结构。 1 顺序结构 顺序结构就是由两个程序模块串接构成。一个程序模块就是完成一项独立功能的逻辑单元,它可以就是一段程序、一个函数,或者就是一条语句。 瞧图可知,在顺序结构中,这两个程序模块就是顺序执行的,即先执行<程序模块1>,然后执行<程序模块2>。 实现顺序结构的方法非常简单,只需将程序语句顺序排列即可。 2 选择结构 在MATLAB中,选择结构可由两种语句来实现。

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个字节。( ) 5、 判断:MA TLAB 中,i 和j ( ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( ) 7、 在MA TLAB 中,若想计算的51) 3.0sin(21+=πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是____________________________________。 8、 在MA TLAB 中,a = 1,b = i ,则a 占___个字节,b 占___个字节,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 =_______________________________________。 6、 在MA TLAB 中,要求在闭区间[0,5]上产生50个等距采样的一维数组b ,请写出具体

相关主题
文本预览
相关文档 最新文档