数学软件 Matlab —— 数据类型.

Slides:



Advertisements
Similar presentations
质数和合数 中心小学 顾禹 人教版小学五年级数学下册 一、激趣导入 提示:密码是一个三位 数,它既是一个偶数, 又是 5 的倍数;最高位是 9 的最大因数;中间一位 是最小的质数。你能打 开密码锁吗?
Advertisements

因数与倍数 2 、 5 的倍数的特征
3 的倍数特征 抢三十
质数和合数 富县北教场小学 潘小娟 1 、什么叫因数? 2 、自然数分几类? 奇数和偶数. 3 、自然数还有一种新的分类方法, 就是按一个数的因数个数来分. 4 、写出 1—20 的因数。 前置性作业.
质数和合数 2 的因数( ) 6 的因数( ) 10 的因数 ( ) 12 的因数 ( ) 14 的因数 ( ) 11 的因数 ( ) 4 的因数( ) 9 的因数( ) 8 的因数( ) 7 的因数( ) 1 、 2 、 3 、 4 、 6 、 12 1 、 11 1 、 2 、 5 、 10.

2 和 5 的倍数的特征 运动热身 怎样找一个数的倍数? 从小到大写出 2 的倍数( 10 个): 写出 5 的倍数( 6 个) 2 , 4 , 6 , 8 , 10 , 12 , 14 , 16 , 18 , 20 5 , 10 , 15 , 20 , 25 , 30.
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
Tool Command Language --11级ACM班 金天行.
C语言实验 第一课 标题:学号+姓名.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
第九章 字符串.
C语言高级编程(第四部分) 字符串 北京大学 信息科学技术学院.
MATLAB数学实验 第一章 MATLAB入门.
走进编程 程序的顺序结构(二).
元素替换法 ——行列式按行(列)展开(推论)
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第一章 函数 函数 — 研究对象—第一章 分析基础 极限 — 研究方法—第二章 连续 — 研究桥梁—第二章.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C语言程序设计基础 刘新国.
第二章 Java语言基础.
第一章 函数与极限.
计算.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
張智星 (Roger Jang) 清大資工系 多媒體檢索實驗室
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
第三章 数据类型  常数和变量 数组和矩阵 字符串和多维数组 结构和单元数组.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
第九节 赋值运算符和赋值表达式.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
3.16 枚举算法及其程序实现 ——数组的作用.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
建模常见问题MATLAB求解  .
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
线 性 代 数 厦门大学线性代数教学组 2019年5月12日4时19分 / 45.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_03宽字符与Unicode编程 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
第二章 Java基本语法 讲师:复凡.
第二节 函数的极限 一、函数极限的定义 二、函数极限的性质 三、小结 思考题.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
复习 标签(label)、文本框(text)控件 按钮:点击事件
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
数据表示 第 2 讲.
第二章 数据类型与表达式 丘志杰 电子科技大学 计算机学院 软件学院.
VFP的基本数据运算(一).
§4.5 最大公因式的矩阵求法( Ⅱ ).
顺序结构程序设计 ——关于“字符串”和数值.
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
编译原理实践 6.程序设计语言PL/0.
第二次课后作业答案 函数式编程和逻辑式编程
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
2 Java语言基础 (数据运算与流程控制).
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

数学软件 Matlab —— 数据类型

内容提要 变量与常量 数值型数据 逻辑型数据 字符与字符串 细胞(cell) 结构型数据 句柄

变量 变量 变量是任何程序设计语言的基本元素之一 Matlab 变量的特点: 不要求事先声明(也无法声明) 不需要指定变量类型: 根据所赋的值或对变量所进行的操作来确定变量的类型 变量的类型可以随时改变: 在赋值过程中,如果变量已经存在,Matlab 会用新值代替旧值,并以新的数据的类型代替旧的变量类型 如果能够事先给大数组分配空间,则可以提高程序的执行效率

变量 变量命名要求 Matlab 预定义常量 必须以字母开头,含字母(大小写)、数字和下划线 区分大小写 Matlab 预定义常量 i,j 虚数单位 realmin 最小正浮点数 pi 圆周率 realmax 最大正浮点数 eps 浮点运算相对精度 intmin 最小整数 Inf 无穷大 intmax 最大整数 NaN/nan 不定值

数据类型 Matlab 常用的数据类型有: numeric:数值 char:字符 logical:逻辑 cell:单元、细胞、元胞 struct:结构

细胞 逻辑 字符 函数句柄 Matlab7.x 中的数据类型表

数值型 带符号 整数 无符号 数值型数据 单精度 浮点数 双精度 为了提高数值计算的精度,若没有指定数据类型,则所有的数都被看作是双精度的浮点数 使用整型数据或单精度数据可以节约内存空间

整型数据 Matlab 提供四种带符号整型和四种无符号整型 数据类型 取值范围 转换函数 带符号 8 位整型 [-27,27 –1] int8 带符号 16 位整型 [-215 , 215 –1] int16 带符号 32 位整型 [-231 , 231 –1] int32 带符号 64 位整型 [-263 , 263 –1] int64 无符号 8 位整型 [0 , 28 –1] uint8 无符号 16 位整型 [0 , 216 –1] uint16 无符号 32 位整型 [0 , 232 –1] uint32 无符号 64 位整型 [0 , 264 –1] uint64

举例 x1=11 x1=int8(11); x2=int8(15.49); x2=15 x3=int8(15.5); x3=16 x5=uint8(255); x5=255 x6=uint8(256); x6=255 x7=uint8(-1); x7=0

整型数据运算规则 整型数据运算规则: 整型数据不能与双精度数组进行运算 相同整型数据之间的运算,结果为同类型的整数 不同整型数据之间不能进行运算! x=int8(11); y=int8(5); z=x*y % OK x=int8(11); y=int16(5); z=x*y % ERROR! 整型数据可以和双精度标量进行数值运算,结果为整数。在运算过程中保持浮点运算精度,最后将结果转换成整型。 整型数据不能与双精度数组进行运算 x=int8(11); y=[1,2]; z=x*y % ERROR!

最大整数与最小整数 intmax 和 intmin 函数: 查询不同整型数据所能表示的最大整数和最小整数 例: intmin('int8'); intmax('uint8'); intmin('uint8'); intmax; intmin; intmax('int32'); intmin('int32');

浮点数 X 浮点数:单精度(占 4 个字节)和双精度(占 8 个字节) single:将数据转换成单精度浮点数 double:将数据转换成双精度浮点数 浮点数与其它类型数据运算表 operand single double int/uint char logical X

最大和最小浮点数 realmax 和 realmin : 查询单精度和双精度所能表示的最大浮点数和最小浮点数 例: realmax('single'); realmin('single'); realmax('double'); realmin('double'); realmax; realmin; realmax('double'); realmin('double');

复数 复数的输入方法 z=3+4i z=complex(3,4) z=complex(3) z=complex(3,0) 直接输入: 虚部与虚数单位之间不能留空格 使用 complex 函数 z=complex(3,4) z=complex(3) z=complex(3,0)

整型数据相关函数

浮点数相关函数

复数相关函数

其它相关函数

判断数据类型相关函数

字符串 字符串和字符数组 字符与字符串运算是各种高级语言不可缺少的部分,Matlab具有强大的字符处理能力 字符串必须用单引号括起来 str1='Matrix Laboratory' 字符串是由多个字符组成的字符行向量 str2=['M','a','t','r','i','x'] 字符数组必须是方的,即每行的字符个数必须相等 str3=['M','a','t'; 'r','i','x']

字符串 字符串中的每个字符(包括空格)都是字符串的一个元素 str='Matrix'; str(3) size(str) Matlab中字符是以 ASCII 码存储的,因而区分大小写,可用 double 等函数查看一个字符的 ASCII 码 str='Matrix'; double(str(3)); int16(str);

字符串的输入 直接输入 str1='Matrix'; str2='Laboratory'; str=[str1, str2]; str=[str1; str2]; // ERROR! 使用 char 函数 ASCII 码  字符串 str=char([77,97,116,108,97,98]) str=char(str1,str2) 生成一个字符数组,第一行为 str1,第二行为 str2 数组的列数=max(length(str1), length(str2))

字符与数的转换 字符串、字符数组与数值数组之间的转换 按 ASCII 码转换 字符  数:double、int8、int16、... 数  字符:char 直接将数转换成字符 字符  数:str2num (仅限于字符串由数字构成) 数  字符:num2str、int2str、mat2str a=[97, 97.3; 97.8, 98]; str1=char(a); str2=num2str(a); str3=int2str(a); str4=mat2str(a);

举例 char 的输入参数有效范围为 [0,65535],当输入参数中有小数时,直接将小数部分舍去。 num2str 直接将每个数字转换成字符 mat2str 把整个矩阵转换成字符行向量,包括矩阵中的方括号、空格 和 分号(逗号自动去除) a=[1,2,3]; b=num2str(a); c=2*a; % c=? d=2*b; % d=? 数值数组转换为字符数组后,表面上看象一个数值数组,但此时的元素是字符而不是数!

char、double、int8、int16 等是按 ASCII码 进行转换 str2num、num2str、int2str、mat2str 是直接进行转换

字符串的合并 字符串水平合并 直接使用中括号 str1=['hello ', 'world!'] 使用 strcat 函数 str2=strcat('hello ','world!') 使用 strcat 时,系统会自动去除原字符串结尾处的空格 水平合并得到的是一个更长的字符串

字符串的合并 字符串垂直合并 直接使用中括号 str3=['Matrix '; 'Laboratory'] 使用 strvcat 函数 str4=strvcat('Matrix','Laboratory') 在中括号中用分号实现垂直合并,必须保证每个字符串的长度相等,否则需用空格补齐 用 strvcat 合并,系统会自动为较短的字符串补充空格 垂直合并得到的是一个字符数组

字符串的执行 执行字符串所表示的表达式或命令: eval str='1+2'; a=eval(str) str='A=magic(3)'; str1='figure(1); mesh(peaks(60))'; str2='figure(2); waterfall(peaks(60))'; eval(str1) eval(str2)

字符串相关函数 函 数 功 能 strcmp 字符串比较 strrep 字符串替换 strcmpi 字符串比较: 忽略大小写 strncmp upper 转换为大写 lower 转换为小写 blanks 产生空字符串 deblank 删除字符串中的空格 strmatch 查找匹配字符串 findstr 在一个字符串中查找另一字符串 strjust 对齐字符数组,包括左对齐,右对齐和居中 strtok 返回字符串中第一个分隔符 ( 空格,回车和Tab键 ) 前的部分

细胞数组/单元/元胞 Matlab 从 5.0 版开始引入了一种新的数据类型 — 细胞 ( cell ),该结构可以把不同类型的数据纳入到一个变量中。 普通数组中的每个元素都必须具有相同的数据类型,而细胞则没有此要求。 细胞变量的表示方法类似于带有下标的数组,但这些下标不是用圆括号括起来,而是使用大括号。

细胞数组举例

细胞变量的定义 可以通过以下两种方式定义一个细胞变量 A=[1 2; 3 4]; str='Matlab'; 用赋值语句直接定义 A=[1 2; 3 4]; str='Matlab'; M={1:4, A, str}; cellplot(M) 用 cell 函数预先分配空间,然后对细胞的每个元素逐个赋值 M=cell(m,n); % 生成一个 m 行 n 列 的细胞数组 M=cell(2,3); M{1,1}=1; M{1,2}=rand(2); M{1,3}='hello'; M{2,1}=1:3; M{2,2}='Matrix'; M{2,3}=5; cellplot(M)

细胞变量元素的引用 要引用细胞中的单个元素,必须使用大括号 A=[1 2; 3 4]; str='Matlab'; M={1:4, A, str}; N={'hello', M; eye(2),magic(3)}; N{1,1} N{1,2} N{1,2}{1,2} N{1,2}{1,2}(2,1)

相关函数 celldisp % 列出细胞变量的内容 cellplot % 用图形方式显示细胞变量的内容 iscell % 判别一个变量是否为细胞变量 A=[1 2; 3 4]; str='Matlab'; M={1:4, A, str}; celldisp(M); cellplot(M); iscell(A) iscell(M)

上机作业 1、已知 Chebyshev 多项式定义如下: 编程计算 T10(x) (注:Tn(x) 为 n 阶多项式) 试用细胞数组实现(程序取名 m101.m) 2、阶梯问题:有一个长阶梯,若每步上 2 阶,最后剩 1 阶;若每步上 3 阶,最后剩 2 阶;若每步上 5 阶,最后剩 4 阶;若每步上 6 阶,最后剩 5 阶;若每步上 7 阶,最后刚好一阶不剩。问该阶梯至少有多少阶?编程解决这个问题。(程序取名 m102.m)

上机作业 3、哥德巴赫猜想:任何一个大于 2 的偶数都能表示成两个素数之和。试编程验证 [3, 2000] 中的偶数是否满足哥德巴赫猜想的论断,并将结果写入文本文件 m103.txt(程序取名 m103.m) 4、由 0 到 9 共 10 个数字组成 4 个完全平方数(即是某个正整数的平方),要求它们分别是一位、二位、三位、四位的数字,且数位不重复(即 0 到 9 每个数字只能在这四个数字中出现一次)。例如: 1 36 784 9025 9 16 784 3025 编程找出所有满足条件的数,并写入到文本文件 m104.txt 中。 (程序取名 m104.m)