Matlab - 1数据类型

发布时间:2013-09-12 09:44:15   来源:文档文库   
字号:

第一章 Maltlab的数据类型

典型的Matlab工作界面如图1所示。

1.1 Matlab工作界面

Windows图形操作过程不同,Matlab的数据处理都是在如图1.1所示的、所谓的命令窗口内完成的。命令窗口是操作前台,输入指令回车后,后台马上进行相应处理,最后将结果返回前台,因此Matlab互动性很强。由于从命令到结果的过程短,尝试某个运算命令甚至想法就变得十分方便;相比之下,FTORTRAN /C /C++等,试验一个运算指令需要经过编译,则周期相对比较长,需要耐心等待。

输入Matlab命令时,首先注意以下几点:

a) 命令区分大小写;

b) 续行:在尾部加‘’;

c) 不显示返回结果:在尾部加‘;’:

比如:

Matlab是矩阵计算器,矩阵元素可以是有不同类型的。Matlab处理数据类型很灵活。与C/C++/Fortran语言不同,变量类型无须事先声明,在其赋值时根据数据类型自动确定:赋什么类型的数据,就按照什么类型去运算。这有点像Fortran语言的默认习惯,但Fortran规定以i,j,k,l,m,n开头的变量名,默认为整型,Matlab无此规定。当显示实数时,数据显示格式可以改变:format short / long

Matlab内,也预定义一些变量,比如pi表示3.1415926, Inf 表示无穷大,NaN为非数(0/0)i 为虚数,复数直接用i表示,很符合书写习惯。这就是Matlab方便的地方。

最初,Matlab只是处理数组和矩阵,其操作命令有如下80个:

目前,又增加了新的数据类型,比如结构(struct),单元(cell), 映射(map), 甚至类(class)。对于我们,Matlab以下几类变量比较重要:

1. 标量:

即矩阵的元素,为整数,实数,字符,复数等。需要留意其赋初始值的方法。

a) isscalar(A)

b) isnan(A)

c) isinf(A)

d) isfinite(A)

e) NaN,

f) Inf

2. 向量:

即数组,分为行数组或者列数组;

a) a = [ 1 2 3 4 5 6] 行向量

b) a = [1;2;3;4;5;6] 列向量

c) a = 0:0.1:1 循环

d) a = [00.11] * pi

e) a = (00.11) * pi

f) a = linspace( 0,pi,11 ); 11点;

g) a = linspace( x1,x2); 等间距100点,包括边界点

h) a = linspace( x1,x2,N); 等间距N点,包括边界点

i) a = logspace( x1,x2); 等间距50点,包括边界点

j) a = logspace( x1,x2, N); 等间距N点,包括边界点

关于数组,值得注意的是挑出数组子集的方法。比如

或者采用逻辑数组挑出子集,即逻辑索引。

与数组相关的判断函数,返回一个逻辑数

i. isvector(a)

ii. isequal(a,b)

iii. isempty(a)

iv. ischar(a): a 是字符串?

3. 矩阵

这是Matlab最核心的类型。与矩阵A的元素操纵方法如下:

a) A( i , j ) - i j列的元素

b) A( : , j ) - j列元素;

c) A( i , : ) - i行元素;

d) A(1:3, 5) - 1-3行在第5列的元素,即[A(1,5) A(2,5) A(3,5)]

e) [m,n]=size(A) : 查询矩阵A尺寸,结果为mn

矩阵赋初值的方法:

i. A=[ 1 2 3; 4 5 6];

ii. Azeros(m,n); zeros(size(B))

iii. Aones(m,n); ones(size(B))

iv. Arand(m,n); rand(size(B))

v. Aeye(m,n); eye(size(B)) 单位矩阵

vi. A=NaN(m,n); NaN(size(B))

vii. Ainf(m,n); inf(size(B))

由矩阵扩展为矩阵:

repmat(Matrix, m,n) 是复制矩阵:垂直m倍,水平n倍。

比如

矩阵和矢量相乘:

矩阵,向量,则

其转置分别为

Matlab操作如下:

右图所示Matlab中,检查两个矩阵是否相等。返回矩阵位置上每对元素的比较结果。

4. 单元:元素的数据类型不一致的矩阵

相关判断函数是iscell(A).

MATLAB预留的单元变量:

a) varargin, nargin 用于检查当前函数的输入变量;

b) varargout, nargout 用于检查当前函数的输出变量。


利用上述数据类型,可以表示几何元素:

5.

a) P=[x y z]

6. 线

a) L=[ x1 y1 z1; x2 y2 z2]

b) X=[x1 x2], Y=[y1 y2], Z=[z1 z2]

c) LP2-P1;

d) 线长度:l=norm(L);

7.

a) 多边形

i. Poly=[ P1; P2; P3; P4; P5; P6]

ii. xv=[x1 x2 x3 x4 x5 x6]; yv=[y1 y2 y3 y4 y5 y6];

iii. 产生

1. t = 0:pi/5:2*pi;

2. patch(sin(t),cos(t),'y')

3. axis equal

b) 多边形面积:A = polyarea(xv,yv);

c) 内点: IN = inpolygon(X,Y,xv,yv).

有关几何方面功能,请查阅Mapping Toolbox

15. Matlab内一些极端常数

问题1:已知射线的原点和斜率,多边形顶点P,如何判断其是否相交?

本文来源:https://www.2haoxitong.net/k/doc/99e0e7fbce2f0066f4332203.html

《Matlab - 1数据类型.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式