上课时间:周一、四(7、8节) 地点:教学主楼-C106 上机时间:周二、五(7、8节) 地点:计算机教学实验中心

Slides:



Advertisements
Similar presentations
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
Advertisements

Tool Command Language --11级ACM班 金天行.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
C语言实验 第一课 标题:学号+姓名.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
第七讲 matlab的程序设计 —— matlab语言称为第四代编程语言,程序简洁、可读性很强而且调试十分容易。
第3章 C语言的基本语句 和程序结构设计.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
Application of Matlab Language
走进编程 程序的顺序结构(二).
第五讲  Matlab的程序设计 —— Matlab语言称为第四代编程语言,程序简洁、可读性很强而且调试十分容易, 是Matlab重要组成部分。要充分体现和发挥Matlab的能力,必 须掌握Matlab程序设计.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Chap 3 分支结构 3.1 统计输入的一批字符中各类字符的数量 3.2 查询自动售货机中商品的价格 3.3 分支结构程序设计.
第4章 MATLAB文件操作 4.1 文件的打开与关闭 4.2 文件的读写操作 4.3 数据文件定位.
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
Visual Basic程序设计.
第二章 Java语言基础.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
数学软件 Matlab —— 矩阵运算.
MATLAB介绍 Matlab基本命令介绍 Matlab矩阵运算 Matlab控制流 Matlab图像处理工具箱 实习题讲解.
第一章 函数与极限.
第4章 PHP流程控制语句.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
姚金宇 MIT SCHEME 使用说明 姚金宇
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
第九节 赋值运算符和赋值表达式.
3.16 枚举算法及其程序实现 ——数组的作用.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
学习目标 1、了解基本运算符 2、运算符优先级.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
线 性 代 数 厦门大学线性代数教学组 2019年5月12日4时19分 / 45.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
Python 环境搭建 基于Anaconda和VSCode.
程序设计基础A(C语言) 第一章 C语言概述 主讲教师: 许 康
第三讲文件操作.
复习 标签(label)、文本框(text)控件 按钮:点击事件
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
数据表示 第 2 讲.
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
鸡兔同笼(续) ——选择结构.
Java程序设计 第3章 控制语句.
复习 界面介绍 工作簿 工作表 单元格 删除 添加 改名 移动 美化 内容修改 文字设置 边框设置 背景色设置 单元格对齐 单元格合并
VFP的基本数据运算(一).
§4.5 最大公因式的矩阵求法( Ⅱ ).
顺序结构程序设计 ——关于“字符串”和数值.
1.4 M文件与程序设计 文件的操作 命令文件 M函数文件 程序设计语句.
第二次课后作业答案 函数式编程和逻辑式编程
2 Java语言基础 (数据运算与流程控制).
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Presentation transcript:

上课时间:周一、四(7、8节) 地点:教学主楼-C106 上机时间:周二、五(7、8节) 地点:计算机教学实验中心 教1南3层西头(网络中心隔壁) 网上交作业时间: 周五上机作业,截至当周周日晚12:00 周二上机作业,截至当周周四晚12:00 gdjiang@mail.xjtu.edu.cn

第2章 Matlab语言程序设计 基本要求: (1) 了解Matlab的各种数据类型; (6) 学会 Matlab 的M文件的编写方法,包括命令文件和函数文件。了解M件的调试命令和调试方法。

第2章 Matlab语言程序设计 1、 Matlab数据类型 变量和常量 数字变量的格式 字符串 单元型变量 结构型变量 矩阵、向量 多项式

第2章 Matlab语言程序设计 a) 变量和常量 变量(包括函数)的命名规则:由英文字母、数字和下划线混合组成,不得包含空格和标点 ;第一个字符必须是英文字母,最多包括31个字符; 对字母的大小写敏感。 局部变量和全局变量 永久变量(常量) 只能在某一函数体内使用,而不能从其他函数和 Matlab工作空间访问的变量,就是局部变量。 在几个函数及M atlab函数中都能使用的变量就是全局变量。 (全局变量名应尽可能大写,并由globe声明)

第2章 Matlab语言程序设计 Matlab永久变量

第2章 Matlab语言程序设计 b) 数字变量 Matlab内部的每一个数据元素都是用双精度数(double)来表示和存储的。 变量输出时用户可以用format命令设置或改变输出格式。 短格式(Short):1.3333 0.0000 短格式e方式(Short e):1.3333e+00 1.2345e-06 短格式g方式(Short g):1.3333 0.0 长格式(Long):1.33333333333333 0.00000123450000 长格式e方式(Long e):1.33333333333333e+00 1.2345000000000e-06 长格式g方式(Long g):1.33333333333333 0.0000012345 银行格式(Bank):1.33 0.00 十六进制格式(Hex):3ff555555555 3eb46231abfd71 +格式(+):++ 有理数(Rational):1/3 2469/2000000000

第2章 Matlab语言程序设计 c) 字符串 所有字符串都用单引号括起来。 >> s='matlab ' 字符中中的每个字符(包括空格)都是字符串变量(矩阵或向量)中的一个元素。 字符串中的字符以 ASCII 码形式储存并区分大小 ,用函数abs可以看到字符的ASCII码。 在Matlab中,字符串和字符矩阵基本上是等价的。 >> s=['matlab'] 等价于 >> s='matlab '

第2章 Matlab语言程序设计 字符串函数

第2章 Matlab语言程序设计 字符串举例: >> A= 'China ''中国''' ;输出带引号的汉字 >> c='I am fine.' >> s3=char('s', 'y','m','b','o','l','i','c')   ;用函数char生成字符串 >> double(s3')           ;字符串转换为数值代码 >> abs(s3') >> cellstr(s3)           ;字符矩阵转换为字符串 >> b=num2str(a)           ;数字转换为字符串 比较  >> b*2 和  str2num(b)*2 >> ab=[A,' ',B,'.'] >> AB=['中国';'北京']

第2章 Matlab语言程序设计 d) 单元型变量 单元型变量是一种比较特殊的数据类型,本质上讲,单元型变量实际上是一种以任意形式的数据为元素的多维数组。 单元型变量可以存放任何类型、任何大小的数据, 其大小是不定的。 >> A=[1,2;3,4] A = 1 2 3 4 >> B={1:4, A, 'abcd'} B = [1x4 double] [2x2 double] 'abcd' B为单元型变量(用花括号) >> cellplot(B) >> celldisp(B)

第2章 Matlab语言程序设计 e) 结构型变量 结构型变量是另一种可以将不同类型数据组合在一起的数据类型,与单元型变量的不同在于结构型变量是以指针方式来传递数据的。 >> D.a1='abcd'; >> D.a2=1; >> D.a3=[1,2,3,4]; >> D D = a1: 'abcd' a2: 1 a3: [1 2 3 4] D为结构型变量 >> C=struct('c1',1,'c2',B,'c3','abcd') C = 1x3 struct array with fields: c1 c2 c3 C为结构型变量

第2章 Matlab语言程序设计 f) 矩阵、向量 向量是组成矩阵的基本元素之一。可以把行向量看成1n 阶矩阵,把列向量看成n1阶矩阵。向量的基本运算采用数组运算法则。

第2章 Matlab语言程序设计 多项式 多项式是以向量的形式表达的。可以是列向量也可以是行向量。 >> p=[1,2,3] >> poly2sym(p) ans = x^2+2*x+3 >> m=[3;4;5] >> poly2sym(m) 3*x^2+4*x+5

第2章 Matlab语言程序设计 2、运算符与操作符 数学运算符 操作符

第2章 Matlab语言程序设计 冒号“ :” 可以用来产生向量; 用作矩阵的下标,部分地选择矩阵元素; 进行行循环操作。 续号“ …” 表示一行未完,而在下一行继续; 分号“ ;” 在方括号中,表示矩阵中行的结尾; 用在每行的结尾,则 不显示该行运算的结果。

第2章 Matlab语言程序设计 关于逻辑真假的规定: 在所有的关系表达式和逻辑表达式中,输入的任何非 0 数都被看作是“ 逻辑真”,而只有 0 才被认为是“ 逻辑假”; 所有关系表达式和逻辑表达式的计算结果是一个由 0 和 1 组成的“ 逻辑矩阵( Logical Array)”。矩阵中的 1 表示“ 真”,0 表示“ 假”; 逻辑矩阵是一种特殊的数值矩阵。与“ 数值类”有关的操作和函数对它也适用;但它又不同于普通的“ 数值”,它还表示对事物的判断结论“ 真”与“ 假” 。

第2章 Matlab语言程序设计 关系操作符 逻辑操作符

第2章 Matlab语言程序设计 MATLAB 的关系操作符运算法则: 当两个变量是标量 a 和 b 时 当两个维数相同的矩阵 A 和 B 比较时,矩阵 A、B 比较的是相同位置的元素,按标量的运算规则逐个进行。关系运算的结果是一个和 A维数相同的矩阵,它的元素由 0 和 1 组成。 当一个矩阵A 和一个标量 b 比较时,把标量 b 和矩阵A 的每一个元素按标量关系运算规则逐个比较。关系运算的结果是一个和数组 A维数相同的矩阵,它是由 0 和 1 组成。 优先级 由高到低为算术运算、关系运算和逻辑运算。

第2章 Matlab语言程序设计 关系运算举例 >> NE=(A~=B) 3 4 8 9 0 2 5 3 7 >> B=[4,4,1;7,8,4;5,1,7] B = 4 4 1 7 8 4 5 1 7 >> E=(A>B) E = 0 0 1 1 0 0 0 1 0 >> NE=(A~=B) NE = 1 0 1 1 1 1 0 1 0 >> A0=(A>5) A0 = 0 0 1 1 0 0 >> B0=(B<=6) B0 = 1 1 0

第2章 Matlab语言程序设计 MATLAB 中逻辑操作符的运算法则: 如果两个标量 a 和 b 运算,则: ◆~a:当 a 是 0 时,运算结果是 1,否则是 0。 如果两个维数相同的矩阵A 和 B 参与运算,则: 将矩阵A 和 B 相同位置上的元素按标量的运算规则逐个进行运算。运算的结果是返回一个由 0 和 1 组成的与 A 具有同样维数的矩阵; 如果标量 b 和矩阵A 参与运算,则: ◆将标量 b 和矩阵A 中的每个元素进行逻辑运算。逻辑运算的结果是返回一个由 0和 1 组成的与 A 具有同样维数的矩阵; ◆逻辑“ 非”运算是一元运算符,服从数组运算规则; ◆在逻辑“ 与”、“ 或”、“ 非”三者中, “ 非”的优先级最高,“ 与”与“ 或”具有相同的优先级,从左向右执行。 通过 “( )”可以改变各操作符之间的优先级。

第2章 Matlab语言程序设计 逻辑运算举例 >> A=[3,4,8;9,0,2;5,3,7] A = 3 4 8 9 0 2 3 4 8 9 0 2 5 3 7 >> B=[4,4,1;7,8,4;5,1,7] B = 4 4 1 7 8 4 5 1 7 >> AB=A&B AB = 1 1 1 1 0 1 >> A_B=A|B A_B = 1 1 1 >> C=~A C = 0 0 0 0 1 0 >> cc=(A>3)&(B<6) cc = 0 1 1 1 0 0

第2章 Matlab语言程序设计 3、表达式及函数 Matlab 采用的是表达式语言,用户输入的语句由 Matlab 系统解释运行。用户可以在 Matlab 的命令窗口中键入命令,也可以在编辑器内编写应用程序。 Matlab 语句由表达式和变量组成,有两种最常见的语句形式: 表达式 变量=表达式 >> t=6 t = 6 >> sin(5*t+6) ans = -0.9918 >> y=sin(5*t+6) y =

第2章 Matlab语言程序设计 表达式由变量名、运算符、数字和函数名组成。 表达式将按常规的优先纽从左至右执行运算; 优先级的规定是指数运算级别最高,乘除运算次之; 括号可以改变运算顺序; 书写表达式时,赋值符“=”和运算符两侧允许有空格,以增加可读性。但在复数或符号表达式中要尽量避免空格,以防出错; 表达式的末尾加 “;” 时,Matlab系统只把数值赋给变量, 不显示计算结果;不加“;”时, Matlab 系统将会在该条语句的下面直接显示运算结果。

第2章 Matlab语言程序设计 Matlab 有十分丰富的函数资源,总共分为24类。 常用有一下几类: 一般函数命令(GENERAL); 操作符与操作(OPERATOR); 数据类型和结构(DATETYPE); 基本矩阵和矩阵操作(ELMAT); 基本数学函数(ELFUN); 二维图(PLOTXY); 图形句柄(GENGRAPH); 三维图(3DGRAPH); 语言和程序设计(LANGUAGE); 文件输入输出函数(IOFUN); 符号工具箱(SYNBOLIC)。

上机练习(2) ( 1)创建一个表达式 ,并求当 x=1, y=2 时的z 值。 ( 2)计算 的值,其中 。 ( 2)计算 的值,其中 。 ( 3)创建一个包含“ 她是我们班最好的学生”字符串。 ( 4)输入如下两个矩阵 A 和 B,对矩阵 A 和 B 作关系运算,标识出两矩阵中元素相等的位置,元素值不等的位置,并标识出矩阵 A 中所有小于 0 的元素。 , ( 5)对( 4)中的矩阵 A 和 B 作逻辑“ 或”、“ 与”运算,并标识出矩阵 B 中所有大于 2 并小于 5 的元素位置。

第2章 Matlab语言程序设计 4、程序结构与流程控制语句 a) 顺序结构

第2章 Matlab语言程序设计 b) 条件结构 或 if- else- end 语句

第2章 Matlab语言程序设计 折扣问题 绘出函数 的图像。 >> book=20; >> number=40; 绘出函数 的图像。 >> x=-3:0.1:3; >> if x>=1 y=2*x.^2+1; plot(x,y) elseif -1<x<1 y=5; else y=-x.^3; end 折扣问题 >> book=20; >> number=40; >> sums=0.0; >> if number>=30 sums=book*number*0.7; end >> sums sums = 560

第2章 Matlab语言程序设计 switch语句

第2章 Matlab语言程序设计 多项选择 >> No=input('Please input your choice! '); >> switch No case 0 disp('return to main menu'); case 1 disp('She is a girl'); case 2 disp('He is a boy'); otherwise disp('I can''t determine') end She is a girl

第2章 Matlab语言程序设计 c) 循环结构 while 语句: for语句: for 变量=初值:增量:结束值 程序模块; end

第2章 Matlab语言程序设计 举例: >> for I=1:10 >> sum=0; A(I)=1/(I+1) ; end >> A A = Columns 1 through 7 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 Columns 8 through 10 0.1111 0.1000 0.0909 >> sum=0; >> i=0; >> while(i<=100) sum=sum+1; i=i+1; end >> sum sum = 14196774

第2章 Matlab语言程序设计 d) 其它与流程控制有关的语句 if if break语句循环结构 continue 语句循环结构

第2章 Matlab语言程序设计 pause 指令使程序运行停止,等待用户按任意键继续; input 指令提示用户从键盘输入数值、字符串或表达式,并接受输入; disp指令在屏幕上显示字符串; echo on指令显示其后所有执行文件的指令; echo off指令关闭其后所有执行文件的指令显示。

第2章 Matlab语言程序设计 5、数据文件的操作 数据文件一般存放在磁盘介质上,用文件名标识,Matlab 系统对文件名没有特殊要求。数据文件的格式有两种形式:一是二进制格式文件,二是ASCII文本文件。 a) 数据文件的打开和关闭 用fopen函数打开数据文件: Fid=fopen(filename,permission); Fid为文件句柄,filename 为文件名。permission 为文件打开格式,可以是:‘r’, ‘w’, ‘a’, ‘r+’, ‘w+’, ‘a+’。 用fclose函数关闭数据文件: Sta=fclose(Fid);

第2章 Matlab语言程序设计 数据文件的读写 用fread读二进制数据文件: [A, COUNT]=fread(Fid, size, precision) 其中:A为数据矩阵,用于存放读取的数据;COUNT返所读取的数据元素个数, Fid 为文件句柄,size为读取范围,是可选项,若不选用则读取整个文件内容,precision用于控制所读数据的精度格式。 例:Fid=fopen(‘std.dat’,’r’); A=fread(Fid,100,’long’); fclose(Fid);

第2章 Matlab语言程序设计 用fwrite写二进制文件: COUNT=fwrite(Fid, A, precision) 例: Fid=fopen(‘test.dat’, ‘w’); cnt=fwrite(Fid, A, ‘float’) fclose(Fid); 用fscanf读取ASCII数据文件: [A, COUNT]=fscanf(Fid, format, size) format用以控制读取的数据格式,由%加上格式符组成,常见的格式符有:d, i, o,u, x, e, f, s, c。 例:fscanf(Fid, ‘%s’); fscant(Fid, ‘%6.2f’); fscanf(Fid, “%5d’);

第2章 Matlab语言程序设计 用fprint写ASCII文本数据到文件或屏幕上: COUNT=fprintf(Fid, format, A, …) 例: x=0:0.1:1; y=exp(x) Fid=fopen('exp.txt', 'w') fprintf(Fid, '%6.2f, %12.8f\n',x,y) fclose(Fid);

第2章 Matlab语言程序设计 c) 从磁盘中直接读写内存变量 load将数据文件中的数据直接为workspace中变量 load filename –ascii load filename save将workspace中变量直接写到数据文件中 save filename A, … -ascii save filename A, …

第2章 Matlab语言程序设计 6)M文件编程 a) 命令式文件 如果要输入较多的命令,而且要经常对这些命令重复输入,利用命令文件将显得比较简单方便。 建立命令文件的方法根简单,就是将要输入的所有指令按顺序放到一个扩展名为“.m”的文本文件中,每次运行时只要输入M文件的文件名即可。 在命令文件运行过程中产生的所有变量均是全局变量。

第2章 Matlab语言程序设计 例:编一个画宝石项链的程序 echo on t=(0:0.02:2)*pi; x=sin(t); y=cos(t); z=cos(2*t); plot3(x,y,z,'b-',x,y,z,'bd') view([-80,60]) box on legend(‘链子’,‘宝石’); 存入文件necklace.m

第2章 Matlab语言程序设计 函数式文件 函数文件和命令文件的区别在于:命令文件的变量在文件执行完程序后仍然保留在内存中,而函数文件内定义的变量为内部变量,仅在函数文件内部起作用。 函数M文件通常由以下五部分组成: 函数定义行; 函数帮助行; 在线函数帮助文件; 注释; 函数体。

第2章 Matlab语言程序设计 例:计算第n个Fibonnaci斐波纳契数 (一种整数数列, 其中每数等于前面两数之和) function f=fibfun(n) 函数定义行 n—函数输入;f—函数输出;fibfun—函数名。 % FIBFUN For calculating Fibonacci numbers. 函数帮助行 % Incidengtally, the name fibonacci comes from % Filius Bonassi, or “son of Bonassus” 在线函数帮助文件 % fibfun.m if n>2 f=fibfun(n-1)+fibfun(n-2); 函数体 else f=1; end 注意:文件名必须与函数名相同 执行: fibfun(17), help fibfun, lookfor fibfun

第2章 Matlab语言程序设计 7、M文件调试 语法错误和运行错误 对于运行错误,Matlab提供了M文件的调试(Debug)工具。 对于命令文件,可以直接在文件编辑器中设置断点,用调试工具(菜单或工具栏)分步执行,并在工作空间中检查每个变量的值。(以necklace.m为例) 对于函数文件,可以先在文件编辑器中设置断点,再到命令行状态执行函数,然后再回到文件编辑器中进行观察和调试。(以fibfun.m为例)

上机练习(3) ( 1)利用 for 循环求 1!+2!+3!…+20!的值。 ( 2)用 while 循环求 1~200 之间的整数之和。 ( 3)编写一个 M 文件,画出下列分段函数所表示的曲面。 ( 4)编写一个求圆的面积的函数文件。 ( 5)编写一个求圆的面积的命令文件