




免费预览已结束,剩余711页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB程序设计 课程教学幻灯 授课教师 孙蓬电子邮箱 sp214 所在单位 计算机学院基础基础部办公地点 计算机学院楼C北106 基础楼四层409 了解课程 Matlab是个什么软件 帮我们计算 1 1 帮我们绘图 x 0 0 1 2 pi y sin x plot x y 3帮我们利用函数 paintFlower 4航空 航天 航海 力学结构 数学等专业都有各自特色的应用 了解课程 一 课程特色从零开始精讲多练崇尚个性 了解课程 一 课程主旨从零开始 本课程的教学内容以基础入门为主 不要求学生有程序设计方面的先修课程 但是如果具有以下知识点学习更轻松 一门程序设计语言 C VB 其他 高等数学知识 线性代数知识 熟悉Windows 熟练的键盘操作能力 了解课程 一 课程主旨2 精讲多练 轻松学习 所教即所学所学即所练 了解课程 一 课程主旨崇尚个性 适合各个专业 1 入门容易熟练难 2 MATLAB与专业息息相关 了解课程 二 课堂及实验课要求课堂 实验 请假 了解课程 二 课堂及实验课要求课堂课堂随机提问 点名 是本课程的特点之一 课堂上不要出现随意旷课 迟到 早退 接打电话等不文明行为 每次将记录在案 如确有急事 请举手示意一下即可 了解课程 二 课堂及实验要求实验勤能补拙 光说不练假把式 注意 实验课独立 成绩独立 第一次实验课按班级和学号排好座位 一学期无特殊原因不变化 不用每次找座位 并且方便老师定点交流 了解课程 二 课堂及实验要求请假 严格管理 请假 理论课 必须经过辅导员签名同意 请假 实验课 必须经过辅导员签名同意 请假 考试 必须经过辅导员和学院两级批准 如有作假 发现即取消参加考试资格 理论和实验无故旷课累计达到三次者 取消参加本课程的考试资格 了解课程 三 课程安排总课时 72学时理论课学时40 4学时 10周 实验课学时32 3学时 10周 2学时考试 了解课程 四 考试方案 理论课 闭卷笔试 笔试卷面分 实验课 开卷平时成绩和测验成绩 了解课程 五 认识教学用课本 MATLAB基础教程 1西工大非计算机专业MATLAB教学用书第一版2孙蓬等编著 欢迎大家查错纠错 西工大友谊校区本部基础楼409室西工大长安校区计算机学院楼C北106室联系方式p214 了解课程 六 参考用书若干电子书籍供大家使用 forStu如果你们下载到了好的资料 请与大家共享 谢谢 关于排实验课的若干问题 金工实习 冲突问题选修课 冲突问题课后任务 1 确定大班长 各小班课代表 2 完成班级名册 3 提供课表 找出各个班级空余时间 4 大班长与我联系 确定实验课时间 很重要 ok 开始学习了 第一章MATLAB概述 第一节教学目标1了解MATLAB软件2安装MATLAB软件3了解MATLAB的软件环境 第一章MATLAB概述 一 MATLABMATrix LABoratory MATLAB MAT LAB 第一章MATLAB概述 二 MATLAB简史MATLAB本身由C语言编写 是MathWorks公司的产品 目前主流版本 MATLAB7 第一章MATLAB概述 三 MATLAB支撑平台Windows NT操作系统 Macintosh的MacOS操作系统 Solaris Unix Linux等操作系统 第一章MATLAB概述 四 MATLAB特点1强大的数值运算功能 2强大的图形处理能力 3高级但简单的程序环境 4丰富的工具箱 参见表1 1 第一章MATLAB概述 四 MATLAB特点 简而言之 MATLAB是一个可编程的计算器 第一章MATLAB概述 五 MATLAB的安装1系统要求硬件 CPU 内存 硬盘 显示器 显卡 声卡 软件 Windows95 98操作系统 WindowsOffice97 WebBrowser IE3 0 AdobeAcrobatReader JavaVirtualMachine 硬件配置越高越好 第一章MATLAB概述 五 MATLAB的安装2安装方法和步骤Step1 找到安装光盘 安装文件 Step2 开始安装 一路next即可 细节处请关注每个版本的区别 Step3 安装成功 第一章MATLAB概述 与安装相关自学内容 独立阅读内容 install guide pdf 第一章MATLAB概述 看看MATLAB软件到底是什么样 六 MATLAB的视窗环境 第一章MATLAB概述 六 MATLAB的视窗环境 第一章MATLAB概述 六 MATLAB的视窗环境 第一章MATLAB概述 六 MATLAB的视窗可视化环境 标题栏 TitleBar 菜单 Menu 工具栏 ToolBar 视图一 currentdirectory workspace 视图二 commandwindow 视图三 commandhistory 第一章MATLAB概述 六 MATLAB的视窗环境 标题栏标题 窗口最小化按钮 窗口缩放按钮 关闭按钮 第一章MATLAB概述 六 MATLAB的视窗环境 菜单 第一章MATLAB概述 六 MATLAB的视窗环境 菜单 1 File 新建 打开 保存 关闭 打印 退出 第一章MATLAB概述 六 MATLAB的视窗环境 菜单 2 Edit 对源代码和窗体进行编辑 第一章MATLAB概述 六 MATLAB的视窗环境 菜单 3 View Window 查看当前系统打开的所有窗口 不同窗口之间的转换 第一章MATLAB概述 六 MATLAB的视窗环境 菜单 4 Help 实现MATLAB的帮助功能 第一章MATLAB概述 六 MATLAB的视窗环境 ToolBar提供了一些最常用的菜单命令的快捷方式 第一章MATLAB概述 六 MATLAB的视窗环境 视图一 currentdirectory workspace 第一章MATLAB概述 六 MATLAB的视窗环境 视图二 commandwindow用于输入和显示计算结果 例如 1 2 3 4 5 第一章MATLAB概述 六 MATLAB的视窗环境 视图二 commandwindow 提示符提示用户目前系统已经处于等待状态 用户可以在提示符后面键入命令 回车后 系统会解释执行所输入的命令 并给出计算结果 例如 ver 第一章MATLAB概述 六 MATLAB的视窗环境 视图二 commandwindow 上下左右箭头 Home End Delete Insert 功能一用便知 第一章MATLAB概述 六 MATLAB的视窗环境 视图二 commandwindow Ctrl C 终止正在执行中的MATLAB的工作 第一章MATLAB概述 六 MATLAB的视窗环境 视图二 commandwindow 命令行尾 分号 不在屏幕上显示运行结果 例如 x 6 x 6 第一章MATLAB概述 六 MATLAB的视窗环境 视图二 commandwindow 命令行尾 逗号 例如 x 6 y 8 第一章MATLAB概述 六 MATLAB的视窗环境 视图二 commandwindow 续行符 如果一个语句在一行内书写太长了 可能要另起一行接着写 在这种情况下我们需要在第一行末打上半个省略号 再开始第二行的书写 举例如下 下面这两语句是等价的 x1 1 1 2 1 3 1 4 1 5 1 6 Andx1 1 1 2 1 3 1 4 1 5 1 6 第一章MATLAB概述 六 MATLAB的视窗环境 视图二 commandhistory 第一章MATLAB概述 六 MATLAB的视窗环境 视图二 commandhistory 1 历史命令窗口用于记录用户在命令窗口中键入的命令 2 双击这些命令可使它再次执行 示例演示 1 1等命令 第一章MATLAB概述 七 MATLAB的在线帮助寻求帮助方法 1帮助命令help2查找命令Lookfor3帮助窗口HelpWindow4在线帮助页 通过网络链接到MathWorks公司 第一章MATLAB概述 七 MATLAB的在线帮助寻求帮助方法 1帮助命令Help语法 help 第一章MATLAB概述 七 MATLAB的在线帮助寻求帮助方法 2查找命令lookfor语法 lookfor 发现了么 help和lookfor有什么不同 第一章MATLAB概述 七 MATLAB的在线帮助寻求帮助方法 3帮助窗口HelpWindow 1 菜单help 2 双击Toolbar上的问号按钮 3 键入helpwin命令 4 键入helpdesk命令 第一章MATLAB概述 七 MATLAB的在线帮助寻求帮助方法 4在线帮助页通过网络链接到MathWorks公司 第一章MATLAB概述 八 退出MATLAB1键入命令Exit2键入命令Quit3直接关闭MATLAB的窗口 课后任务 一 亲自安装MATLAB一次 并总结安装技巧 二 上机熟悉MATLAB软件环境 三 找几个你手边熟悉的计算公式 代入已知数据 用MATLAB计算结果 第一章MATLAB概述 九 应用举例 书例题1 1 计算式子 1 2 3 4 5 的值 观察分号和续行符的使用方法以及ans变量的用法 1 2 3 4 5 计算 1 2 3 4 5 的值 1 2 3 4 5 使用了分号后 计算结果不在命令窗口输出 1 2 3 4 使用了续行符 5 第一章MATLAB概述 九 应用举例 书例题1 2 一个半径r 5的圆 计算其面积area的值 r 5 指定半径r的值 分号确保赋值后无需在命令窗口显示r的值 area pi r 2 计算圆面积 pi是圆周率常数 第一章MATLAB概述 九 应用举例 书例题1 3 disp屏幕输出函数 disp theareais disp area 屏幕输出字符串和变量的值 输出超链接 disp TheMATLABSite 第一章MATLAB概述 九 应用举例 例题 设两个复数a 1 2i b 3 4i 计算a b a b a b a b a 1 2i b 3 4i a b a b a b a b 第一章MA TLAB概述 九 应用举例 例题 计算下式的结果 其中x 3 5 Y 6 7 x pi 180 3 5 y pi 180 6 7 z sin abs x abs y sqrt cos abs x y 第一章MATLAB概述 九 应用举例 例题 我国人口按照2000年第五次全国人口普查的结果为12 9533亿 如果年增长率为1 07 求公元2010年末的人口数 计算人口的公式为 P1 P0 1 r n 其中 P1为几年后的人口 P0为人口初值 r为年增长率 n为年数 第一章MATLAB概述 九 应用举例 用MATLAB解题 r 0 0107 n 2010 2000 p0 12 9533E8 p1 p0 1 0 r n 第一章MATLAB概述 九 应用举例 例题 求解ax2 bx c 0一元二次方程的根 其中a 1 b 2 c 3 求根公式 x1 2 a 1 b 2 c 3 d sqrt b b 4 a c x1 b d 2 a x2 b d 2 a 第一章MATLAB概述 发现 1 MATLAB是一个计算器 第一章MATLAB概述 发现 2 有些规律 输入已知条件 代入公式 利用一些函数 开始计算 第一章MATLAB概述 发现 3 找出一些可用函数 第一章MATLAB概述 发现 1 MATLAB是一个计算器 2 有些规律 输入已知条件 带入公式 利用一些函数 开始计算 3 找出一些可用函数 第一章MATLAB概述 第二节教学目标1MATLAB的工作空间 2MATLAB的搜索路径 第一章MATLAB概述 一 MATLAB的工作空间 什么是工作空间 工作空间是MATLAB的一个变量管理中心 管理系统所提供的特殊变量 管理用户自己定义的所有变量 第一章MATLAB概述 一 MATLAB的工作空间 1 显示变量的名称 尺寸 字节 长度等信息 2 变量处理在某一变量上单击鼠标右键会弹出菜单 第一章MATLAB概述 一 MATLAB的工作空间 1 显示变量的名称 尺寸 字节 长度等信息 2 变量处理在某一变量上单击鼠标右键会弹出菜单 第一章MATLAB概述 一 MATLAB的工作空间 什么是工作空间 我们需要知道的 当MATLAB启动后 系统会自动建立一个工作空间 这时的工作空间内只包含系统所提供的一些特殊变量 如pi eps nan i等 随着用户的使用 逐渐增加一些用户自己定义的变量 使用who whos可以查看到当前工作空间所有变量的情况 使用clear可以删除全部或部分工作空间中的变量 关闭MATLAB 释放工作空间 所有变量会被释放 第一章MATLAB概述 一 MATLAB的工作空间 什么是工作空间 书例题 执行who whos clear size和length等命令查询变量信息 注意观察Workspace窗口的变化 who whos clearr clear clearall clc s 12345 size s length s p helloworld size p length p 第一章MATLAB概述 二 MATLAB的搜索路径 键入下面这个命令的结果是什么 path 第一章MATLAB概述 二 MATLAB的搜索路径 打开菜单项file setpath会出现什么 第一章MATLAB概述 二 MATLAB的搜索路径 注意 只有在当前目录或搜索路径下的文件 函数可以被运行或调用 否则视为非法命令 默认当前目录为 MyDocuments MATLAB 早期版本略有细微差异 第一章MATLAB概述 二 MATLAB的搜索路径 MATLAB每遇到一个命令 例如test 时 其处置过程为 1 将test视为使用者自定义的变量 2 若test不是使用者自定义的变量 将其视为系统定义的常量 3 若test不是常量 检查其是否为当前工作目录下的M文件 4 若不是 则由搜寻路径寻找是否有test m的文件 5 若在搜寻路径中找不到 则MATLAB会印出错误讯息 处置过程可能因版本不同而略有不同 第一章MATLAB概述 二 MATLAB的搜索路径 which命令 查询某一命令是在搜寻路径的何处 What命令 显示当前目录里MATLAB相关文件及路径 书例题1 7 which和what命令 whichhelp whichlookfor what 第一章MATLAB概述 三 MATLAB中数据的读写 思考 关闭MATLAB 释放工作空间 所有变量会被释放 这样会出现什么问题 第一章MATLAB概述 三 MATLAB中数据的读写 解决方法 将工作空间中的变量存储到文件中 这样 即使退出了MATLAB系统 变量依然存在 需要使用时 将这些变量从文件中读取出来即可 第一章MATLAB概述 1save命令功能 将变量以二进制的方式存储至后缀名为 mat的文档中 格式 savefilename 第一章MATLAB概述 1save命令命令实例 假定内存中已经存在变量X Y ZsavemyFileXYZdir myFile mat 第一章MATLAB概述 1save命令注意事项 存储文件为 mat的二进制mat文档中 若文件名缺省 则自动存储到matlab mat中 若为savefilenamex则只将变量x存储到文件中去 第一章MATLAB概述 1save命令注意事项 4 若为savefilenameuw append则将变量u w添加到文件名为filename mat的文件中 5 若为savefilenameuw ascii则将变量u w保存为filename的8位ASCII文档 6 若为savefilenameuw ascii double则将变量u w保存为filename的16位ASCII文档 第一章MATLAB概述 1save命令 ASCII文档特色 使用 ascii后缀 1 ASCII文档可以看到文档内容 2 默认的存储格式是二进制的mat文件 存储ASCII文档必须加 ascii 3 save ascii通常只存为一个变量 原有变量名消失 load载入时 取用文件名为变量名 4 对于复数 save ascii后只存实部 虚部抛弃 5 ASCII文件通常比二进制文件大 二进制文档较小 读取速度快 第一章MATLAB概述 1save命令 建议 尽量使用二进制文件存储MATLAB变量 第一章MATLAB概述 2load命令 功能 读取保存在文件中的变量 格式 loadfilenameloadfilename asciiloadfilename mat 第一章MATLAB概述 2load命令 注意事项 首先 MATLAB在系统默认路径中自动寻找名称为filename mat的二进制文件 其次 若无该文件 则找filename的文件 用ASCII方式载入 第一章MATLAB概述 2load命令 例题 clearall a 1 b 2 c 3 savemydata1 savemydata2ab loadmydata1 loadmydata1a 课后任务 一 熟悉MATLAB系统环境 二 熟悉工作空间以及变量的读写 三 熟悉搜索路径的设置 四 阅读 实用技巧 并自己操作 第二章MATLAB程序设计基础 第一节教学目标1基本运算介绍 2变量的概念 3系统函数的概念 4一般的应用问题转换为计算机模型 第二章MATLAB程序设计基础 一 基本运算 MATLAB 第二章MATLAB程序设计基础 一 基本运算简单的数学运算 1 2 3 4 5 1 2 3 4 5 第二章MATLAB程序设计基础 一 基本运算复杂一点点的数学运算 已知 x 15 y 10 z 7求解 x 2Y 5z 3 x 15 y 10 z 7 x 2 y 5 z 3 第二章MATLAB程序设计基础 一 基本运算 这些运算的本质 基本数学运算 操作数 运算符 第二章MATLAB程序设计基础 一 基本运算1MATLAB算术运算符加 减 乘 除 幂次方 运算次序 自左向右运算 优先级最高 乘除次之 后加减 如果有括号 括号优先执行 第二章MATLAB程序设计基础 一 基本运算2format命令用来显示计算的精度 不是用来改变计算的精度 MATLAB默认以double 双精度 进行运算和存储 使用format可以控制数据不同的显示格式 formatshortformatshorteformatlongformatlongeformatratformatbank 第二章MATLAB程序设计基础 一 基本运算2format命令 用pi来测试一下显示精度 pi formatshort pi formatlong pi formatrat pi 第二章MATLAB程序设计基础 二 变量 变量 程序执行过程中可以变化的量 MATLAB中的变量可以由用户指定变量名 通过变量名随时可以引用变量和修改变量 第二章MATLAB程序设计基础 二 变量 MATLAB特殊之处 无需进行变量声明 遇到新变量名时 自动生成变量 并指定合适的存储空间 如变量早已存在 则自动更新 利与弊的分析 第二章MATLAB程序设计基础 二 变量1 系统特殊变量 1 2 3 4 5ans是个特殊的系统变量 没有指定变量来存储运算结果时 系统会自动将结果存储在临时变量ans中 第二章MATLAB程序设计基础 二 变量1 系统特殊变量MATLAB的系统特殊变量 ans 临时变量pi inf 无穷大eps 极小值NaN NotaNumber NotAvailable nan 同上i 虚数sqrt 1 j 虚数sqrt 1 第二章MATLAB程序设计基础 二 变量2自定义变量 注意我的这些操作 a 1 abc 1 2 3 4 5 a 1 b 3 c 5 A 2 B 4 C 6 area r 2 第二章MATLAB程序设计基础 二 变量2自定义变量命名规则 变量名由字母 数字和下划线组成 字母间不可留空格且第一个字符必须为字母 区分大小写 变量名的长度上限为n个字符 补充 变量名不能为中文 系统变量名不要和自定义重名 第二章MATLAB程序设计基础 二 变量 万一自定义变量名和系统变量名一样结果会怎样 怎么办 第二章MATLAB程序设计基础 二 变量 观察下面的变量名是否合理 isvarnamemyVarName isvarname7myVarName 第二章MATLAB程序设计基础 二 变量3获取当前变量命令行直接键入变量名 第二章MATLAB程序设计基础 二 变量4变量的显示精度控制显示精度函数 format控制精度计算的函数 digits n 设置缺省的精度 vpa S n 将S表示为n位有效位数的形式 第二章MATLAB程序设计基础 4变量的显示精度问题 积少成多的累计误差 1 3 1 3 formatlong 1 3 1 3 第二章MATLAB程序设计基础 s 1 3 1 3 digits 2 s vpa s vpa s 10 s 1 1 3 1 3 4变量的显示精度 第二章MATLAB程序设计基础 二 变量5查看变量who 查看当前工作区 workspace 的变量 whos 查看当前变量的详细信息 第二章MATLAB程序设计基础 二 变量6清除变量clear 清除所有定义过的变量 clear变量名 清除某个变量 第二章MATLAB程序设计基础 二 变量7变量的初始化 三种方式 1 用赋值语句初始化变量 2 用input函数从键盘输入初始化变量 例如 in1 input enterdata Enterdata 1 23 in2 input enterdata s Enterdata 1 23 in1 in2 3 从文件读取一个数据 以后介绍 第二章MATLAB程序设计基础 二 变量8变量的作用域 1 局部变量 Local 2 全局变量 Global 3 永久变量 Persistent 第二章MATLAB程序设计基础 二 变量7变量的作用域局部变量 在函数中使用的变量 只能在函数的范围内使用 全局变量 在命令文件或工作空间中定义 用global定义全局变量 globalGvar1Gvar2Gvar3永久变量 只能在函数文件中定义和使用 只允许定义它的函数存取 只有清除函数或者关闭MATLAB时 才能从内存中清除它们 persistentperVar 第二章MATLAB程序设计基础 四 函数相关知识3变量的作用域局部变量 在函数中使用的变量 只能在函数的范围内使用 全局变量 在命令文件或工作空间定义 用global定义全局变量 globalvar1var2var3 例如 func1 mfunctiony func1 x globalGvar y x Gvar x 10func2 mfunctiony func2 x globalGvar y x Gvar x 100 例如 globalGvar func1 mfunctiony func1 x globalGvar Y x Gvar x 10func2 mfunctiony func2 x globalGvar Y x Gvar x 100 第二章MATLAB程序设计基础 tips 尽量不使用全局变量和永久变量 第二章MATLAB程序设计基础 三 常用函数 初等数学函数 helpelfun高等数学函数 helpspecfunhelpelmat 第二章MATLAB程序设计基础 三 常用函数 注意问题 1 等式中 函数一定是出现在等式的右边 2 函数参数要求 变量个数和格式要求 3 允许函数嵌套 第二章MATLAB程序设计基础 四 现实问题转化为数学模型例如 哥哥弟弟年龄问题 哥哥比弟弟大19岁 哥哥年龄是弟弟的3倍还多1 问 哥哥和弟弟的年龄分别是多少 第二章MATLAB程序设计基础 四 现实问题转化为数学模型例如 吃桃问题 桃子1毛钱一个 每3个桃核可以换一个桃子 如果有一元钱 问 一共能吃到多少桃子 课后任务 一 熟悉基本数学运算 二 熟练使用变量的相关应用 第二章MATLAB程序设计基础 第二节教学目标通过实例演练熟悉部分常用函数 第二章MATLAB程序设计基础 实战演练常用函数的使用 第二章MATLAB程序设计基础 函数 第二章MATLAB程序设计基础 小整理 MATLAB常用的基本数学函数abs x 纯量的绝对值或向量的长度sqrt x 开平方real z 复数z的实部imag z 复数z的虚部conj z 复数z的共轭复数angle z 复数z的相角round x 四舍五入至最近整数fix x 无论正负 舍去小数至最近整数floor x 地板函数 即舍去正小数至最近整数ceil x 天花板函数 即加入正小数至最近整数rat x 将实数x化为多项分数展开rats x 将实数x化为分数表示 第二章MATLAB常用的基本数学函数 小整理 MATLAB常用的基本数学函数sign x 符号函数 Signumfunction 当x0时 sign x 1 rem x y 求x除以y的馀数gcd x y 整数x和y的最大公因数lcm x y 整数x和y的最小公倍数exp x 自然指数pow2 x 2的指数log x 以e为底的对数 即自然对数log2 x 以2为底的对数log10 x 以10为底的对数 第二章MATLAB程序设计基础 实战1 函数abs功能数值的绝对值与复数的幅值格式Y abs X 返回参量X的每一个分量的绝对值 若X为复数的 则返回每一分量的幅值 abs X sqrt real X 2 imag X 2 例 x 18 z1 abs x y 2 4i z2 abs y 第二章MATLAB程序设计基础 实战2 函数sqrt功能求平方根函数格式Y sqrt X 数值的平方根运算例 x 16 z1 sqrt x y 18 z2 sqrt y f 2 4i z3 sqrt f 第二章MATLAB程序设计基础 实战3 函数exp功能以e为底数的指数函数格式Y exp X 对参量X的每一分量 求以e为底数的指数函数Y X中的分量可以为复数 对于复数分量如 z x i y 则相应地计算 e z e x cos y i sin y 例 x 3 z1 exp x y 3 z1 exp y f 2 4i z3 exp f 第二章MATLAB程序设计基础 实战4 函数log功能自然对数 即以e为底数的对数 格式Y log X 对参量X中的每一个元素计算自然对数 其中X中的元素可以是复数与负数 但由此可能得到意想不到的结果 若z x i y 则log对复数的计算如下 log z log abs z i atan2 y x 例 x 20 0855 z1 log x f 2 4i z3 log f 下面的语句可以得到无理数 的近似值 pai abs log 1 第二章MATLAB程序设计基础 实战5 函数log10功能常用对数 即以10为底数的对数 格式Y log10 X 计算X中的每一个元素的常用对数 若X中出现复数 则可能得到意想不到的结果 例 x 10 z1 log10 x y 10 z1 log10 y f 2 4i z3 log10 f 第二章MATLAB程序设计基础 实战6 函数lcm功能整数x和y的最小公倍数格式z lcm x y 计算整数x和y的最小公倍数例 x 10 y 23 z1 lcm x y x 10 y 2 z2 lcm x y x 10 y 2 z3 lcm x y 第二章MATLAB程序设计基础 实战7 函数gcd功能整数x和y的最大公约数格式z gcd x y 计算整数x和y的最大公约数例 x 10 y 23 z1 gcd x y x 10 y 2 z2 gcd x y x 10 y 2 z3 gcd x y 第二章MATLAB程序设计基础 实战8 函数real功能复数的实数部分 格式Y real Z 返回输入参量Z的每一个分量的实数部分 例 f 3 8i z real f 第二章MATLAB程序设计基础 实战9 函数imag功能复数的虚数部分格式Y imag Z 返回输入参量Z的每一个分量的虚数部分 例 f 9 7i z imag f 第二章MATLAB程序设计基础 实战10 函数conj功能复数的共轭值格式ZC conj Z 返回参量Z的每一个分量的共轭复数 conj Z real Z i imag Z 例 f 9 7i z conj f 如果两复数的实部相等 虚部系数互为相反数 那么 这两个复数叫做共轭复数 共轭复数的乘积是一个实数 提问 什么是复数的共轭值 第二章MATLAB程序设计基础 实战11 函数sin功能正弦函数格式Y sin X 计算参量X 可以是向量 矩阵 元素可以是复数 中每一个角度分量的正弦值Y 所有分量的角度单位为弧度值 第二章MATLAB程序设计基础 书例1 3计算下式的结果 其中x 3 5度 Y 6 7度 x pi 180 3 5 y pi 180 6 7 z sin abs x abs y sqrt cos abs x y 第二章MATLAB程序设计基础 实战12 函数cos功能余弦函数格式Y cos X 计算参量X 可以是向量 矩阵 元素可以是复数 中每一个角度分量的余弦值Y 所有分量的角度单位为弧度值 第二章MATLAB程序设计基础 书例1 3计算下式的结果 其中x 3 5度 Y 6 7度 x pi 180 3 5 y pi 180 6 7 z sin abs x abs y sqrt cos abs x y 第二章MATLAB程序设计基础 实战13 函数asin功能反正弦函数格式Y asin X 返回参量X 可以是向量 矩阵 中每一个 元素的反正弦函数值Y 若X中有的分量处于 1 1 之间 则Y asin X 对应的分量处于 2 2 若X中有分量在区间 1 1 之外 则Y asin X 对应的分量为复数 第二章MATLAB程序设计基础 实战13 函数asin例题 x 1 z1 asin x x 2 z2 asin x 第二章MATLAB程序设计基础 实战14 函数acos功能反余弦函数格式Y acos X 返回参量X 可以是向量 矩阵 中每一个 元素的反余弦函数值Y 若X中有的分量处于 1 1 之间 则Y acos X 对应的分量处于 0 之间 若X中有分量在区间 1 1 之外 则Y acos X 对应的分量为复数 第二章MATLAB程序设计基础 实战14 函数acos例题 x 1 z1 acos x x 2 z2 acos x 第二章MATLAB程序设计基础 实战15 函数tan功能正切函数格式Y tan X 计算参量X 可以是向量 矩阵 元素可以是复数 中每一个角度分量的正切值Y 所有角度分量的单位为弧度值 第二章MATLAB程序设计基础 实战15 函数tan特别地 我们要指出的是 tan pi 2 和tan pi 2 并不是精确的值 因为matlab中的pi仅仅是精确值 近似的表示值而已 例题 tan pi 2 x pi 2 0 01 0 01 pi 2 0 01 plot x tan x gridon 第二章MATLAB程序设计基础 实战16 函数atan功能反正切函数格式Y atan X 返回参量X 可以是向量 矩阵 中每一个 元素的反正切函数值Y 若X中有的分量为实数 则Y atan X 对应 的分量处于 2 2 之间 例 atan 0 第二章MATLAB程序设计基础 这些函数只是MATLAB提供的函数中的很小的一部分 更多的函数学习还要依靠大家在实验课上的实战演练 第二章MATLAB程序设计基础 学生演练实例1 例 求的算术运算结果 2 第二章MATLAB程序设计基础 学生演练实例2 例 求的算术运算结果 0 0045 第二章MATLAB程序设计基础 学生演练实例3 例 复数 计算 0 3349 5 5801i 第二章MATLAB程序设计基础 学生演练实例4 例 求的算术运算结果 0 5000 第二章MATLAB程序设计基础 学生演练实例5 例 求的算术运算结果 0 3633 第二章MATLAB程序设计基础 学生演练实例n继续补充一些演练实例 增加难度 课后任务 一 熟练使用常用函数 初等 二 理解应用题并转化为数学模型 疑问 精度问题有时候函数结果返回0而不是0 0000 按理 0 0 0000 类似的问题还有 在matlab中为什么sin pi 0 而cos pi 却等于 1 而不是 1 0000 而formatbankSin 0 0 00 cos pi 等于 1 00 疑问 解释一 MATLAB中的数字是默认按照双精度型浮点数存储的 他们的区别可能有两种情况 一 0代表符号值的0 是没有经过舍入的精确值 而0 0000是浮点数 有舍入 由于MATLAB中默认数据类型是浮点型 所以在输入计算时两者是没有差别的 二 在MATLAB的输出结果中同样是浮点数 如果一个矩阵中各元素的数量级相差较大 同时显示出来时有的元素会显示为0 0000 如果你只单独显示这一个数 发现它只是很小 并不是0 疑问 解释二 Sin是build in函数 看不到源代码 让sin 0 0而让sin pi 0 cos pi 1等完全由mathworks公司函数内部定义 疑问 看如下的代码 分析 x 0 forn 1 82x x 0 01endx 0 82 x 0 forn 1 82x x 1endx 82 上机安排 人数 93 2院大班 02021001 2班10 11周金工实习 02021001 2 02011001班 英语精英班周一16 00 18 40 实验大楼三层南02011002 3 4班 020110卓越计划班周一19 00 21 40 实验大楼三层南注意 大班长尽快报精英班和卓越班名单给我 8 9周每周补一次理论课 上机安排 人数 93 7院大班 07011001 2 3 4班8 9周金工实习 07011001 2 3班周三16 00 18 40 实验大楼三层南07011004 07021001 2班周三19 00 21 40 实验大楼三层南 关于上机说两句 实验课需要我们干什么 一 实验课前的知识点预习 二 准备实验课要演练的例题 三 实验课后的总结 第二章MATLAB程序设计基础 第三节教学目标1一维数组创建和引用2二维数组创建和引用3特殊数组 第二章MATLAB程序设计基础 一 一维数组的创建建立方法一 直接输入法建立方法二 冒号法建立方法三 特殊方法 第二章MATLAB程序设计基础 一 一维数组的创建建立方法一 直接输入法 A 1234 A 1 2 3 4 第二章MATLAB程序设计基础 一 一维数组的创建建立方法二 冒号法调用格式 A 初始量 步长 终止量 第二章MATLAB程序设计基础 一 一维数组的创建建立方法二 冒号法例题 建立数组A 其中A 1 2 3 4 5 A 1 1 5 A 1 5 第二章MATLAB程序设计基础 一 一维数组的创建建立方法三 特殊方法调用格式 A linspace 初始量 终止量 数组元素个数 B logspace 初始量 终止量 数组元素个数 第二章MATLAB程序设计基础 例题 生成数组A 其中A 1 2 3 4 5 A linspace 1 5 5 A linspace 1 5 5 5 A linspace 1 5 5 5 第二章MATLAB程序设计基础 例题 生成数组B logspace 0 2 5 B logspace 0 2 5 第二章MATLAB程序设计基础 例题 生成数组B logspace 1 pi 5 B logspace 1 pi 5 例题 生成数组B logspace 1 3 1 B logspace 1 3 1 第二章MATLAB程序设计基础 一 一维数组的创建注意事项 logspace y1 y2 N 表示在10 y1和10 y2之间插入N 2个元素 组成一个含有N个元素的数组 如果y2 pi 则表示在10 y1和pi之间插入N 2个元素 如果N 2 则返回10 y2 第二章MATLAB程序设计基础 二一维数组的引用 引用格式 arrayName n 引用一维数组中的第n个元素arrayName n1 n2 引用一维数组中的第n1至n2个元素arrayName n1n2 引用一维数组中的第n1和n2个元素arrayName n1n2 引用一维数组中的第n1和n2个元素 x 第二章MATLAB程序设计基础 二一维数组的引用 例题 A 1 2 3 4 5 A 3 A 1 3 第二章MATLAB程序设计基础 二维数组的创建直接输入法文件生成法 M文件 txt文件 excel文件 dat文件等 第二章MATLAB程序设计基础 二维数组的创建例题 myArray 123456 654321 5 sqrt 25 10 5 0 5 abs 5 5 第二章MATLAB程序设计基础 四二维数组的引用 引用格式 arrayName m n 引用二维数组的第m行n列的元素arrayName m 引用二维数组的第m行的所有列元素arrayName n 引用二维数组的第n列的所有行元素arrayName m1 m2 n 引用二维数组的第n列中m1至m2行的元素arrayName m n1 n2 引用二维数组的第m行中n1至n2列的元素arrayName m1m2 n 引用二维数组的第n列中m1行和m2行的元素arrayName m n1n2 引用二维数组的第m行中n1列和n2列的元 第二章MATLAB程序设计基础 四二维数组的引用 例题 A 1 2 3 4 5 6 7 8 9 10 A 1 A 3 A 2 1 2 A 1 2 2 第二章MATLAB程序设计基础 数组相关的习题 MATLAB演练 第二章MATLAB程序设计基础 第二章MATLAB程序设计基础 第二章MATLAB程序设计基础 课后任务 一 熟练掌握创建数组 二 熟练掌握引用数组 第二章MATLAB程序设计基础 五特殊数组 1 字符数组调用格式 s string name str1 str2 str3 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 s1 who are you s2 I m Tin Tin s3 s1s2 m size s1 n size s2 k size s3 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串转换方式一函数命令 char调用格式 S char T 表示将正整数矩阵转换成字符串矩阵S 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串转换方式一 T 10267132 509578 S char T 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串转换方式二函数命令 int2str num2str调用格式 int2str A num2str A k num2str A format 表示将数或矩阵转换成字符串或字符串矩阵 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串转换方式二 A 1 26 73 2 5 59 57 8 B1 int2str A B2 num2str A 0 0 B3 num2str A 10 3f B1 B2 B2 B3 B1 B3 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串转换方式三函数命令 eval str2num调用格式 eval S str2num S 表示将字符串S转化为数值 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串转换方式三 a 12 w 13 x 12 S a sin w x val eval S v2 subs S 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串转换方式三 v1 str2num S str2num 3 14159e0 str2num 12 34 ans 3 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串比较函数命令 strcmp调用格式 strcmp str1 str2 表示将两个字符串进行比较 相等时返回逻辑值为真 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串比较 str1 bad str2 bad str3 dab strcmp str1 str2 strcmp str1 str3 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串转内嵌函数函数命令 inline调用格式 inline exr inline expr arg1 arg2 表示将字符串表达式转化为函数表达式 第二章MATLAB程序设计基础 五特殊数组 1 字符数组 字符串转内嵌函数 f inline 5 sin x 3 cos y x y 第二章MATLAB程序设计基础 五特殊数组 2 结构数组 提问 结构体的概念 如果让你统计全班同学基本信息 你的数据怎么组织 第二章MATLAB程序设计基础 五特殊数组 2 结构数组 结构数组 是根据属性名组织起来的不同类型数据的集合 结构数组通过属性名来引用 第二章MATLAB程序设计基础 五特殊数组 2 结构数组函数命令 struct调用格式 sn struct filed1 filed2 第二章MATLAB程序设计基础 五特殊数组 2 结构数组例题 结构数组student有name和age两个属性 两组数据 liu 20 Wang 21 并求student 1 student 2 student 2 name 第二章MATLAB程序设计基础 五特殊数组 2 结构数组 student struct name Liu Wang Age 20 21 student 1 student 2 student 2 name 第二章MATLAB程序设计基础 五特殊数组 2 结构数组如果想新增加域field怎么办 如何使用struct命令来新增新的属性 第二章MATLAB程序设计基础 五特殊数组 2 结构数组例 建立学生档案结构体 并计算每个学生的总成绩 page96 学号 number 数值型姓名 name 字符型身高 height 数值型英语考试成绩 English 数值型数学考试成绩 Math 数值型物理考试成绩 Physics 数值型 第二章MATLAB程序设计基础 五特殊数组 2 结构数组stud 1 number input pleaseinputnumber stud 1 math input pleaseinputmath stud 1 physics input pleaseinputphysics stud 1 english input pleaseinputenglish stud 1 total stud 1 math stud 1 physics stud 1 english 第二章MATLAB程序设计基础 五特殊数组 2 结构数组 n input pleaseinputn fori 1 nstud i number input pleaseinputnumber stud i math input pleaseinputmath stud i physics input pleaseinputphysics stud
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车指标转让协议与汽车按揭贷款合同3篇
- 工厂车间生产管理经营承包合同书3篇
- 医用纯水销售合同范本
- 快递代收点合同范本
- 聘用简单运营合同范本
- 焊工作业压力焊模拟题及答案
- 智博英语必做题目及答案
- 教师个人校本培训计划2025(5篇)
- 2025年生物心脏瓣膜试题及答案
- 2025年首调旋律听写题库及答案
- 《普通话》教学讲义课件
- 比喻(教学课件)
- 烧结基础知识课件
- 高中生物第一课-(共24张)课件
- 皮肤科质量控制指标
- 新教师跟岗学习实施方案
- 2022年高考全国甲卷:写作指导及范文课件16张
- 郭锡良《古代汉语》讲稿(不仔细看别后悔哦)
- 新媒体文案创作与传播精品课件(完整版)
- 齿轮制造工艺手册
- 8D培训教材(共37页).ppt
评论
0/150
提交评论