MATLAB实用教程-电子教案
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.Mathematica 软件
Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram Research开发的数学系统软件. 它拥有强大的数值计算和符号计算能力、在这一方面与Maple类似,但它的符号计算不是基于 Maple上的,而是自己开发的.
4. SAS软件
定制类
Java类
2.2 数组和矩阵
MATLAB中,所有数据都用数组或矩阵形式进行保存。 数组 矩阵
数组
构造数组的方法: 直接构造法 增量法 linspace函数法
直接构造数组
在MATLAB中构造数组,只需要用空格或逗号间隔数组元素,然后用方括号括起来就行了。如 x=[0 2 3 6 7 8]
作业:
P7: 1, 2, 3
第2章 数据类型
常数和变量 数组和矩阵 字符串 多维数组 结构 单元数组 函数句柄
常数
下表列出了MATLAB提供的一些内部函数。
常数 ans
eps realmax realmin pi i, j inf NaN
computer version
返回值
默认变量名,保存最近的结果。如果不给表达式指定一个输出变量, MATLAB会自动将结果保存到ans变量中 浮点相对精度。是MATLAB用于计算的容限 计算机可以表示的最大浮点数
LINGO则用于求解非线性规划和二次规则其中LINGO 6.0学生版最多可版最多达300个变量和 150个约束的规则问题,其标准版的求解能力亦再10^4量级以上 .
7.几何画板软件
几何画版是美国key curriculum公司制作的优秀教育软件. 可用在平面几何, 解折几何, 射影几何 甚至立体几何中; 它为师生提供了一个观察,探索和实验的几何环境.它应该是数学教师的首选 软件之一.
创建变量 在MATLAB中创建变量很简单,不必声明变量的数据类型。例如在命令窗口键入下面的命令行 就可以创建一个A变量。 A=9 A= 9
变量的数据类型
数组
逻辑型
字符型
数值型
单元数组
结构数组
函数句柄
int8, uint8 int16, uint16 int32, uint32
Single
Double
类型转换
用char函数把单元数组转换为标准字符串数组。 str2double函数把一个字符串单元数组转换为字符串表示的双精度值。 int2str函数将整型数据转换为字符串型数据。 num2str函数对输出字符串的格式提供了更多控制,该函数的第2个变量是可选的,它设置输
B = rand(3, 5);
% 3×5的矩阵,元素为随机数
C = [A; B]
% 垂向聚合A和B
组合不同类型的数据
构造矩阵时,如果矩阵的数据类型不同,则MATLAB会自动对某些元素进行类型转换,然后生 成的矩阵具有相同的类型。 用一个高精度的矩阵和一个低精度的矩阵构造新矩阵时,新矩阵是低精度型的。例如,聚合 double型和single型的矩阵时,总是生成single型的矩阵。MATLAB会先将double型元素转换为 single型。
创建一个矢量(1×n的矩阵)
聚合矩阵
矩阵聚合是通过连接一个或多个矩阵来形成新的矩阵。符号[ ]不仅是矩阵构造符,它还是 MATLAB聚合运算符。表达式C=[A B]在水平方向上聚合矩阵A和B,表达式C=[A;B]在垂向上
聚合它们。
本例通过在垂向上聚合矩阵A和B来构造新矩阵C:
A = ones(2, 5) * 6; % 2×5的矩阵,元素为6
SAS意为统计分析系统,是由美国SAS研究所于1976年推出的用于决策支持的大型信息集成系 统.是当前最重要的专业统计软件之一.
SAS系统是一个由三十多个专用模块组成的大型集成式软件包.其功能包括客户机服务器计算, 数据访问,数据存储及管理,应用开发,图形处理,数据分析,报告编制,质量控制,项目管理,运筹学 方法,计量经济学与预测等.
(主要是基于数值式计算)
2.MathCAD 软件
MathCAD是美国Mathsoft公司推出的一个交互式的数学系统软件. 从早期的DOS下的1.0和Windows下的4.0版本,到今日的8.0版本,功能也从简单的数值计算,直至引 用Maple强大的符号计算能力、使得它发生了一个质的飞跃. MathCAD是集文本编辑,数学计 算,程序编辑和仿真于一体的软件.
计算机可以表示的最小浮点数
圆周率
虚数单位
无限值。类似n/0的表达式生成的结果为inf,其中n为非0实数 表示不合法的数值值,非数值。类似0/0和inf/inf的表达式生成的结果,与 NaN有关的算术运算结果,以及n/0,n为复数时的计算结果都是NaN 计算机类型
MATLAB版本字符串
变量
变量名 MATLAB变量名的第1个字符必须是字母,后面可以跟字母、数字和下划线的任何组合。 注意:MATLAB中变量名有大小写区分,所以A和a是不同的变量。
聚合矩阵的特殊函数
下表列出了聚合矩阵的一些特殊函数。
函数
cat horzcat vertcat repmat blkdiag
描述
沿指定的维聚合矩阵 水平聚合矩阵 垂向聚合矩阵 通过复制和叠置矩阵来创建新矩阵 用已有矩阵创建块对角矩阵
获取矩阵的元素
使用编号索引 使用线性索引 使用冒号 使用end关键字
8. SCILAB
SCILAB 是由法国国家信息、自动化研究院(INRIA)的科学家们开发的“开放源码”软件。 SCILAB 一词来源于英文“Scientific Laboratory”(科学实验室)词头的合并。
与MATLAB 类似,SCILAB也是一种科学工程计算软件,其数据类型丰富,可以很方便地实 现各种矩阵运算与图形显示,能应用于科学计算、数学建模、信号处理、决策优化、线性/非 线性控制等各个方面。它还提供可以满足不同工程与科学需要的工具箱。
使用编号索引获取矩阵的元素
利用编号和索引,可以获取MATLAB矩阵的元素。 要引用矩阵中的特殊元素,用下面的语法指定它的行号和列号,其中A是矩阵变量。按先行后
列的顺序指定。 A(row, column)
使用线性索引获取矩阵的元素
MATLAB保存矩阵中的数据时是作为一个元素列保存。这个元素列又是由矩阵中的所有列组成的, 后一列元素按先后顺序添加到前一列元素的最后。所以,矩阵A A = [2 6 9; 4 2 8; 3 0 1] A= 269 428 351
SPSS现在的最新版本为11.03,大小约为200M.他是世界上最早的统计分析软件,由美国斯坦福大 学的三位研究生于20世纪60年代末研制,同时成立了SPSS公司、并于1975年在芝加哥组建了 SPSS总部.
6.LINDO,LINGO软件
LINDO是一种专门用于求解数学规划问题的软件包. LINDO主要用于解线性规划,非线性规划, 二次规划和整数规划等问题.也可以用于一些非线性和线性方程组的求解以及代数方程求根等.
在内存中是按下面的序列保存的: 2, 4, 3, 6, 2, 5, 9, 8, 1
矩阵A第3行第2列的元素可以看作实际保存序列中的第6个元素。要获取这个元素,可以使用标 准语法A(3,2)或使用A(6)。
使用冒号获取矩阵的元素
利用冒号本身可以引用矩阵某行或列的所有元素。使用下面的语法,可以计算4×4的魔方矩阵 A中所有元素的和。 sum(A(:, 2)) ans = 34 将冒号进行索引,可以引用整个矩阵中的所有元素。本例显示矩阵A中的所有元素,按列序 返回它们: A(:)
下面创建一个3行5列的数值矩阵。 A = [12 62 93 -8 22; 16 2 87 43 91; -4 17 -72 95 6] A=
12 62 93 -8 22 16 2 87 43 91 -4 17 -72 95 6
构造特殊矩阵
MATLAB提供了多个创建不同矩阵的函数,如下表所示。
函数 ones zeros eye accumarray diag magic rand randn randperm
MATLAB的主要特点
简单易学 代码短小高效 计算功能强大 绘图功能强大 可扩展性能
MATLAB的桌面环境
启动按钮 命令窗口 命令历史窗口 工作空间窗口 当前目录浏览器
主界面
当前目录浏览工具
工作空间窗口
启动按钮
命令窗口 命令历史窗口
MATLAB的帮助系统
帮助浏览工具 help函数和doc函数
5. SPSS软件
SPSS是软件英文名称的首字母缩写,原意为Statistical Package for the Social Sciences,即社会科学 统计软件包.
随着SPSS产品服务领域的扩大和服务深度的增加,SPSS公司已于2000年正式将英文全称更改为 Statistical Product and Service Solutions,意为统计产品与服务解决方案,标志着SPSS的战略方向 正在做出重大调整.
使用end关键字获取矩阵的元素
利用end关键字可以指定矩阵某维的最后一个元素。它适用于不知道矩阵有多少行或多少列的情 况。例如,可以用下面的语句进行值的替换: B(1:3:end) = -10
字符串
字符串的创建 类型转换 字符串的比较 字符串的聚合 字符串的搜索和替换
创建字符串
通过把字符放到单引号中来指定字符数据。如,下面创建一个1×5的字符串country。 country = 'China';
ቤተ መጻሕፍቲ ባይዱ
功
能
创建一个所有元素都为1的矩阵
创建一个所有元素都为0的矩阵
创建对角线元素为1,其他元素为0的矩阵
将输入矩阵的元素分配到输出矩阵中的指定位置
根据矢量创建对角矩阵
创建一个方形矩阵,其中行、列和对角线上元素的和相等
创建一个矩阵或数组,其中的元素为服从均匀分布的随机数 创建一个矩阵或数组,其中的元素为服从正态分布的随机数
2000年起担任“中法信息、自动化、应用数学联合实验室”(LIAMA)中方主任,博 士生导师,中国科学院北京研究生院教授,IEEE高级会员。
胡包钢博士现为中国自动化学会控制理论专业委员会和智能自动化专业委员会委
员。
第1章 MATLAB简介
MATLAB的主要特点 MATLAB的桌面环境 MATLAB的帮助系统
或 x=[0,2,3,6,7,8]
就构造了一个有6个元素的数组x。
用增量法构造数组
利用MATLAB提供的冒号运算符(first:step:last)可以生成数组。数组中的元素按顺序从first一直 到last,增量为step。 如果不指定增量step,则按升序生成数组,后面的数比它前面第一个数大1。 如果要求生成降序排列的数组,指定一个负的增量。 增量可以是整数,也可以是小数。
创建一个二维字符串时,确定每行具有相同的长度,例如,下面两个字符串都有5个字符,用 它们组合起来的二维字符串是合法的。
name = ['Li Yi' ; 'Hu Xu '] name =
Li Yi Hu Xu
根据不同长度的字符串创建字符串时,将短的那些字符串后面用空格补齐,使所有字符串的 长度相同。
用linspace函数构造数组
用linspace函数构造数组,需要指定首尾值和元素总个数。基本形式是: x=linspace(first,last,num) 其中,first,last和num分别为x数组的首尾元素和元素个数。如 x=linspace(0,10,5) x=
0 2.5000 5.0000 7.5000 10.0000
一 、常用数学软件简介
1. MATLAB 软件
MATLAB 矩阵实验室(Matrix Laboratory) . MATLAB程序主要由主程序和各种工具包组成, 其中主程序包含数百个内部核心函数, 工具包 则包括复杂系统仿真,信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控 制系统工具包、μ分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计 工具包等.
矩阵
构造矩阵的方法: 简单的创建方法 构造特殊矩阵 聚合矩阵 组合不同类型的数据
用简单方法构造矩阵
MATLAB中创建矩阵最简单的方法是使用符号[]。在方括号内输入多个元素可以创建矩阵的一个 行。用逗号或空格把每个元素间隔开。如果想开始一个新行,用分号终止当前行: A = [row1; row2; ...; rown]