【001.Matlab概述及基础】

  • Matrix(矩阵)+Laboratory(实验室) = Matlab
  • 三大数学软件(另:Mathematica, Maple)之一,强大的矩阵计算及仿真能力。
数学的基本运算符号
  • 带“·”的运算方式表示对矩阵的元素进行运算
  • 优先级及其他次序,可以在命令窗口中输入help precedence
命令行中的常用标点
标点符号名称作用和意义
空格
,逗号
.
分号
冒号在生成一维数组时,可以作为分割符;用作单下标引用时的全部元素构成的全部数列;循环运算过程中的分隔符号
%百分号
‘’单引号对
()圆括号
[]方括号
{}花括号
_下划线
续行符
@“At”号
感叹号调用操作系统运算

注:使用时有疑惑,可以使用help命令查询。如help {}

命令窗口中的常用操作和编辑命令
命令功能和意义命令功能和意义
cd显示和改变工作目录pack整理内存碎片
clc清空命令窗口path显示搜索目录
clear清空工作去中的变量quit退出Matlab
clf清空图形窗口save保存内存变量
diary日志文件命名type显示文件内容
dir显示当前目录下的文件what列出所在目录Matlab文件
disp显示变量或文字的内容which定位MatLab文件的路径
ecoh命令窗口信息显示开关who列出工作空间的变量
hold图形保持命令whos详细列出工作空间的变量
load加载指定文件中的变量
命令窗口的显示
  • 可通过help format查询
数值、变量和表达式
  • 变量名对大小写敏感,即区分大小写
  • 变量名必须以字母开头(后面数字、下划线和字母)
  • 变量名最长采用63个字符,之后的字符串都将被忽略
  • 可以通过iskeyword 查询关键字;通过isvarname 查询所定义的变量名是否为matlab关键字
  • 预定义变量
预定义变量变量的意义
ans默认计算结果变量名,answer的缩写形式
beep计算机自动发出声音
pi圆周率π
eps浮点数的精度(2.2204e-016),matlab中的最小数值,和数值相加后,产生大于该数值的最小的那个数
inf无穷大数的表示(1/0产生)
NaN数值不能确定,不是一个数(Not a Number),通常由0/0、∞/∞等不能确定数值的时候产生
i或j虚数单位,即 i=j=1
nargin在调用函数时,函数变量的输入个数
nargout函数调用时,由函数输出的变量个数
realmin可用的最小正实数
realmax可用的最大正实数
bitmax可用的最大正整数(用双精度数表示,9.0072e+015)
varargin函数输入变量中,可变变量的输入个数
varargout可变的函数输出个数
数值数据类型
整数类型

uint8, int8, uint16, int16, uint32, int32, uint64, int64

%例:整形数据的定义
>> x1=int16(20)
x1 =
     20
>> intmin('int16')%每种类型都可以通过intmax和intmin来查询上下限
ans =
 -32768
>> class(x1)
ans =
int16
>> y1=35
y1 =
    35
>> class(y1) %使用class获得所定义变量的数据类型
ans =
double
%例:整形数据运算
>> a=int8(1:9)
a =
    1    2    3    4    5    6    7    8    9
>> b=int8(randperm(9)) %生成1~9随机向量
b =
    9    7    5    6    2    8    4    3    1
>> a.*b
ans =
    9   14   15   24   10   48   28   24    9
>> a.\b
ans =
    9    4    2    2    0    1    1    0    0

>>c=cast(b,'uint16')%将c的数据类型转化为16位无符号整数
注:
1. 不同数据类型整形数据之间不能进行数学运算,但是Matlab支持双精度标量整形数据之间的数学运算
2. 运算过程中产生溢出问题时,Matlab采用饱和处理,即计算结果设定为溢出方向的上下限值
3. 除64位整形数据之外,整形数据的存储比双精度数据的存储速度要很多

浮点数

double, single

单精度和双精度类型的取值范围可以选择用函数realminrealmax来得到,single的精度可以通过函数eps来得到
>> eps
ans =
2.2204e-16

%单精度数据的创建及混合运算
>> a=single(1:8)
a =
     1     2     3     4     5     6     7     8
>> b=ones(1,4,'single')
b =
     1     1     1     1
>> class(a)
ans =
single
>> class(b)
ans =
single
>> c=rand(1,8)
c =
    0.2769    0.0462    0.0971    0.8235    0.6948    0.3171    0.9502    0.0344
>> class(c)
ans =
double
>> d=a+c
d =
    1.2769    2.0462    3.0971    4.8235    5.6948    6.3171    7.9502    8.0344
>> class(d)
ans =
single
%特殊的双精度数
>> a=rand(1,8)
a =
    0.4387    0.3816    0.7655    0.7952    0.1869    0.4898    0.4456    0.6463
>> b=rand(1,8)
b =
    0.7094    0.7547    0.2760    0.6797    0.6551    0.1626    0.1190    0.4984
>> b(1:2:end)=0
b =
         0    0.7547         0    0.6797         0    0.1626         0    0.4984
>> a./b
ans =
       Inf    0.5056       Inf    1.1699       Inf    3.0119       Inf    1.2969
>> b./b
ans =
   NaN     1   NaN     1   NaN     1   NaN     1
整数浮点数间的操作函数
函数名称描述
double创建或转化为双精度类型的数据
single创建或转化为单精度类型的数据
int8创建或转化为8位有符号整形
uint8创建或转化为8位无符号整形数据
isnumeric数据类型判断函数,如果为整形数据或浮点数,函数返回true
isinteger整形数据判断函数,如果为整形数据,则返回true
isfloat浮点数类型判断函数,如果为单精度或双精度数据,则返回true
isa(x, ‘type’)判断x是否为指定的type类型数据,若是,则返回true
cast(x, ‘type’)将的数据类型转化为type类型的数据
intmax(‘type’)返回整形数据的最大值
intmin(‘type’)返回整形数据的最小值
realmax(‘type’)返回浮点数的最大值
realmin(‘type’)返回浮点数的最小值
eps(‘type’)返回type类型数据的eps数值(浮点数值,即精度)
eps(‘x’)x的eps数值

表中type为numeric、integer、float及其他类型的数据类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值