计算机仿真技术与应用简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
▫ clock
• 序列日期数 7.349e+005
▫ 从一个固定日子开始到指定的日期经过了多少天, matlab中0000年的1月1日的序列日期为1,下午6 点位0.75.(输入now)
转换日期格式
• • • • • • • Datenum:把其他格式转换为序列日期数 Datestr把其他格式转换为日期串 Datevec把其他格式转为日期向量 >>T=datenum(’12/24/2012 12:22’) T= >>datevec(t) Ans=
>> a=zeros(2,5) a= 0 0 0 0 0 0 0 0 0 0
(生成2行5列0数组)
>> a(:)=-4:5 a= -4 -2 0 2 4 -3 -1 1 3 5
(对A进行单下标全元素赋值)
2.2 二维数组
2. 二维数组的寻访和赋值
c) 利用MATLAB的冒号运算,可方便地进行数组(矩阵)的子数 组(子矩阵)的寻访和赋值。 冒号表达式: s1:s2:s3 式中,s1:起始值; s2:步长(省略为1); s3:终止值。 例如: A(:,j):表示A矩阵第j列全部元素 A(i,:):表示A矩阵第i行全部元素 A(1:3,2:4) :表示对 A 矩阵取第一到第 三行,第二到第四列中所有元素构成的 子矩阵。 >> s=[1 3 5];a(s)=10:10:30 a= 10 20 30 2 4 -3 -1 wenku.baidu.com 3 5
计算机仿真技术与应用简介
王红勇 ChinaATM@yahoo.cn 13920819396
Matlab数值数组及运算
1 概述 2 数值数组的生成和寻访 3 数组运算和矩阵运算 4 非数和空数组 5 数组的关系运算和逻辑运算 6 字符串数组
1 概述
MATLAB长于数值计算,而所谓数值计算,就是指计算 的表达式、变量中不得包含未经定义的自由变量。
x4=find(abs(x)>0.1&abs(x)<0.6) %找出x中绝对值介于 0.1和0.6之间的元素的索引
2.1一维数组
2. 一维数组的寻访
• 子数组的赋值
格式:x(index)=y 说明:x(index)所得到的数据长度与y的数据长度必须相同 index和子数组寻访中的index定义一样 y可以是单个数,也可以是一维数组,也可以是某一维数组的子数组 例 x(3)=0; x(1:4)=randn(1,4); x([1 4])=[2 2]; 例 y=randn(1,10); x(1:4)=y(2:5)
例如对数组 作如下操作:
2.1一维数组
2. 一维数组的寻访
• 关系运算函数find的使用 例:生成矩阵 x=[-2 -1 0 1 2 0.5 -1 inf 1 0.5]
x1=find(x==0) %找出x中恒等于0的元素的索引
x2=find(x>0) x3=find(x) %找出x中大于0的元素的索引 %找出x中不等于0的元素的索引
在变量前加global,变为全局变量。一般用大写表示
全局变量。【在matlab中操作】
复数
• 复数由两部分组成:实部和虚部,虚数单位在 matlab中用字母i和j中的一个表示。 • 建立复数由两种方法:直接用语句和使用 complex函数 • >>a=2+3i • >>x=rand(3)*5; • Y=rand(3)*-8; • Z=complex(x,y) • 通过real、image可以将复数的实部和虚部分开。
则将显示:
x= 2.0000 1.0472 1.7321 3.0000 + 5.0000i
2 数值数组的生成和寻访
2.1 一维数组
1. 一维数组的创建
b)冒号生成法
变量名=a:inc:b %生成从a到b,间隔为inc的一维数组 说明:a :数组的第一个元素 inc :采样点之间的间隔即步长(数组元素间的间隔长度)inc 可以省 略。省略时,默认其取值为1,即认为inc=1,可以取正数或负数。但要 注意:inc取正时,要保证a<b;而inc 取负时,要保证a>b (b-a)是inc的整数倍,则所生成数组的最后一个元素等于b,否则小于b
选项或format命令选择。
数值计算结果的显示格式
• format long e, pi • format long, pi
1 概述
变量及其赋值
在命令窗口可直接输入变量并赋值,无须声明其 类型和维数,MATLAB将自动处理。
变量
• 不需要事先对变量进行声明,也不需要指定变量 类型,会自动依据所赋予变量的值或对变量进行
【说明】 a、b分别是生成数组的第一个和最后一个元素,n是采样总 点数。 该指令与 x=a: (b-a)/(n-1) : b 相同。

d) 此外还可通过数组运算或数组生成函数,构建某些特殊 的数组。
【例】一维数组的冒号生成法和定数线性采样法。
>> x=(0:pi/10:pi) x= Columns 1 through 6 0 0.3142 0.6283 Columns 7 through 11 1.8850 2.1991 2.5133 >> y=linspace(0,pi,11) y= Columns 1 through 6 0 0.3142 0.6283 Columns 7 through 11 1.8850 2.1991 2.5133
2.2 二维数组
1.
二维数组的创建
a)
直接输入法 整个输入数组须以‚[ ]”为其首尾; 数组行与行之间用‚;‛或‚回车键‛隔离;>> A=[1 2 3;4 5 6;7 8 9] A= 数组元素用逗号或空格分离。 1 2 3 4 5 6 例如要输入二维数组 7 8 9 1 2 3 >> A=[1,2,3 A 4 5 6 4,5,6 7 8 9 7,8,9] 则在指令窗中的操作如右图所示。 A= 1 2 3 其中,第一个矩阵输入采用‚;‛分行, 4 5 6 第二个矩阵输入采用‚回车键‛分行。 7 8 9
数值数组(Numeral Array)和数组运算 (Array Operations) 是 MATLAB 的核心内容。数组是 MATLAB 最重要的一 种内建数据类型,而数组运算则是定义在这种数据结构 上的方法。本章重点介绍数值数组,其次是与数组类似 其它结构体。 数组:是指由一组实数或复数排成的长方阵列(Array), 包括行向量、列向量和矩阵。 数组的运算: 无论对数组施加什么运算(加减乘除或函 数)总认定那种运算对被运算数组中的每个元素平等地 实施同样的操作。
• 预定义变量 P48
▫ clear
• 小结 P49
2 数值数组的生成和寻访
2.1 一维数组
1. 一维数组的创建 a) 逐个元素输入法 借助数组编辑器可以逐个输入数组元素(对于二维 数组同样适用),但也可在指令窗中直接输入。例如在 指令窗中输入(数组元素之间用‚ ‛ 或‚,‛隔开): x=[2 pi/3 sqrt(3) 3+5i]
(对A进行单下标行数组元素赋值)
>> x(3) 取单个数组元素 ans = 1.7321 >> x([1 2 4]) 下标为由[ ]构成的数组 ans = 2.0000 1.0472 3.0000 >> x(2:end) 下标为由冒号生成法构成的数组 ans = 1.0472 1.7321 3.0000 >> x(4:-1:1) ans = 3.0000 1.7321 1.0472 2.0000 >>x(find(x>1.50)) ans = 2.0000 1.7321 3.0000
2.2 二维数组
1. 二维数组的创建
b) 利用M文件创建和保存数组 对于经常需要调用的且比较大的数组,可专门为该数组创建一个 M文件。利用文件编辑器输入该数组并保存,以后只要在MATLAB指令 窗中,运行该文件,文件中的数组就会自动生成于MATLAB内存中。 c) 标准数组生成函数 含 义 产生对角形数组(二维以下) 产生单位数组(二维以下) 指令 rand 含 义 产生均匀分布随机数组
的操作来识别变量的类型。赋值过程中如果赋值
变量已经存在,则将使用新值代替旧值,并以新 值类型代替旧值类型。 • 变量的命名应遵从如下规则:
• MATLAB 的变量名称由英文大小写52个字母、数字和
下划线等符号组成,并且第一个字符必须是英文字母 • 变量和常量最长允许31个字符。 • MATLAB对字母大小写敏感 。 • 存在变量域。未加特殊说明时,一切变量为局部变量,
>> d=eye(5) %产生(5*5)的单位阵
d= 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 %产生4行5列全3数组 3 3 3 3 %取a 阵对角元 >> c=diag(b) %生成对角元为数组b 对 角阵(与diag([3,3,3,3]) 效果相同) c= 3 0 0 0 0 3 0 0 0 0 3 0 0 0 0 3
1 概述
MATLAB数据格式及显示方式
MATLAB 既可用传统的十进制数表达数值,也可以用科学计 数表达数值,用e代表10的指数形式,用i和j来代表虚数。

MATLAB内部数据格式只有一种,是IEEE浮点标准的双精度
二进制(64位)。

为了人机交互的友好性,数据输出显示格式有8种 。可用菜单
%冒号法生成一维数组
0.9425 1.2566 1.5708 2.8274 3.1416 % 定数 (0,) 线性采样法生成 (1×11)数组 0.9425 1.2566 1.5708 2.8274 3.1416
显然这两种方法生成的一维数组是完全相同的。
2.1一维数组
2. 一维数组的寻访
数组寻访的一般格式为X(index),下标index可以是单个正整数或 正整数数组。 x =[ 2.0000 1.0472 1.7321 3.0000 ]
>> a=3*ones(4,5) a= 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 >> b=diag(a) b= 3 3 3 3
>> zeros(5,6) %生成5行6列的全0阵 ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
指令 diag eye
randn 产生正态分布随机数组 zeros 产生全0数组
magic 产生魔方数组(二维以下)
ones
产生全1数组
• diag 产生对角形数组 ,不适用于高维数组
A=diag(V) V为具有m个元素的向量 其功能是产生一个m×m对角数组 主对角线元素即为向量V的元素 A=diag(V,k), 其功能是产生一个n×n(n=m+k)对角数组 第k条对角线的元素即为向量V的元素 k>0 主对角线之上的第k条对角线 k<0 主对角线之下的第k条对角线
无穷大
• 使用特殊值inf、-inf表示正负无穷大。Isinf验证x 是否为无穷大
逻辑性数据
• • • • 用1和0表示真假。 不一定是标量,可以为向量 >>[30 40 50 60]>40 Ans = 0 0 1 1 1
日期格式的类型
• 三种:日期字串、序列日期、日期向量 • 日期字串:“01-Mar-2012” • 日期向量 [2012 03 01]
• 与一维数组对比
2.2 二维数组
2.
二维数组的寻访和赋值
a) 全元素标识和赋值 这是一种最常用的标识方式,对于二维数组来说,‚全下标‛标识 由两个下标组成:行下标,列下标。如A(3,5)等。
b)
单下标标识和赋值 这是只用一个下标来指明元素在数组中的位置。对二维数组采用 ‚单下标‛标识,应先对数组的所有元素进行‚一维编号‛,即先 设想把二维数组的所有列按先左后右的次序,首尾相接排成‚一维 长列‛;然后自上往下对元素位置进行编号。
在matlab指令行输入 x=1:2:11 x= 1 3 5 7 9 11
x=1:2:10 x= 13579
2 数值数组的生成和寻访
2.1 一维数组
1. 一维数组的创建 c) 定数线性采样法
该方法在设定的‚总点数‛下,均匀采样生成一维‚行‛数 组。其通用格式为: x=linspace(a , b , n)
相关文档
最新文档