第三章 数据类型  常数和变量 数组和矩阵 字符串和多维数组 结构和单元数组.

Slides:



Advertisements
Similar presentations
第二单元 大珠小珠落玉盘 阅读与欣赏 复习要点 1. 了解古典诗词文学形式的特点。 2. 概括古典诗词中人物形象、景物形象的特点;理解古典诗词中抒发的 情感和思想内涵。 3. 了解作品绘景、叙事、写人、抒情所运用的技巧,品味作品中精妙的 语言。 4. 掌握有关修辞和动静结合以及衬托等知识。 复法指导.
Advertisements

步步为营 面面俱到 步步为营 面面俱到 —— 高考语文首轮复习策略 章惠西 浙师大附中. [2014] 阅读下面文字,根据要求作文( 60 分) 门与路,永远相连。 门是路的终点,也是路的起点。它可以 挡住你的脚步,也可以让你走向世界。 大学的门,一边连接已知,一边通向未知。学习、探索、创 造,是它的通行证;大学的路,从过去到未来,无数脚印在此交.
成才之路 · 语文 人教版 · 中国小说欣赏 路漫漫其修远兮 吾将上下而求索.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
在山的那边 王家新 方法、技巧平台 如何阅读欣赏现代诗歌? 朗读(读音准确、停顿恰当、有感情) 整体感悟(内容主旨) 研读赏析(词句含义) 拓展延伸(课外阅读) 观千剑而后识器, 操千曲而后晓声.
引導者的角色 組別:第5組 4A1I0003 劉芷媛 4A1I0004 陳安琪 4A1I0014 陳佳瑩 4A1I0046 葉倢茹
数学软件 Matlab —— Matlab 快速入门.
Tool Command Language --11级ACM班 金天行.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
数学软件 Matlab —— Matlab 基础.
用MFC制作windows风格界面步骤:
欢迎欢迎! 热烈欢迎!.
MATLAB语言 一些命令: 1. “show workspace” 命令
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在山的那边 王家新.
.NET 程式設計入門(使用 C#) 講師:鄧智鴻.
Hadoop I/O By ShiChaojie.
范洪源 臺灣師範大學數學系 MATLAB 基本功能介紹 范洪源 臺灣師範大學數學系.
线性代数机算与应用 李仁先 2018/11/24.
MATLAB数学实验 第一章 MATLAB入门.
管理信息结构SMI.
辅导课程六.
黃聰明 國立臺灣師範大學數學系 MATLAB 基本功能介紹 黃聰明 國立臺灣師範大學數學系
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
  MATLAB操作基础 《信息隐藏实验教程》教学幻灯片 一.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
引 言.
第二章 Java语言基础.
第2章 MATLAB基本运算.
数学软件 Matlab —— 矩阵运算.
第2章 MATLAB矩阵及其运算 变量和数据操作 MATLAB矩阵 MATLAB运算 矩阵分析 字符串 结构数据和单元数据
第2章 MATLAB数据 2.1 MATLAB数据的特点 2.2 变量和赋值 2.3 MATLAB矩阵 2.4 MATLAB运算
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
VB与Access数据库的连接.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
第九节 赋值运算符和赋值表达式.
数学软件 Matlab —— 数据类型.
3.16 枚举算法及其程序实现 ——数组的作用.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
第七、八次实验要求.
建模常见问题MATLAB求解  .
学习目标 1、如何对结果进行分组 2、分组函数的一些实用方法.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
数学建模与数学实验 MATLAB入门.
线 性 代 数 厦门大学线性代数教学组 2019年5月12日4时19分 / 45.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
程序设计基础A(C语言) 第一章 C语言概述 主讲教师: 许 康
复习 标签(label)、文本框(text)控件 按钮:点击事件
基本知识 数据类型、变量、常量、运算符.
VB与Access数据库的连接.
本节内容 导出表 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
数据表示 第 2 讲.
数的简单处理 ——顺序结构、变量、数据类型、运算符
3.9算法及VB初步3 ——以“鸡兔同笼”为例.
VFP的基本数据运算(一).
§4.5 最大公因式的矩阵求法( Ⅱ ).
顺序结构程序设计 ——关于“字符串”和数值.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

第三章 数据类型  常数和变量 数组和矩阵 字符串和多维数组 结构和单元数组

1.1、内部常数 常 数 返 回 值 ans 默认变量名,保存最近的结果 eps 浮点相对精度 realmax 最大浮点数 realmin 常 数 返 回 值 ans 默认变量名,保存最近的结果 eps 浮点相对精度 realmax 最大浮点数 realmin 最小浮点数 pi 圆周率 i,j 虚数单位 inf 无限值 NaN 不合法的数值值,非数值 computer 计算机类型 version MATLAB版本字符串

例1. 计算有理数 例2. >> 2000/21 ans = 95.2381 a=abs(3+4i) a= 5 huge=exp(log(realmax)) huge= 1.7977e+308 toobig=pi*huge Toobig= inf

1.2、变量 变量命名规则 变量名的第一个字符必须是一个英文字母,最多 可包括31个字符; x1, x2, x3,alpha, · · · · · · · · · 变量名可由英文字母、数字和下划线混合组成; 变量名不得包含空格和标点,但可以有下连字符 变量名和函数名对字母的大小写敏感; X,x, Z, z 是不同变量

创建变量 在命令窗口中直接输入变量名称创建 A=9 A= 9 isvarname 8th_column //确认变量名的合法性 ans=

1.3、数据类型 数据类型 举 例 描 述 逻辑型数组 Magic(4)>10 包含1、0或true、false 字符型数组 举 例 描 述 逻辑型数组 Magic(4)>10 包含1、0或true、false 字符型数组 ‘Hello’ 长度16位,即为字符串 Int8、unit8 int16、unit16 Uint8(magic(3)) 长度未8位、16位的有符号和无符号整型数组 single 3*10^38 单精度数值型数组 double 3*10^3005+6i 双精度数值型数组 单元数组 {17’hello’eye(2)} 包含其他数组。将不同大小有关系的数据集中到一起 结构数组 a.day=12;a.color=‘red’;a.mat=magic(3); 具有字段名。包含其他数组。与单元数组类似

MATLAB用format命令来控制输出格式, format short 短格式 3.146 format long 长格式 3.14159265358979 format short e 短格式e 3.1416e+000 format long e 长格式e 3.141592653589793e+000 format rat 分数格式 355/113 format bank 银行格式 3.14 计算机浮点数记法 5.11×108  5.11e+8 0.0000015=1.5×10-6  1.5e-6, 2.4560000= 2.456×107  2.456e+7

只需要用空格或逗号间隔数组元素,再用方括号括起来。 2.1、数组 只需要用空格或逗号间隔数组元素,再用方括号括起来。 如:X=[0 2 3 6 7 8] 创建数组向量的三种常用方法: 1.增量法(利用冒号生成向量) x = i : j 如果 i<j, 生成以i为初值, j为终值,1为步长的有限等差数列; x = i: j: k 如果 i<k, 生成以i为初值, k为终值,j为步长的有限等差数列; x = i: -j: k 如果 i>k, 生成以i为初值, k为终值,-j为步长的有限等差数列;

>>a=1:4;b=3:6;c=dot(a,b) c=50 >>a=1:3;b=2:4;cross(a,b) 10 11 12 13 14 15 2. 利用linspace(a,b)生成等差向量 x= linspace(2,8)将生成100个数,以2开始,以8结束。 y=linspace(2,8,10)将生成10个数,以2开始,以8结束。 3. 利用logspace(a,b)生成等比向量 例3. 用dot()、cross()进行向量点积运算 >>a=1:4;b=3:6;c=dot(a,b) c=50 >>a=1:3;b=2:4;cross(a,b) ans = -1 2 -1

2.2、矩阵 A=[1 1/2 1/3;1/2 1/3 1/4; 1/3 1/4 1/5] 2.2.1 创建矩阵的常用方法: ——矩阵的创建/ 直接输入法—— 2.2.1 创建矩阵的常用方法: 1.直接输入法; 2.函数法; 3.矩阵编辑器;4.数据文件法 直接输入法三条规则:  矩阵元素必须在方括号[ ]之内;  同一行相邻元素间用逗号或空格分隔;  矩阵的行与行之间必须用分号分隔. 例4. 三阶Hilbert矩阵 A=[1 1/2 1/3;1/2 1/3 1/4; 1/3 1/4 1/5] A = 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000 2/18

B=zeros(3,4) ——产生3×4阶全“0”矩阵 D=ones(3,4) ——产生3×4阶全“1”的矩阵 ——矩阵的创建/函数法—— 函数法构造特殊矩阵 C=[ ] — 产生空阵 r =rand —— 产生随机数 R=rand(3,4)——产生3×4阶随机矩阵 E=eye(3) —— 产生3阶单位矩阵 B=zeros(3,4) ——产生3×4阶全“0”矩阵 D=ones(3,4) ——产生3×4阶全“1”的矩阵 X=magic(3)——产生3阶幻方 Y=vander(4)——产生4阶范德蒙矩阵 6/18

聚合矩阵 通过连接一个或多个矩阵来形成新的矩阵 C=[A B]//水平方向上聚合 C=[A;B]//垂直方向上聚合 例 A=ones(2,5)*6; B=rand(3,5); C=[A;B] C=6.0000 6.0000 6.0000 6.0000 6.0000 6.0000 6.0000 6.0000 6.0000 6.0000 0.6154 0.7382 0.9355 0.8936 0.8132 0.7919 0.1763 0.9169 0.0579 0.0099 0.9218 0.4057 0.4103 0.3529 0.1389

聚合具有相同高度的矩阵 聚合具有不同高度的矩阵

获取矩阵的元素 A(row,column) A=[2 6 9;4 2 8;3 5 1] A= 2 6 9 4 2 8 3 5 1 A(3,2) ans= 5 A(6) //等同A(3,2) Sum(A(1:3,3)) //求第三列元素之和

矩阵的子矩阵可以通过向量、标量或冒号的标识来引用和赋值 1.子矩阵的序号向量标识: A(u, v) A=magic(3); B1=A(1,:), B12=A(1:2,:), B13=A([1,3],[1,3]) B1 = 8 1 6 B12 = 8 1 6 3 5 7 B13 = 8 6 4 2 12/18

3.1、字符串 创建字符串-使用单引号创建 Country=‘China’; name=[‘Li Yi’;’Hu Xu’]//创建二维字符串数组 name= Li Yi Hu Xu name=[‘Liu Ying’;’Hu Xu ’]//字符串长度要相同 name=char(‘Liu Ying’,’Hu Xu’)//使用char函数创建

Str2double函数将字符串单元数组转换为双精度值 c={’37.294e-1’;’-58.375’;’13.796’}; d=str2double(c) d= 3.7294 -58.3750 13.7960 Int2str:整型转换为字符串型 num2str:实数转换为字符串型 mat2str:矩阵转换为字符串型

比较字符串 str1=‘hello’; str2=‘help’; strcmp(str1,str2) C= 0 //false str1==str2 ans= 1 1 1 0 0 //确定两个字符串中的相同字符 strncmp: 可选择字符串的前n+1个字符进行比较

聚合字符串 num_chars=28; s=[‘There are ‘int2str(num_chars)’characters here’]; s=sprintf(‘There are %d characters here\n’,num_chars); country=‘China’; province=‘SiChuan’; strcat(country,’,’,province) ans= China,SiChuan

3.2、多维数组 索引生成 A=[5 7 8;0 1 9;4 3 6]; //创建一个二维数组 A(:,:2)=[1 0 4;3 5 6;9 8 7]; //为A添加第三维 MATLAB函数生成 B=randn(4,3,2); //创建正态分布随机数的4×3×2的数组 类似的函数有ones(),zeros()等 cat函数生成 B=cat(dim,A1,A2…) //按指定的维数将多个数组聚合

4.1、结构 -调用字段的数组 1、使用赋值语句创建结构数组 2、使用struct函数 student.name=‘Lu dan’;//可包含任何类型的数据 student.ID=02; student.test=[79 75 73;80 78 77.5;80 85 85]; student(2).name=‘Han xu’;//扩展结构数组 student(2).ID=10; student(2).test=[68 70 68;78 88 81;92 90 93]; 2、使用struct函数 str_array=struct(‘field1’,val1, ‘field2’,val2,…)

3、获取数据 str=student(2).name student(3).test(2,2)=87 IDs=[student.ID]//包含所有的ID字段 4、操作字段 student(2).gender=‘boy’;//为数组的每个结构添加字段 student=rmfield(student,’name’);//删除给定字段 mean((student(2).test));//计算test数组的行均值 total=sum([student.ID]);所有ID字段求和

4.2、单元数组 -能包含其它数组 1、创建单元数组 A[1,1]={[1 4 3; 0 5 8;7 2 9]}; A[1,2]={‘Liu zhong’}; A[2,1]={3+7i;} A[2,2]={-pi:pi/10:pi};//通过矩阵单元索引访问数据 或 A{1,1}=[1 4 3; 0 5 8;7 2 9]; A{1,2}=‘Liu zhong’; A{2,1}=3+7i; A{2,2}=-pi:pi/10:pi;//通过矩阵内容索引访问数据