matlab基础知识

穿精又带淫゛_ 提交于 2020-04-02 20:55:52

MATLAB 数值数据类型

整型

       无符8位整型 0~255       函数uint8(data) 将data转无符整型 data超出范围则为127

      有符8位整型 -128~127   函数int8 将数值数据转带符号8位整型

      

浮点型

       单精度 4字节                           函数single() 将数值数据转单精度   

       双精度 8字节 默认双精度        函数class()将数值数据转双精度

 

复数型

       实部与虚部默认双精度 虚数单位用i或j表示

       函数real() 求实部

       函数imag() 求虚部

 

format命令:数据的输出格式 ;只影响数据输出格式,不影响存储与计算

语法 format 格式符     例如format long/short

 

常用数学函数

       函数调用格式:函数名(函数自变量的值)

              函数自变量的值为矩阵变量

       1、三角函数 例如:sin(x):x以弧度为单位   ; sind(x):x以角度为单位

       2、abs函数 求实数的绝对值、复数的mo、字符串的ASCII值

       3、取整函数  fix(取小数的整数部分),   floor(向下取整),     ceil(向上取整),    round(四舍五入)

       4、函数rem(m,n) m/n的余数

       5、y=isprime(x)     x矩阵中元素是素数的对应矩阵y元素相应值为1,否则为0

       6、sqrt(x) 求x的平方;exp(x) 求e的x次方

 

变量

1、预定义变量  使用时要避免对其重新赋值

       ans默认复制变量

       i和j代表虚数单位  例如:如果i在循环中使用,作为循环变量,则i不能代表虚数单位

       pi代表圆周率

       NaN代表非数

 

2、who与whos命令

3、内存变量文件

       save命令:创建内存变量文件 save mydata x  将变量x装入mydata文件

       load命令:装入内存变量文件 load mydata    装入后可以直接使用变量x

 

 

matlab矩阵的表示

1、 矩阵的建立

a)       利用直接输入建立矩阵:将矩阵元素用中括号括起来,同一行元素用逗号或空格分隔,不同行用分号隔开;

b)       利用已建好的矩阵建立更大的矩阵 类似分块矩阵

c)        可用实部矩阵B和虚部矩阵C构成复数矩阵A 例:A=B+i*C;

d)       冒号表达式,产生行向量,e1:e2:e3   e1为初始值,e2为步长,e3为终止值,e2省略,默认e2为1;

e)       linspace(a, b, n) 函数产生向量,a表示第一个元素,b表示 最后一个元素,n表示元素总个数

2、 (特殊矩阵)结构矩阵和单元矩阵的建立

结构矩阵

格式:结构矩阵元素.成员名=表达

 单元矩阵

     每个元素的数据类型不同,建立单元矩阵和一般矩阵相似,只是单元矩阵元元素用大括号表示。

Matlab矩阵元素的引用

1、 通过下标引用矩阵的元素

例A(3,2) 表示第3行第2列的元素 A(3,2)=10 将第3行第2列的元素数值改为10;

例A=[0,1;0,3]  A(2,3)=10 则A=[ 0, 1 ,0 ;0, 3, 10 ]  下标超过A的维度,对该下标对应元素赋值时,A将自动扩充

2、 通过序号来引用

A为m x n的矩阵;元素A(I,j)对应序号D=(j-1)*m+i

 

sub2ind函数:将矩阵中指定元素的行、列下标转换成存储的序号。

调用格式:D=sub2ind(S,I,J)  S表示行数和列数组成的向量 通常用size()函数获取 ,I表示要转换的行下标(I可以是矩阵),J表示要转换的列下标(J可为矩阵,则D也为对应矩阵);

             

              Ind2sub函数:将矩阵元素的序号转换成对应下标.

                     调用格式 [I,J]=ind2sub( S, D)  S表示行数和列数组成的向量, D是序号(矩阵)

3、 利用冒号表达式获得子矩阵

子矩阵是指:由矩阵中的一部分元素构成的矩阵

A ( i , :0)                    第i行的全部元素

A( : , j )                     第j列的全部元素

A( i: i+m, j: j+n)         第i~i+m行内且在j~j+n列内的所有元素

A( i:i+m , : )               第i~i+m行的全部函数

end运算符 例如A( [ 1,4 ],3:end )  表示引用矩阵第1、4行的第3~最后一列的元素

  

4、 删除矩阵元素

例A( : ,[1,4 ] )=[]   删除第一列和第四列

5、 改变矩阵的形状

reshape(A,m,n):在矩阵总元素保持不变的情况下,将矩阵重排成mxn的二维矩阵

       A表示要改变的矩阵,改变成m行n列

注意:reshape函数只是改变原矩阵的行数和列数,但不改变原矩阵元素个数以及存储顺序。

 

特殊表示 A(:) 将每一列元素堆叠起来形成一个列向量

 

Matlab的基本运算

1、 算术运算

a)      基本算术运算

加减运算 同型矩阵之间的运算,标量与矩阵运算

乘法运算 矩阵要可乘

除法运算 分右除/、左除\(一般两者不等价)  如果A是非奇异方阵,B/A等效B*inv(A) ;A\B等效于inv(A)*B;一般B/A不等于B\A (标量左除右除相同)

b)     点运算(注意理解)

点运算符:.* 和 ./ 和 .\ 和 .^  同型矩阵对应元素做相关运算

2、关系运算符

<、<= 、> 、>= 、==、~=(不等于) 关系结果真为1,假为0

注:两个同型矩阵比较,结果也是0,1组成的同型矩阵;

           标量与一个矩阵比较,则是标量与矩阵每个元素逐个比较;结果也是0,1组成的同型矩阵;

 

3、 逻辑运算符

&,|,~

 

Matlab字符串的处理

导论:基本数据类型包括:数值型数据,字符串型数据

1、 字符串的表示:字符串是用单引号括起来的字符序列,字符串将被看作行向量

注:字符串中如果有单引号则要用两个单引号表示

2、 建立多行字符串,形成字符串矩阵。

例:x=[ ‘ I’’am hadoop ’, ’yi i’  ;   ‘nihao’ ,’ hello ’ ]

3、 字符串的操作

a)       字符串的执行:格式 y=eval(s) 其中将字符串S的作为matlab命令来执行得到的结果赋值给y

b)       字符串与数值之间的转换:

                           i.            abs函数和double函数可以用来获取字符串矩阵所对应的ASCII码数值矩阵

                         ii.            char函数可以把ASCII码矩阵转为字符串矩阵

c)字符串的比较

  i.  利用关系运算符比较   例:‘www0’ >=’W123’   ans=[1 1 1 0]

ii. 利用函数比较:
           (1)strcmp(s1,s2)   s1==s2返回1 否则返回0

           (2)strncmp(s1,s2,n) 比较前n个字符相等返回1,否则返回0

           (3)strcmpi(s1,s2) 忽略大小写相等返回1,否则返回0

           (4)strncmpi(s1,s2,n) 忽略大小写比较前n个字符相等返回1,否返回0

d)字符串的查找与替换

   i. findstr(s1,s2):返回短字符串在长字符串中的开始位置

   ii. strrep(s1s2s,s3):将字符串s1中的所有子字符串s2替换为字符串s3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!