(一)Matlab数值计算基础

目录

1.3数据计算

1.3.1变量

1.3.2数据的显示格式

 1.3.3运算符与函数

1.3.4向量

1.3.5矩阵


1.3数据计算

 MATLAB包括各种各样的数据,主要包括数值,字符串,向量,单元型数据和结构型数据,以及丰富的运算符,包括算术运算符,关系运算符和逻辑运算符

1.3.1变量

1.定义变量 

变量常用于保存程序中的临时数据

  • 变量所用域
    • 局部变量
      • 在没有特殊说明的情况下,MATLAB把一切变量视为局部变量,仅在其使用的M文件内有效
    • 全局变量
      • 若将变量定义为全局变量,则应对变量进行说明,在变量前加global关键字,全局变量一般均用大写英文字母表示
      • 变量在使用前必须在代码中进行声明,即创建(定义)该变量

(一)Matlab数值计算基础_第1张图片

2.变量赋值

变量命名规则:

  • 变量必须以字母开头, 之后可以是任意的数字、字母和下划线
  • 变量名区分字母大小写
  • 变量名不超过31个字符,第31字符后的字符将被忽略
    • MATLAB赋值语句有两种格式
变量=表达式
表达式

 变量的初始化包括以下两种形式

  • 使用赋值语句初始化
  • 使用 input() 函数从键盘中输入

(一)Matlab数值计算基础_第2张图片

###定义数值变量###

(一)Matlab数值计算基础_第3张图片

###函数赋值### 

(一)Matlab数值计算基础_第4张图片

3.预定义的变量(常量)

特殊变量

  • ans:默认变量
  • pi:圆周率
  • eps:浮点运算的相对精度
  • inf:无穷大
  • NaN:不定值
  • i(j):复数中的虚数单位
  • realmin:最小正浮点数
  • realmax:最大正浮点数

###预定义变量###

(一)Matlab数值计算基础_第5张图片

###显示实数与复数的值###

(一)Matlab数值计算基础_第6张图片

###重定义变量###

(一)Matlab数值计算基础_第7张图片

4.变量函数

##who##

  • who:按字母顺序列出当前活动工作区中所有变量的名称
  • who-file filename:列出指定的mat文件中的变量名称
  • who global:列出全局工作区中的变量名称
  • who...var1...varN:只列出指定的变量,可与先前参数中的任何参数结合使用
  • who...-regexp expr1...exprN:只列出与指定的正则表达式匹配的变量 
  • C=who(...):将变量的名称存储在元胞数组C中 

 ##exist##

  • 用于检查脚本、变量、函数、文件夹或类的存在情况

###检查变量###

(一)Matlab数值计算基础_第8张图片

1.3.2数据的显示格式

控制数字显示格式的命令是format

format调用格式:

  • format(style):将命令窗口中的输出显示格式更改为style指定的格式
  • fmt=format:自行将输出格式重置为默认值

###控制数值显示格式### 

(一)Matlab数值计算基础_第9张图片 

 1.3.3运算符与函数

1.算术运算符

MATLAB算术运算符

运算符 定义
+ 算术加

-

算术减
* 算术乘
.* 点乘
^ 算术乘方
.^ 点乘
\ 算术左除
.\ 点左除
/ 算术右除
./ 点右除
' 矩阵转置(求共轭转置)
.' 矩阵转置(不求共轭转置)

###四则运算###

(一)Matlab数值计算基础_第10张图片

2.关系运算符(1、0表示满足与不满足)

MATLAB关系运算符
运算符 定义
== 等于
~= 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于

 ###关系运算符运算###

(一)Matlab数值计算基础_第11张图片

3.逻辑运算符(真1;假0) 

 

MATLAB逻辑运算符
运算符 定义
&或and
|或or
~或not
xor 异或
any 有非零元素则为真,否则为假
all 所有元素均非零则为真,否则为假

 算术运算符>关系运算符>逻辑运算符

4.常用基本函数及三角函数

名称 说明 名称 说明
abs(x) 数量的绝对值或向量的长度 sign(x) 符号函数
angle(z) 复数z的相角 sin(x) 正弦函数
sqrt(x) 开平方 cos(x) 余弦函数
real(z) 复数z的实部 tan(x) 正切函数
imag(z) 复数z的虚部 asin(x) 反正弦函数
conj(z) 复数z的共轭复数 acos(x) 反余弦函数
round(x) 四舍五入至最近整数 atan(x) 反正切函数
fix(x) 无论正负舍去小数至最近整数 atan2(x,y) 四象限的反正切函数
floor(x) 向负无穷大方向取整 sinh(x) 超越正弦函数
ceil(x) 向正无穷大方向取整 cosh(x) 超越余弦函数
rat(x) 将实数x化为分数表示 tanh(x) 超越正切函数
rats(x) 将实数x化为多项分数展开 asinh(x) 反超越正弦函数
rem 求两个整数相除的余数 acosh(x) 反超越余弦函数
sqrt 乘方、开方 atanh(x) 反超越正切函数

 ###计算开方###

(一)Matlab数值计算基础_第12张图片

1.3.4向量

  • 直接输入法
    • 向量元素要用[ ]括起来
    • 元素间可用空格、逗号或分号分隔
      • 用逗号或空格分隔生成行向量
      • 用分号分隔形成列向量

(一)Matlab数值计算基础_第13张图片

  • 冒号法
    • 基本格式:x=first:increment:last,表示创建一个从first开始到last结束,数据元素的增量为increment的向量,1可忽略 

(一)Matlab数值计算基础_第14张图片

**还可引用向量元素方式创建向量**

  • x(n):表示向量中的第n个元素
  • x(n1:n2):表示向量中的第n1-n2个元素 

(一)Matlab数值计算基础_第15张图片

3.利用函数创建向量

  • linspace()函数
    •  创建一个线性间隔的向量,通过直接定义数据元素的个数而不是数据元素直接的增量创建向量
    • y=linspace(x1,x2):创建一个x1和x2之间包含100个等间距点的行向量y。元素个数默认为100
    • y=linspace(x1,x2,n):创建一个从x1开始,到x2结束,元素个数为n的向量y

(一)Matlab数值计算基础_第16张图片

  • logspace()函数
    • 创建一个对数分隔的向量, 通过直接定义数据元素的个数而不是数据元素直接的增量创建向量
    • y=logspace(a,b)
    • y=logspace(a,b,n)
    • y=logspace(a,pi)
    • y=logspace(a,pi,n)

1.3.5矩阵

  • 矩阵生成
    • 直接输入法
    • M文件正成法(适于创建大型矩阵)
      • M文件中变量名与文件名不能相同,否则会造成变量名与函数名混乱
    • 文本文件生成法
      • 在work文件夹中创建文本文件,在命令行中直接调用该文件即可

(一)Matlab数值计算基础_第17张图片

  • 特殊矩阵
    • 全零矩阵
      • X=zeros(m):生成m阶全零矩阵
      • X=zeros(m,n):生成m行n列全零矩阵
      • X=zeros(size(A)):创建与A维数相同的全零矩阵
      • X=zeros(...,typename)
      • X=zeros(...,'like',p)
    • 全1矩阵
      • ones(m):生成m阶全1矩阵
      • ones(m,n):生成m行n列全1矩阵
      • ones(size(A)):创建与A维数相同的全1矩阵
    • 单位矩阵
      • I=eye:返回标量1
      • eye(m):生成m阶单位矩阵
      • eye(m,n):生成m行n列单位矩阵
      • eye(size(A)):创建与A维数相同的单位矩阵
常用矩阵修改命令
命令 说明

D=[A;B C]

A为原矩阵,B、C中包含要扩充的元素,D为扩展后的矩阵
A(m,:)=[] 删除A的第m行
A(:,n)=[] 删除A的第n列
A(m,n)=a;A(m,:)=[a b...];A(:,n)=[a b...] 对A的第m行第n列元素赋值;对A的第m行赋值;对A的第n列赋值
常用矩阵变维命令
命令 说明
C(:)=A(:) 将矩阵A转换为矩阵C的维度,A、C元素个数必须相同
reshape(X,m,n) 将已知矩阵变为m行n列的矩阵

(一)Matlab数值计算基础_第18张图片

 

         

 

 

你可能感兴趣的:(matlab,数学建模)