MATLAB选修课讲义
MATLAB讲义

第六章MA TLAB语言简介MA TLAB语言是一种用于科学和工程计算的高级语言,在科学计算、自动控制、动态系统仿真、信号处理、神经网络、优化、小波分析、图形处理等领域提供了强大的处理功能,具有很高的编程效率。
MA TLAB语言的特点是语法规则简单明了,使用者只须花很少的时间就可以掌握它的基本使用方法,程序编写短小,调试方便灵活快捷,编程效率高,不必象Basic、Fortran和C语言那样花费大量的时间和精力用于编程和调试,而采用Fortran和C语言编写的程序可以方便地被MA TLAB调用﹔MA TLAB尤其擅长矩阵运算,处理各种矩阵运算问题十分简便和高效﹔MA TLB还提供了强大的图形功能,具有丰富的绘图命令,使用户可以很方便地绘制自己所需要的图形﹔在仿真方面,运用MA TLAB所提供的仿真利器Simulink 使得建模、仿真和分析工作变得直观、高效和方便灵活。
MA TLAB(MA Trix LABoratory,即矩阵实验室)是美国Mathworks公司推出的软件产品,其创始人为Cleve Moler博士。
MA TLAB的第一个正式版本(DOS版本)于1984年推出;目前的最新版本是可运行于Windows 98/2000/XP环境下的MA TLAB R2010a。
MA TLAB是当今世界上最为流行的数学软件之一,除了在主软件包中提供诸如数值计算、图形绘制、数据处理等一些通用功能外,还提供了扩充主程序包、解决不同专业领域问题的工具箱(TOOLBOX) ,如控制系统工具箱(Control System Toolbox),系统辩识工具箱(System Identific ation Toolbox),信号处理工具箱(Signal Processing Toolbox),频率域系统辨识工具箱(Frequency Domain System Identific ation Toolbox),模糊逻辑工具箱(Fuzzy Logic Toolbox),μ分析与综合工具箱(μ-Analysis and Synthesis Toolbox),优化工具箱(Optimization Toolbox),神经网络工具箱(Neural Network Toolbox),小波工具箱(Wavelet Toolbox)等等以及交互式仿真环境Simulink(新增SimMechanics)。
MATLAB讲义

第二章数值数组及其运算数值数组(Numeric Array)和数组运算(Array Operations)始终是MATLAB的核心内容。
自MATLAB5.x版起,由于其“面向对象”的特征,这种数值数组(以下简称为数组)成为了MATALB最重要的一种内建数据类型(Built-in Data Type),而数组运算就是定义在这种数据结构上的方法(Method)。
本章系统阐述:一、二维数值数组的创建、寻访;数组运算和矩阵运算的区别;实现数组运算的基本函数;多项式的表达、创建和操作;常用标准数组生成函数和数组构作技法;高维数组的创建、寻访和操作;非数NaN、“空”数组概念和应用;关系和逻辑操作。
顺便指出:(1)本章所涉内容和方法,不仅使用于数值数组,而且也将部分地延伸使用于在其他数据结构中。
(2)MATLAB5.x和6.x 版在本章内容上的差异极微。
(3)MATLAB6.5版新增的两种逻辑操作,在第2.13.2节给予介绍。
数组是指由一组实数或复数排成的长方阵列(Array)。
它可以是一维的“行”或列,可以是二维的“矩阵”,也可以是三维的“若干同维矩形的堆叠,甚至更高维数”。
数组运算:是指无论在数组上施加什么运算(加减乘除或函数),总认定那种运算对被运算数组中的每个元素(Element)平等地实行同样的操作。
2.1一维数组的创建和寻访2.1.1一维数组的创建(1)无特殊规律数组,直接创建(逐个元素输入):X=[3.4 exp(5.2) -4*pi] x=[3.4 exp(5.2) -4*pi]x =3.4000 181.2722 -12.5664(2)等步长数组:①冒号生成法:通用格式:x=a:inc:b% inc是采样点之间的间隔,即步长。
若(b-a)是inc的整数倍,则所生成数组的最后一个元素等于b,否则小于b。
inc可以省略,省略时默认inc=1。
如:x=0:2*pi/50:2*pi,②定数线性采样法:通用格式T=linspace(a,b,n),其作用与指令:x=a:(b-a)/(n-1):b相同。
matlab讲义

matlab讲义随机过程实验讲义刘继成华中科技大学数学与统计学院前言 (1)第一章Matlab 简介 (2)第二章简单分布的模拟 (6)第三章基本随机过程 (9)第四章Markov过程 (12)第五章模拟的应用和例子 (16)附录各章的原程序 (51)参考文献 (75)若想检验数学模型是否反映客观现实,最自然的方法是比较由模型计算的理论概率和由客观试验得到的经验频率。
不幸的是,这两件事都往往是费时的、昂贵的、困难的,甚至是不可能的。
此时,计算机模拟在这两方面都可以派上用场:提供理论概率的数值估计与接近现实试验的模拟。
模拟的第一步自然是在计算机程序的算法中如何产生随机性。
程序语言,甚至计算器,都提供了“随机”生成[0,1]区间内连续数的方法。
因为每次运行程序常常生成相同的“随机数”,因此这些数被称为伪随机数。
尽管如此,对于多数的具体问题这样的随机数已经够用。
我们将假定计算机已经能够生成[0,1]上的均匀随机数。
也假定这些数是独立同分布的,尽管它们常常是周期的、相关的、……。
……本讲义的安排如下,第一章是Matlab简介,从实践动手角度了解并熟悉Matlab环境、命令、帮助等,这将方便于Matlab的初学者。
第二章是简单随机变量的模拟,只给出了常用的Matlab 模拟语句,没有堆砌同一种变量的多种模拟方法。
对于没有列举的随机变量的模拟,以及有特殊需求的读者应该由这些方法得到启发,或者参考更详细的其他文献资料。
第三章是基本随机过程的模拟。
主要是简单独立增量过程的模拟,多维的推广是直接的。
第四章是Markov过程的模拟。
包括服务系统,生灭过程、简单分支过程等。
第五章是这些模拟的应用。
例如,计算概率、估计积分、模拟现实、误差估计,以及减小方差技术,特别给读者提供了一些经典问题的模拟,通过这些问题的模拟将会更加牢固地掌握实际模拟的步骤。
平稳过程的模拟、以及利用平稳过程来预测的内容并没有包含在本讲义之内,但这丝毫不影响该内容的重要性,这也是将会增补进来的主要内容之一。
Matlab基础及其应用ppt课件 共34页

Di
a21
a2,i1
b2
a2,i1
a2n
an1 an,i1 bn an,i1 ann
线性方程组求解
数值求解方法: 1.直接法 Gauss消去法、Gauss-Jordan消去法、矩阵分 解法等。
2.迭代法 Jacobi迭代法、Gauss-Seidel迭代法和超松弛迭 代法等。
菜单 三.Matlab 界面与初步操作
快捷工具栏
workspace
工作目录选择栏 指令窗口
Command window运行入门
• 最简单的计算器使用法; • 数值、变量和表达式; • 指令行中的标点符号; • 计算结果的图形表示;
求 [12 2 (7 4)] 32 的运算结果。
4 2 2 A 1 3 2
1 3 3 3 2 2
35 20 60 B 10 15 50
20 12 45
输入下面Matlab指令 A=[4 2 3;1 3 2;1 3 3;3 2 2]; B=[35 20 60 45;10 15 50 40; …20 12 45 20]; C=A*B
Cleve Moler 博士
在70年代中期,Cleve Moler博士和其同事在美国 国家科学基金的资助下开发了调用EISPACK和 LINPACK的FORTRAN子程序库.EISPACK是特征 值求解的FORTRAN程序库,LINPACK是解线性方 程的程序库.在当时,这两个程序库代表矩阵运算的 最高水平.
t
•
画出衰减振荡曲线 其它的包络线 y0
y
t
e3
e 3 sin 3t 及 。的取值范围是
[0,4 ] 。
《MATLAB》课程教学大纲

《MATLAB》课程教学大纲课程编号:课程名称:MATLAB英文名称:MATrix LABoratory课程类型:专业基础课选修总学时:20 学分:1.0 理论课学时:10 实验课学时:10适用对象:生物医学工程专业本科学生一、课程的性质和任务MATLAB课程是生物医学工程专业的基础课,是一门理论和实践紧密结合的课程。
主要讲授MATLAB的基本命令和基本知识,它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域,培养学生用计算机语言解决理论与工程中实际问题的能力。
二、教学环节和教学方法MATLAB课程的教学包括理论讲授、上机实验和上机实践考试。
其中理论和实践在计算机模拟实验室同步进行,讲授主要是通过多媒体和计算机同步操作等教学手段讲解软件基本命令的使用方法和技巧,结合数学、信号与系统、医学图像处理等课程的应用实例,使学生掌握MATLAB的使用及编程技巧。
上机实验是在理论课的后半段通过计算机操作完成。
通过具体实例编程,使学生反复练习融会贯通。
本课程对学生的学习评估方式包括:1平时上课签到记录20分,完成每次课上练习共计40分。
2上机实践考试是通过教师给定考试题目,学生上机操作完成,40分,总分100分。
三、教学内容及要求第1章基础准备及入门1.1 MATLAB的安装和工具包选择1.2 Desktop操作桌面的启动1.2.1 MATLAB的启动1.2.2 Desktop操作桌面简介1.3 Command Window运行入门1.3.1 Commancl Winelow指令窗简介1.3.2 最简单的计算器使用法1.3.3 数值、变量和表达式1.4 Command Window操作要旨1.4.1 指令窗的显示方式1.4.2 指令行中的标点符号1.4.3 指令窗的常用控制指令1.4.4 指令窗中指令行的编辑1.5 Command History历史指令窗1.5.1 历史指令窗简介1.5.2 历史指令的再运行1.6 Current Directory、路径设置器和文件管理1.6.1 Current Directory当前目录浏览器简介1.6.2 用户目录和当前目录设置1.6.3 MATLAB的搜索路径1.6.4 MATLAB搜索路径的扩展1.7 工作空间浏览器和变量编辑器1.7.1 工作空间浏览器和变量可视化1.7.2 工作空间的管理指令1.7.3 Variable Editor变量编辑器1.7.4 数据文件和变量的存取1.8 Editor/Debugger和脚本编写初步1.8.1 Editor/Debugger M文件编辑器简介1.8.2 M脚本文件编写初步1.9 帮助系统及其使用1.9.1 构成帮助体系的三大系统1.9.2 常用帮助指令1.9.3 Help帮助浏览器习题1第2章符号计算2.1 符号对象和符号表达式2.1.1 符号对象的创建和衍生2.1.2 符号计算中的算符2.1.3 符号计算中的函数指令2.1.4 符号对象的识别2.1.5 符号运算机理和变量假设2.1.6 符号帮助体系2.2 符号数字及表达式的操作2.2.1 双精度数字与符号数字之间的转换2.2.2 符号数字的任意精度表达形式2.2.3 符号表达式的基本操作2.2.4 表达式中的置换操作2.3 符号微积分2.3.1 极限和导数的符号计算2.3.2 序列/级数的符号求和2.3.3 符号积分2.4 微分方程的符号解法2.4.1 符号解法和数值解法的互补作用2.4.2 求微分方程符号解的一般指令2.4.3 微分方程符号解示例2.5 符号变换和符号卷积2.5.1 Fourier变换及其反变换2.5.2 Laplace变换及其反变换2.5.3 Z变换及其反变换2.5.4 符号卷积2.6 符号矩阵分析和代数方程解2.6.1 符号矩阵分析2.6.2 线性方程组的符号解2.6.3 一般代数方程组的解2.7 代数状态方程求符号传递函数2.7.1 结构框图的代数状态方程解法2.7.2 信号流图的代数状态方程解法2.8 符号计算结果的可视化2.8.1 直接可视化符号表达式2.8.2 符号计算结果的数值化绘图2.8.3 可视化与数据探索2.9 符号计算资源深入利用2.9.1 符号表达式、串操作及数值计算M码间的转换2.9.2 符号工具包资源表达式转换成M码函数2.9.3 借助mfun调用MuPAD特殊函数习题2第3章数值数组及向量化运算3.1 数值计算的特点和地位3.2 数值数组的创建和寻访3.2.1 一维数组的创建3.2.2 二维数组的创建3.2.3 二维数组元素的标识和寻访3.2.4 数组操作技法综合3.3 数组运算3.3.1 数组运算的由来和规则3.3.2 数组运算和向量化编程3.4 “非数”和“空”数组3.4.1 非数3.4.2 “空”数组3.5 关系操作和逻辑操作3.5.1 关系操作3.5.2 逻辑操作3.5.3 常用逻辑函数习题3第4章数值计算4.1 数值微积分4.1.1 近似数值极限及导数4.1.2 数值求和与近似数值积分4.1.3 计算精度可控的数值积分4.1.4 函数极值的数值求解4.1.5 常微分方程的数值解4.2 矩阵和代数方程4.2.1 矩阵运算和特征参数4.2.2 矩阵的变换和特征值分解4.2.3 线性方程的解4.2.4 一般代数方程的解4.3 概率分布和统计分析4.3.1 概率函数、分布函数、逆分布函数和随机数的发生。
北邮matlab选修(郭彩丽版)课件:第一章 MATLAB概述

1
主要内容
MATLAB概貌 MATLAB环境的准备 MATLAB操作界面 MATLAB帮助系统
2
MATLAB概貌——MATLAB 的发展
MATLAB 是“ 矩阵实验室”( MATrix LABoratory)的缩写,最初版 本是由 Cleve Moler 博士用 FORTRAN 语言开发的矩阵分析软件。 80 年代初期,由 Cleve Moler 和 John Little采用 C 语言改写了 MATLAB 的内核。成立了 Mathworks 软件开发公司,并于1984 年将 MATLAB 第一版(DOS版)正式推向市场。 1992 年初推出了应用于 Windows 操作系统的 MATLAB 4.x 版本。 1997 年推出 5.1 版本。 1998 年推出 5.2 版本。 1999 年推出 MATLAB 5.3 版本,5.3版无论是界面还是内容都有长足 的进展,其帮助信息采用超文本格式和PDF格式,可以方便的浏览 2000 年又推出了更为简便易学的 MATLAB 6.0 版本,2001年6月推出 6.1版,2002年6月推出6.5版 2004年7月推出7.0版、继而推出7.1版、7.3( R2006b)版,7.4( R2007a), 7.5(R2007b), 7.6(R2008a), 7.7(R2008b)…… 最新版本为7.15(R2012b )版
MATLAB概貌——功能演示(续)
比较——用C语言生成魔方矩阵的
源码
#include
#define Max_Size 15 void main() { static int square[Max_Size][Max_Size]; int i,j,row,column,count,size; printf("输入的矩阵大小:\n"); scanf("%d",&size); if(size<1||size>Max_Size+1) { printf("输入的矩阵太大!"); //exit(1); } if(!(size % 2)) { printf("大小不能为偶数"); //exit(1); }
Matlab基础及其应用 ppt课件

5
上机安排
从9月21日(也就是下个星期四)起,每个星 期四安排为上机时间。
上机地点:主楼东312(物电机房) 上机时间:18:00~20:00
20:00~22:00
2021/3/26
Matlab基础及其应用 ppt课件b 概述与入门; 2. 数据类型和运算; 3. 数值计算; 4. 符号运算; 5. 数据和函数的可视化; 6. Matlab编程;
指令输入提示符 >> (12+2*(7-4))/3^2
ans =
2 >>
8. 源程序的开放性。
2021/3/26
Matlab基础及其应用 ppt课件
13
线性方程组求解
a11x1 a12x2 a1nxn b1 a21x1 a22x2 a2nxn b2 an1x1 an2x2 annxn bn
当D=|A|≠0, 方程组有解,可 用Cramer法则 求解。
50
20 12 45
A=[4 2 3;1 3 2;1 3 3;3 2 2]; B=[35 20 60 45;10 15 50 40; …20 12 45 20]; C=A*B
C=
45
40
220 146 475 320 105 89 300 205
20
125 101 345 225 165 114 370 255
-2
0
-4 -5
1
0 .5
0
-0 .5
-1 4
2
5
0 -2
0
-4 -5
4
3
2
1
0
-1
-2
-3
-4
-4
-2
0
《matlab课程》课件

数据可视化
Matlab内置了丰富的可视化 工具,可以方便地绘制各种 二维和三维图形,包括散点 图、柱状图、曲面图等。
数据分析
Matlab提供了强大的数据处 理和分析工具,包括矩阵运 算、统计分析、机器学习等 。
数值计算
Matlab具有高效的数值计算 能力,可以用于解决各种复 杂的数学问题,如线性代数 、微积分、常微分方程等。
图像处理
Matlab在图像处理方面也有着广泛的应用,可以用于图像的采集、增强、分割、识别等操作。
Matlab的图像处理工具箱包含了大量的函数,可以方便地进行图像处理和分析,如灰度变换、边缘检 测、特征提取等。
控制系统仿真
Matlab在控制系统仿真方面也有着广泛的应用,可以用于模拟各种类型的控制系统,如线性系统、非线性系统、离散系统等 。
《Matlab课程》PPT 课件
目录
Contents
• Matlab简介 • Matlab基础入门 • Matlab编程技巧 • Matlab在科学计算中的应用 • Matlab在工程领域的应用 • Matlab进阶学习资源与建议
01 Matlab简介
Matlab是什么
1
Matlab是一种高级编程语言和交互式环境,主要 用于算法开发、数据可视化、数据分析以及数值 计算。
误等。
03
调试工具
介绍Matlab提供的调试工具,如 断点设置、单步执行、变量查看
等。
Байду номын сангаас02
错误处理
介绍如何使用try-catch语句捕获 异常,以及如何在错误发生时进
行恢复或提供用户反馈。
04
代码优化与性能分析
讲解如何优化Matlab代码,提高 运行效率,以及如何使用性能分
Matlab详细学习讲义

《MA TLAB软件应用》讲义[第2 / 16次课]第1章基础准备及入门一点名二作业讲评三复习提问MATLAB界面由几大组件组成?MATLAB的搜索路径主要有什么应用途径?四上机练习内容启动MATLAB。
在D盘根目录下,以“学号_姓名”的格式创建文件夹,并在Matlab中将该目录设置为Current Folder。
(利用MA TLAB Toolbar中Current Folder组合框后的按钮)。
以下为本章教学必须掌握的知识点。
在MA TLAB的Command Window中练习以下代码,并观察系统输出,并逐行进行注释。
本次课结束后将代码文件上传。
在MA TLAB程序界面中进行以下操作:1 上机实习内容提示及要求启动MATLAB后,依次练习MA TLAB的菜单项、工具栏和Command Window、Current Folder、Command History、Workspace等主要组件的基本功能,按指定内容在MA TLAB程序界面下进行操作练习。
2 上机实习内容在MATLAB程序界面中进行以下操作:1) Command Window指令窗口在集成窗体和独立窗体之间切换(Undock/Dock按钮)2) 在Command Window中运行以下指令,掌握换行符(...)的使用>> (12+2*(7-4))/3^2>> S=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8>> S=1-1/2+1/3-1/4+…+1/5-1/6+1/7-1/83)在Command Window中分别输入以下数值,并按回车,观察MA TLAB的输出(数值如3, -99, 0.001, 9.456, 1.3e-3, 4.5e33, eps, 等)4)以下实例涉及变量的定义规则,在Command Window中分别输入并按回车,观察MA TLAB的输出结果.输出结果为错误提示时,分析出现错误的原因.>> xyz_4=32.75>> var1=3.09e-5*1028>> 4xyz=32.75>> 4*xyz=198.28>>4,xyz=198.285) 在Command Window中输入下列数学常数,并按回车:eps, i, j, Inf, inf, intmax, NaN, nan, pi, realmax, realmin,观察并分析系统的输出。
MATLAB选修课讲义

MATLAB选修课讲义第一讲:矩阵运算第二讲:函数作图第三讲:符号演算第四讲:简单编程第五讲:数值计算第六讲:线性代数第七讲:综合实例第一讲:矩阵运算1.基本操作启动退出终止(Alt+. 或Ctrl +C)翻页召回命令分隔符,禁显符;续行符…注释符%设置显示格式format 常用:short,short g,long 清除变量clear关闭图形close清除图形clf演示Demo帮助help2.基本常数pi I j inf eps NaN exp(1)3.算术运算+ - * /, \, ^ sqrt .*./.^4.内部函数(一般都有数组运算功能)sin(x) tan(x) asin(x) atan(x)abs(x) round(x) floor(x) ceil(x)log(x) log10(x) length(v) size(A) sign(x) [y, p]=sort(x) mod(m,n)5.矩阵运算(要熟练掌握)(1)矩阵生成:手工输入:[1 2 3; 4 5 6]; 1:2:10输入数组: linspace(a, b, n)命令输入:zeros(m,n) ones(m,n) eye(n)magic(n) rand(m, n)diag(A) diag ( [a11 a22 . . . a nn] ) (2)矩阵操作赋值A(i, j) =2 A(2, :)=[1 2 3]删除A( [2,3], :)=[ ] 添加A(4,5)=6定位find(A>0) 定位赋值A(A<0)= -1 由旧得新B=A([2,3,1], :) B=A([1,3],[2,1])矩阵拼接C=[A, B] C=[A; B]定位矩阵B=(A>1) B=(A==1)下三角阵tril(A) 上三角阵triu(A)左右翻转fliplr(A) 上下翻转flipud(A)重排矩阵reshape(A, m, n)(3)矩阵运算:转置A’和A+B 差A-B 积A*B左除A\b(=A-1 b)右除b/A(=b A-1 )幂A^k点乘A.*B 点除A./B 点幂A.^2行列式det(A) 数量积dot(a,b) 向量积cross(a,b)行最简形rref(A) 逆矩阵inv(A) 迹trace(A)矩阵秩rank(A) 特征值eig(A) 基础解系null(A,’r’) 方程组特解x=A\b注意:2+A,sin(A)练习一:矩阵操作1、用尽可能简单的方法生成下列矩阵:102000100012101/21/31/1112040022002311/31/41/12,,,0330600054082210010191/111/121/20000750⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦⎣⎦⎢⎥-⎣⎦2、设有分块矩阵⎪⎪⎭⎫ ⎝⎛=⨯⨯⨯2232233S O R E A ,⎪⎪⎭⎫⎝⎛⋅=⨯⨯⨯23222233E O J R E B ,其中23,E E 是单位矩阵,32⨯O 是零矩阵,23⨯R 是随机矩阵,⎪⎪⎭⎫ ⎝⎛=⨯011022S ,J是2阶全1矩阵,验证B A =2。
Matlab基本教学讲义

Matlab基本教學講義環境的基本使用方法Matlab Command Window的指令選單上有幾個選項File Edit View Window HelpFile選單上第一個指令New分有三個選項M-file →開啟一個新的檔案用來編輯matlab程式。
副檔名*.m,如同C語言程式的副檔名*.cpp或是*.c一樣。
Figure →開始一個新的圖檔。
Model →開啟一個新的simulink檔案。
Help選單上有選項可以幫助指令的查詢一些基本指令的操作運算元數學運算元加+減-乘.*除./轉置‘次方.^比較運算元小於<大於>小於等於<=大於等於>=等於==不等於~=邏輯運算元and &or |not ~矩陣矩陣的表示方法若輸入指令為A=[1 2 3;4 5 6;7 8 9]則視窗顯示出A= 1 2 34 5 67 8 9則A(1,1)=1,A(1,2)=2,A(1,3)=3A(2,1)=4,A(2,2)=5,A(2,3)=6A(3,1)=7,A(3,2)=8,A(3,3)=9特殊符號 冒號”:”繼續之前的陣列A,若輸入A( : )則會出現長數列1~9。
若輸入A( : , 3)則出現ans =369若輸入A(1:1:3,1:2)則出現ans =1 24 578其中A(X:Y:Z,P:Q) 之中若表示法為X:Y:Z 時:X 表示起始值Y 表示公差Z 表示終止值若表示法為P:Q 時P 為起始值Q 為終止值公差= 1for、if等條件式的使用forfor I = 1:n (或是1:n可改成1:x:n,其中x則為公差)運算式endifif 條件式1運算式1elseif 條件式2運算式2elseif 條件式3運算式3…………………else運算式nend副程式的設計(*.m)function 傳回值=函式名稱(引數1,引數2,…..)運算式………………例如%I am bababa.....hahahaha……………….%Matlab is easy la.....function result=summation(a,b)%.....%.....result=sum(a:b);%Oh~bye bye.....%後面的文字為註解,程式不會執行。
MATLAB实验讲义

MATLAB实验讲义目录实验大纲 (2)实验一/二 MATLAB的基础操作 (3)实验三 MATLAB运算基础(一) (3)实验四 MATLAB运算基础(二) (4)实验五循环结构程序设计(一) (5)实验六循环结构程序设计(二) (5)实验七 MATLAB的绘图操作(一) (6)实验八 MATLAB的绘图操作(二) (7)实验九函数和文件(一) (7)实验十函数和文件(二) (7)实验十一线性代数中的数值计算问题 (8)实验十二 MATLAB函数库的运用(一) (9)实验十三 MATLAB函数库的运用(二) (10)《MATLAB》课程实验教学大纲课程名称:MATLAB(MATLAB)课程编号:16072327课程性质:选修实验总学时:27实验室名称:电子设计自动化一、课程简介:本课程是电气工程及其自动化、自动化、电力工程与管理专业本科生的学科基础选修课,它在线性代数、信号分析和处理、控制系统设计和仿真等方面有着广泛的应用。
主要是学习MATLAB的语法规则、基本命令和使用环境,使学生掌握MATLAB的基本命令和基本程序设计方法,提高使用该语言的应用能力,具有使用MATLAB语言编程和调试的能力,以便为后续多门课程使用该语言奠定必要的基础。
二、课程实验目的与要求:1.基本掌握MATLAB在线帮助功能的使用、熟悉MATLAB运行环境和MATLAB语言的主要特点,掌握MATLAB语言的基本语法规则及基本操作命令的使用,学会M文件的建立和使用方法以及应用MATLAB实现二维和三维图形的绘制方法,具有使用MATLAB语言编程和调试的能力。
2.初步掌握MATLAB在电路和信号与系统中的应用。
3.能根据需要选学参考书,查阅手册,通过独立思考,深入钻研有关问题,学会自己独立分析问题、解决问题,具有一定的创新能力。
三、主要仪器设备及台(套)数:计算机50台、MATLAB软件五、主要参考书目:1.《MATLAB及在电子信息课程中的应用》陈怀琛、杨吉斌编著,电子工业出版社,2002年1版2.《MATLAB7.0编程基础》王家文、王皓、刘海等;机械工业出版社,2005年7月3.《MATLAB教程——基于6.x版本》张志涌、徐彦琴等;北京航空航天大学出版,2001年4月出版实验一/二 MATLAB的基础操作一、实验目的1、掌握MATLAB的启动和退出。
MATLAB讲义第1讲

2012-3-10
Application of Matlab Language
8
1.1 MATLAB的历史及影响 的历史及影响 • 70年代中期, Moler博士及其同事在美国国家基金会 70年代中期,Cleve Moler博士及其同事在美国国家基金会 年代中期 的帮助下,开发了LINPACK EISPACK的FORTRAN语言 LINPACK和 的帮助下,开发了LINPACK和EISPACK的FORTRAN语言 子程序库,这两个程序库代表了当时矩阵运算的最高水平。 子程序库,这两个程序库代表了当时矩阵运算的最高水平。 到了70年代后期, 70年代后期 到了70年代后期,身为美国新墨西哥州大学计算机系系主 任的CIeve Moler,在给学生上线性代数课时, 任的CIeve Moler,在给学生上线性代数课时,为了让学生 能使用这两个子程序库, 能使用这两个子程序库,同时又不用在编程上花费过多的 时间,开始着手用FORTRAN FORTRAN语言为学生编写使用 时间,开始着手用FORTRAN语言为学生编写使用 LINPACK和EISPACK的接口程序 的接口程序, LINPACK和EISPACK的接口程序,他将这个程序取名为 MATLAB,其名称是由MATrix LABoratory(矩阵实验室) MATrix和 MATLAB,其名称是由MATrix和 LABoratory(矩阵实验室) 两个单词的前三个字母所合成。 两个单词的前三个字母所合成。 在1978年,Malab就面世了。这个程序获得了很大的成功, 1978年 Malab就面世了。这个程序获得了很大的成功, 就面世了 受到了学生的广泛欢迎。在以后的几年里,Matlab在多所 受到了学生的广泛欢迎。在以后的几年里,Matlab在多所 大学里作为教学辅助软件使用, 大学里作为教学辅助软件使用,并作为面向大众的免费软 件广为流传。 件广为流传。
天津大学matlab讲义-应用基础第二章

第2章MATLAB程序设计MATLAB语言为解释型程序设计语言。
在程序中可以出现顺序、选择、循环三种基本控制结构,也可以出现对M-文件的调用(相当于对外部过程的调用)。
由于 MATLAB开始是用FORTRAN语言编写、后来用 C语言重写的,故其既有FORTRAN的特征,又在许多语言规则方面与C语言相同。
2.1 顺序结构语句在顺序结构语句中,包括表达式语句、赋值语句、输入输出语句、空语句等。
2.1.1 表达式语句格式:表达式,%显示表达式值表达式;%不显示表达式值表达式%显示表达式值如:x + y,sin(x);–5最后的表达式值暂保存在变量ans中。
2.1.2 赋值语句格式:v =表达式,%结果送v并显示vv =表达式;%结果送v不显示vv =表达式%结果送v并显示v2.1.3 空语句格式:,;2.1.4 输入语句1、input语句(实际上是函数)格式1:input(提示字符串)功能:显示提示字符串,可输入数字、字符串(两端用单引号括起)、或表达式格式2:input(提示字符串,'s')功能:显示提示字符串,并把输入视为字符串2、yesinput语句格式:yesinput(提示字符串,缺省值,值范围)功能:显示提示字符串和缺省值,若只打入回车则以缺省值作为输入值,若输入的值不在指定范围内则认为输入无效,B并等待用户重新输入。
如:t=yesinput('指定线的颜色',…'red','red|blue|green')运行结果如下:指定线的颜色(red):yellow %不在值内指定线的颜色(red):blue %重输t =bluex=yesinput('输入元素个数',10,[1,20])运行结果如下:输入元素个数(10):x =103、Keyboard语句格式:Keyboard功能:暂停M-文件的执行,并等待用户从键盘输入命令以查看或改变变量的值,直到输入return命令而返回相应的M-文件继续执行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二讲:函数作图1、画曲线◆平面曲线(2) 函数作图fplot('[tan(x),sin(x),cos(x)]',[-6 6 -6 6])subplot(2,2,4),fplot('sin(1 ./ x)', [0.01 0.1], 1e-3)(3)符号作图显函数ezplot('cos(x)', [0, 2*pi])隐函数ezplot('1/y-log(y)+log(-1+y)+x - 1')参数式ezplot('sin(3*t)*cos(t)','sin(3*t)*sin(t)',[0, pi])◆空间曲线(1) 描点作图(2) 符号作图参数式ezplot3('cos(t)', 't * sin(t)', 'sqrt(t)', [0,6*pi])2、画曲面◆x=-8:0.1:8; y=x;[X,Y]=meshgrid(x,y); z=X.^2/16-Y.^2/9;mesh(x,y,z); surf(x,y,z)◆ezmesh( 'x*exp(-x^2 - y^2)' )ezsurf( 'exp(-s)*cos(t)', 'exp(-s)*sin(t)', 't', [0,8,0,4*pi] )3、动画getframe 抓拍画面movie 播放画面例:旋轮线的生成clear; clf;t=linspace(0,2*pi,96);x=t-sin(t); y=1-cos(t);plot(x,y,'r', [-1.1, 2*pi+1.1],[0,0], 'k',[0,0], [-1, 3], 'k');axis equal;pausefor k=1:96plot(x(1:k), y(1:k),'r', [-1.1,2*pi+1.1],[0,0],'k', [0,0],[-1,3],'k');text(2.7,3.3,'Cycloid'); axis equal; hold on;plot(t(k)+cos(t),1+sin(t),'b', x(k),y(k),'k.', [t(k),x(k)],[1,y(k)],'b');m(k)=getframe;hold offendmovie(m,0)练习二:函数作图1、画出下列函数表示的曲线:(1)22),2sin(22≤≤---=x x x x y (使用plot 和fplot 两种方法),相应于2,5.1,1,5.0,0,5.0,1,5.1,2----=x 的曲线上的点用红色空心圆点标出 (2) 三条曲线画在一幅图上:)0(,sin ,3sin sin ,sin π≤≤-===x x y x x y x y ,每条曲线加注标记区分; (3) 空间曲线 π20,2cos ,cos ,sin ≤≤===t t z t y t x ;(4) 椭圆19422=+y x (使用两种方法)。
2、画出下列曲面图形 (1) 旋转抛物面 3,3,22≤≤-+=y x y x z ;(2)曲面132,33,622232224≤≤-≤≤-+---++=y x y x y x y x x z ;(3) 一幅图上同时画上半球面4222=++z y x 与柱面1)1(22=+-y x )20(≤≤z ;(4)*试画曲面)2/s i,s i n3),2/cos(cos 3t u z t y t u t x ==+=,)11,20(≤≤-≤≤u t π,这是什么曲面?解答: 1(1)x=-2:0.1:2;y=x.^2.*sin(x.^2-x-2); plot(x,y); hold on x1=-2:0.5:2y1=x1.^2.*sin(x1.^2-x1-2); plot(x1,y1,'ro') hold off figurefplot('x^2*sin(x^2-x-2)',[-2,2]) hold onplot(x1,y1,'ro')hold off1(2)x=linspace(0,pi,50);y1=sin(x);y2=sin(x).*sin(3*x);y3=-sin(x);plot(x,y1,x,y2,x,y3)legend('sin(x)','sin(x)sn(3x)','-sin(x)')1(3)ezplot3('sin(t)','cos(t)','cos(2*t)',[0,2*pi])1(4)t=linspace(0,2*pi,50);x=2*cos(t);y=3*sin(t);plot(x,y);axis equal; axis([-4,4,-3.5,3.5])ezplot('2*cos(t)','3*sin(t)',[0,2*pi]);axis equal;ezplot('x^2/4+y^2/9-1'),axis equal; axis([-4,4,-3.5,3.5])2(1)ezmesh('x^2+y^2',[-3,3,-3,3])(2)ezmesh('x^4+3*x^2+y^2-2*x-2*y-2*x^2*y+6',[-3,3,-2,13])(3)ezmesh('1+cos(t)','sin(t)','z',[0,2*pi,0,2]);axis equal; hold onezmesh('2*sin(s)*cos(t)','2*sin(s)*sin(t)','2*cos(s)',[0,pi/2,0,2*pi] )hold offezsurf('cos(t)','-1+sin(t)','z',[0,2*pi,0,2]);axis equal; hold on ezsurf('2*sin(s)*cos(t)','2*sin(s)*sin(t)','2*cos(s)',[0,pi/2,0,2*pi] )hold off<viviani> h1=ezsurf('1+cos(t)','sin(t)','u',[0,2*pi,0,2]);hold on; axis equal; axis([-2,2,-2,2,0,2]);axis off;h2=ezsurf('2*sin(s)*cos(t)','2*sin(s)*sin(t)','2*cos(s)',[0,pi/2,0,2* pi]);hold offview(130,10)light('position',[2,1,2]);lighting phongshading interp; camlight(-220,-170)set(h2,'facecolor',[0,0.8,0])set(h1,'facecolor',[1,0,0])(4)ezmesh('3*cos(t)+u*cos(t/2)','3*sin(t)','u*sin(t/2)',[0,2*pi,-1,1]);a xis([-4 4 -4 4 -3 3]) % 单侧曲面(如Mobius曲面)hold ont=linspace(0,2*pi,60);x=3*cos(t)+cos(t/2);y=3*sin(t);z=sin(t/2); x1=3*cos(t)-cos(t/2);y1=3*sin(t);z1=-sin(t/2); plot3(x,y,z,'k','linewidth',3) plot3(x1,y1,z1,'k','linewidth',3) hold offezplot3('3*cos(t)+cos(t/2)','3*sin(t)','sin(t/2)',[0,2*pi]);hold on ezplot3('3*cos(t)-cos(t/2)','3*sin(t)','-sin(t/2)',[0,2*pi])第三讲:符号演算符号演算:1、定义符号变量 syms a b c x y2、极限 limit(f,x,0)3、导数、偏导数 diff(f,x,n)4、不定积分、定积分 int(f,x) int(f,a,b)5、级数展开 taylor(f,n,x,x0)6、求和 symsum(f,k,1,n)7、方程求根 x=solve(f)8、微分方程求解 dsolve(‘eqn ’,’x ’) 9、代入 subs(f,x,a)10、化简 simplify simple 11、显示数据 vpa(x,n)练习三:符号运算用MATLAB 符号运算做下列各题1、求极限hx h x L h )ln()ln(lim0-+=→,nn n a M ⎪⎭⎫⎝⎛-=∞→1lim ,1/0(1)limxx e x P x→-+=2、求和∑==nk k S 121,∑∞==1221k k S ,∑∞=-=23)1(n nn n x S3、)ln(22x a x y ++=求导数)5(y并化简、求偏导数)3,1,1(223)sin(yz x yx ∂∂∂4、求不定积分x x x x I d )22(1222⎰+-+= ,)()ln ln (d b a x b x a x xJ ≠+++=⎰5、求定积分⎰+∞-=0d 2xeI x ,含参积分⎰-+-=xxy y x y x x I d )2sin()()(36、试求正弦函数xy sin =的n次麦克劳林展开式)11,9,7,5,3(=n ,在同一幅图上画出正弦函数以及它的n 次麦克劳林多项式的图像,观察逼近情况。
7、试求方程或方程组的解:(1)3242310x x x --+=; (2)222u v pq u v p q ⎧+=⎨-=+⎩8、试解常微分方程:(1)⎩⎨⎧=+=.0)2/π(,sin 'x t x x (2)⎩⎨⎧==-=.0)π/a (,1)0(,''2y y y a y (3)⎩⎨⎧==-==1)0(,0)0(,','y x x y y x ,y x ,是t 的函数。