(一)Matlab数值计算基础

2024-01-03 13:42:59

目录

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关键字,全局变量一般均用大写英文字母表示
      • 变量在使用前必须在代码中进行声明,即创建(定义)该变量

2.变量赋值

变量命名规则:

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

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

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

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

###函数赋值###?

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

特殊变量

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

###预定义变量###

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

###重定义变量###

4.变量函数

##who##

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

?##exist##

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

###检查变量###

1.3.2数据的显示格式

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

format调用格式:

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

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

?

?1.3.3运算符与函数

1.算术运算符

MATLAB算术运算符

运算符定义
+算术加

-

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

###四则运算###

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

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

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

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)反超越正切函数

?###计算开方###

1.3.4向量

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

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

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

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

3.利用函数创建向量

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

  • 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文件夹中创建文本文件,在命令行中直接调用该文件即可

  • 特殊矩阵
    • 全零矩阵
      • 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列的矩阵

?

?????????

?

?

文章来源:https://blog.csdn.net/waywardG/article/details/135344438
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。