搜档网
当前位置:搜档网 › Matlab语言基础

Matlab语言基础

Matlab语言基础
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.

利用冒号表达式生成矩阵:

冒号:用来生成向量,定义数组下标,数组的循环迭代。生成航向量:

生成列相量:

引用矩阵或矩阵中的元素:

举证可以看成一个一位数组,按列从左至右,从上往下依次排列。

冒号当作下标

e(:,2) :代表全部行元素,2代表第2列

引用第3列2-4行:

指定生成某种矩阵

矩阵的行拼接列拼接:

Size函数:返回矩阵行列对应的维数;length函数返回行列维数最大的那个值

三、matlab中的空数组和子数组

子数组的概念

子数组的赋值与数组直接赋值的区别

end的用法

Linspace,logspace,reshape

预定义变量:date,clock,year,month,now,today(和日期处理有关)空数组

子数组

Linspace函数

用法:linspace(x1,x2,N) (linspace(x1,x2)默认生成包括x1和x2的100个数)

功能:linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。

注:linspace(5,100,20)和5:5:100的区别在于前者已知元素总个数而不知道步长,后者已知步长不知元素个数,这两者的效果是一样的。

logspace函数

用法:x=logspace(a, b, n)

功能:logspace(a, b, n)生成一个(1xn)数组,数据的第一个元素值为a,最后一个元素为b,n是总采样点数。需要注意的是,此时产生的数组元素在10^a 到10^b上并不是均匀分布的,而形成一个对数曲线。

reshape的用法

date,clock,year,month,now,today的用法

四、matlab中的算术运算符

标量运算

矩阵预算

数组运算

运算优先级

标量:亦称“无向量”。有些物理量,只具有数值大小,而没有方向,部分有正负之分。物理学中,标量(或作纯量)指在坐标变换下保持不变的物理量。用通俗的说法,标量是只有大小,没有方向的量。

+ - * / \ ^

矩阵:由m ×n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m ×n矩阵。magic函数:生成魔方矩阵

矩阵运算:

A+B A-B A*B A/B A.*B A./B

五、matlab中常见的运算函数

三角、反三角函数,指数、对数函数,圆整函数、绝对值,sum, prod, max, min 复数取实部、虚部、取模

Cross, dot, compan, inv, det, rank, eig, trace (对矩阵进行运算)

圆整

ceil 朝着正无穷圆整

. floor 朝着负无穷圆整

fix 朝着0圆整

round 四舍五入整

mod 取模函数

rem 除取余

mod 除取整

mean按列求平均值

prob接地

Sum(x,dim)dim=1按列2按行求和

conv 可以做多项式乘法

比如,(X^6+X^4+7X+4)*(X^5+X^3+3X+1)用conv函数展开:

复数

六、matlab的字符串及其运算

ASCII码:American Standard Code for Information Interchange的缩写

字符串的数组本质

字符串的生成:单引号法,数组法

字符串的转换:abs,double,char,str2num,num2str,upper,lower

字符串:本质是一个字符数组。其他语言中也有。字符经过编码以数字的形式编在电脑里,这种编码形式就是ASCII码。

字符串的生成:单引号法,数组法。

字符串的转换:

abs 将字母转成数字。double 功能类似。

char 将字母转成字母。

str2num,num2str,upper,lower

这种方法比较迂回,matlab中有函数直接转换

七、字符串函数及二维字符串

Strcmp(S1,S2), findstr(S, S), strcat(S1, S2), disp(str)

Fprint(format, data)

二维字符串

Strvcat, str2mat

Strcmp(S1,S2) S1,S2两个函数相同则为1,不同则为0 Strcmp(S1,S2,n)比较前n个字符

findstr(S1, S) 将S1中所有的S以形式的形式返回

strcat(S1, S2) 将两个字符进行拼接;利用矩阵形式进行拼接也可以;当两个字符串长度不一样是不可以[S1, S2]这样拼接。

disp(str) 将字符串原样输出

相关主题