Matlab基础知识

@[TOC]Matlab学习笔记

Matlab 数值数据

数值数据类型分为:整型 、浮点型、 复数型
single函数:将其他类型的数据转换为单精度型。
double函数:将其他类型的数据转换为双精度型
class()函数功能:返回对象的数据类型。
复数
复数数据包括实部和虚部两部分,实部和虚部默认为双精度型,虚部单位用i或j来表示。
real函数:求复数的实部
imag函数:求复数的虚部

数值数据的输出格式

format命令的格式
默认格式为short格式

>> format long
>> 50/3
>>ans =16.666666666666668
>> format
 50/3
ans =16.6667

常用数学函数

exp函数:求自然指数函数(e)。
三角函数:有以弧度为单位的函数和以角度为单位的函数
如果是以角度为单位的函数就在函数名后面加’d’。
asb函数:可以求实数的绝对值、复数的模、字符串的ASCII码值。
用于取整的函数

  • round函数:按照四舍五入的规则取整。
  • ceil函数:向上取整,取大于等于这个数的第一个整数。
  • floor函数:向下取整,取小于等于这个数的第一个整数。
  • fix函数:固定取靠近0的那个整数,即舍去小数取整。

isprime函数:判断一个数是否是素数,当是素数返回1,否则返回0。
find函数:查询数组中非零函数的位置。
sqrt():开二次方根。
abs:求绝对值。

预定义变量

ans:默认赋值变量。
i与j:代表虚数单位。
pi:代表圆周率。
NaN:代表非数。

内存变量文件

用于存放Matlab工作区变量的文件,扩展名为.mat,也叫MAT文件。
save命令:创建内存变量文件。
load命令:装入内存变量文件。

向量

格式:e1:e2:e3
冒号表达式格式
注意:当省略步长e2时,则步长为1。

>> a = 1:10
a = 1     2     3     4     5     6     7     8     9    10

>> b = 1:1:10
b =1     2     3     4     5     6     7     8     9    10

linspace函数:建立矩阵。
格式
函数格式
注意:当n省略时,默认生成100个元素。

>> x = linspace(0,20,5)
x = 0     5    10    15    20

矩阵

单位矩阵
建立单位矩阵使用大括号括起来。

>>name = {1,'qiang',[98,99;96,90];2,'wang',[95,94;99,89]}

name =

  2×3 cell 数组

    {[1]}    {'qiang'}    {2×2 double}
    {[2]}    {'wang' }    {2×2 double}

结构矩阵
由结构数据构成的矩阵就是结构矩阵,结构矩阵里面的每个元素就是结果数据类型。
格式:结构矩阵元素.成员名 = 表达式

>> student(1).name = 'qiang';student(1).number = 55; student(1).grade = 3;
>> student(2).name = 'wang'; student(2).number = 54; student(2).grade = 1;
>> student(3).name = 'liu';  student(3).number = 53; student(3).grade = 2;
>>student = 
  包含以下字段的 1×3 struct 数组:
    name
    number
    grade
>> student(1)
ans = 
	包含以下字段的 struct:
      name: 'qiang'
    number: 55
     grade: 3

>> 

矩阵元素的引用

在Matlab中,矩阵元素按列存储,首先存储矩阵的第一列元素,然后第二列,… ,直到矩阵的最后一列元素。
通过下标来引用矩阵元素

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

>> A(5,5) = 20
A =
     1     2     3     0     0
     4     5     6     0     0
     7     8     9     0     0
     0     0     0     0     0
     0     0     0     0    20

注意:如果给出的行下标和列下标大于原来矩阵的行和列,那么Matlab将自动扩展矩阵,并对没有赋值的元素置0。
通过序号来引用
矩阵元素的序号就是矩阵元素在内存中的排列顺序。

>> B = [1 2 3;4 5 6]
B =
     1     2     3
     4     5     6

>> x = B(3)
   x = 2

序号与下标一一对应,以m*n矩阵为例,矩阵元素B(i,j)的序列号为(j-1)*m+i。
sub2ind函数:将矩阵中指定元素的行、列下标转换成存储的序号。
格式:
sub2ind函数格式

>> D = sub2ind(size(B),[1 2;2 2],[1 1;3 2])
D =
     1     2
     6     4

ind2sub函数:把矩阵元素的序号转换成对应的下标。
格式:ind2sub函数的格式

>> [I,J] = ind2sub([3,3],[1,3,5])
I =
     1     3     2
J =
     1     1     2

利用冒号表达式获取子矩阵

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

冒号表达式功能
A(i,:)第i行的全部元素
A(:,j)第j列的全部元素
A(i:i+m,k:k+m)第i~i+m行内且在第k ~ k+m的所有元素
A(i:i+m,:)第i~i+m行的全部元素

end运算符:表示某一维的末尾下标。

A =
     1     2     3
     4     5     6
     7     8     9
    10    11    12
    13    14    15
>> A(end,:)
ans =
    13    14    15
>> A(:,end)
ans =
     3
     6
     9
    12
    15

利用空矩阵删除矩阵的元素
空矩阵是指没有任何元素的矩阵。

>> A = [1 2 3;4 5 6;7 8 9;10 11 12;13 14 15]
A =
     1     2     3
     4     5     6
     7     8     9
    10    11    12
    13    14    15
>> A([2,5],:)
ans =
     4     5     6
    13    14    15

改变矩阵的形状
reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二位矩阵。

>> A = 1:12
A =
     1     2     3     4     5     6     7     8     9    10    11    12
>> X = reshape(A,3,4)
X =
     1     4     7    10
     2     5     8    11
     3     6     9    12

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值