Matlab程序设计说明

合集下载

matlab程序设计与应用

matlab程序设计与应用

matlab程序设计与应用Matlab是一款高效能的编程语言,具有高品质的计算和分析功能,近十多年来被广泛应用在工程计算、科学研究、商业分析、金融模拟和教育工作等多个领域。

它拥有一系列强大的算法编写功能,可以实现非线性矩阵求解、信号处理、图像处理、生物医学信号处理等功能。

本文将介绍Matlab程序设计与应用,以及它在工程计算、科学研究、商业分析等领域的应用和示例。

一、Matlab程序设计Matlab是一种操作方便的高级编程语言,立足于原始编码,它建立在C及FORTRAN之上,而且它的高级结构使得设计程序不必写成复杂的程序框架,而可以把主要精力放在要实现的功能上。

Matlab在程序设计方面支持面向对象编程(Object-oriented programming,OOP)方式,可以实现结构化的程序设计,把大量的程序按照模块和函数来管理,方便调用和重用,并可以利用Matlab的类和类的方法来实现程序的重用和拓展。

二、Matlab在工程计算领域的应用Matlab在工程计算领域的应用如下:(1)Matlab可以用于科学计算,如:数值分析、科学计算、多元函数拟合、图像处理以及信号处理等。

(2)Matlab可以用于设计和调试电子电路,如:数字电路、模拟电路、射频电路、功率电路以及控制电路等。

(3)Matlab可以用于控制系统分析,如:数模转换、频响函数以及过程控制等。

(4)Matlab可以用于机械结构设计,如:机械结构分析、运动学以及动力学等。

三、Matlab在科学研究和商业分析领域的应用Matlab在科学研究和商业分析领域的应用如下:(1)Matlab可以用于统计学研究,如:概率统计、偏差分析、多元分析以及非参数分析等。

(2)Matlab可以用于数据挖掘,如:决策树分类、聚类分析以及因子分析等。

(3)Matlab可以用于仿真研究,如:求解方程、模拟实验以及模型预测等。

(4)Matlab可以用于商业分析,如:市场调研、销售预测以及风险评估等。

MATLAB程序设计

MATLAB程序设计

MATLAB程序设计MATLAB提供了一个完善的程序设计语言环境,使用户能够方便地编制复杂的程序,完成各种计算。

本节先介绍关系运算、逻辑运算,再介绍M-文件(即程序文件)的结构及MATLAB的程序控制流语句。

一、关系运算和逻辑运算1.关系运算(1)关系运算符:< ;< = ;> ;> = ;= = ;~ =(2)关系表达式:用关系运算符将两个同类型的量(表达式)连接起来的式子。

【注】①关系运算本质上是标量运算,关系表达式的值是逻辑值(0-假1-真);②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。

例1.对向量进行关系运算。

>> A=1:5,B=5:-1:1 % 输入向量A = 1 2 3 4 5B = 5 4 3 2 1>> C=(A>=4) % 对向量进行关系运算C = 0 0 0 1 1>> D=(A==B) % 对向量进行关系运算D = 0 0 1 0 02.逻辑运算(1)逻辑运算符:& (and,与)、| (or,或)、~ (not,非)(2)逻辑表达式:用逻辑将两个逻辑量连接起来的式子。

【注】①逻辑运算本质上是标量运算,它将任何非零元素视为1(真);②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。

(真值表见P27)例2.对向量进行逻辑运算。

>> a=1:9,b=9-aa = 1 2 3 4 5 6 7 8 9b = 8 7 6 5 4 3 2 1 0>> c=~(a>4) % 非运算c = 1 1 1 1 0 0 0 0 0>> d=(a>=3)&(b<6) % 与运算d = 0 0 0 1 1 1 1 1 13.逻辑函数any(x) 向量x 中有非零元返回1,否则返回0。

(向量函数) all(x) 向量x 中所有元素非零返回1,否则返回0。

第三章 matlab程序设计基础

第三章 matlab程序设计基础
y
3. 程序控制流 3.多分支if语句
• 多分支if语句格式为:
if 条件1 语句组1 elseif 条件2 语句组2 …… elseif 条件m 语句组m else 语句组m+1
end
3. 程序控制流
• 例 输入一个字符,若为大写字母,则输出其后继字符,若为 小写字母,则输出其前导字符,若为数字字符则输出其对应 的数值,若为其他字符则原样输出。 – 程序如下:
c=input('请输入一个字符','s'); if c>='A' & c<='Z' disp(setstr(abs(c)+1)); elseif c>='a'& c<='z' disp(setstr(abs(c)-1)); elseif c>='0'& c<='9' disp(abs(c)-abs('0')); else disp(c); end
分类:脚本文件(Script File)和函数文件(Function File)。 主要区别。
1. M文件 脚本文件
没有输入和输出 由一系列指令组成 可在命令窗口直接运行 产生的所有变量存储在workspace中。 例 test.m。
1. M文件 例 脚本M文件实例
脚本M文件实例,查找10 ~100所有素数。
1. M文件
• 函数文件examp.m: function fout=charray(a,b,c) %举例说明函数文件名与函数名不同 if nargin==1 fout=a; elseif nargin==2 fout=a+b; elseif nargin==3 fout=(a*b*c)/2; end • 命令窗口: x=[1:3];y=[1;2;3]; examp(x) examp(x,y') examp(x,y,3)

MATLAB程序设计基础介绍

MATLAB程序设计基础介绍

数值方法程序设计
例题 1
本例说明一个 script 文件。如下语句计算一些三角函数在不同弧
度时的函数值,并绘制花瓣的图象。由于语句较多,不方便在命令行中一条 一条地执行,现在将这些语句利用文本编辑器逐行写入一个 M 文件 petals.m 中,则形成了一个典型的 script 文件,并把它保存在 MATLAB 工作目录下。 %文件名:petals.m theta=-pi:0.01:pi; %角大小 rho(1,:)=2*sin(5*theta).^2; %第一个花瓣 rho(2,:)=cos(10*theta).^3;%第二个花瓣 rho(3,:)=sin(theta).^2;%第三个花瓣 rho(4,:)=5*cos(3.5*theta).^3;%第四个花瓣 for k=1:4 polar(theta,rho(k,:)) pause end 在命令行提示符后敲入文件名 petals,则可以执行其中的每一条语句,结果产 生四幅花瓣图象,见图 1。如果你在命令行中敲入 whos 并回车,则可以看到这 个文件中的所有变量,这说明 script 文件中的变量作用域为整个 MATLAB 工 作空间。 % Graphics output
computer Computer type. version MATLAB version string.
3、数据类型 Data Types 在 MATLAB 中有 15 种基本的数据类型,它们用下面图表中的小写字符表 示。用户也可以自己定义类型,称为自定义类型。
数值方法程序设计
3.1 逻辑类型 逻辑类型表示真与假,取值为 0 表示假、1 表示真,它们是关系运算、或 逻辑运算结果,也是逻辑函数的运算结果。 字符类型(char)可以用来保存字符与字符串。MATLAB 中没有设置字符 串类型,但是可以用 char 类型的数组来表示一个字符串。多个字符串可以用 char 类型的二维数组来表示,只要这个字符串的长度相同就行,如果长度不 同可以使用 cell 数组来表示。比如 m 个长度为 n 的字符串可以用一个 char 类 型的 m n 数组来表示。 例题 3 下面命令产生一个 5*9 的字符数组 s,它表示 5 个长度不同字符 串: >>s=char('A','rolling','stone','gathers','momentum.') 由于字符串不等长,MATLAB 将自动为每个字符串尾部增加空格来补成长度 相同的字符串,使得每个字符串长度都为 9 个字符,因为最长串为 9 个字符。 这种方法生成的字符数组称为衬垫数组。比如:第 3 个字符串可以用命令得 到: >>s3=s(3,:) 用 whos 命令可以看出 s3 是一个 1*9 的字符数组,而不是 1*5 字符数组。 例题 4 多个不等长字符串也可以使用 cell 数组来生成, 这种方法生成的数 组不必在尾部衬垫空格。如下命令可生成一个 cell 字符数组: >>cs={'A';'rolling';'stone';'gathers';'momentum.'} 比如:第 3 个字符串可以用命令得到: >>s3=cs(3) 用 whos 命令可以看出 s3 是一个 1*5 字符数组。 数值类型只有两种单精度与双精度浮点类型,所有 MATLAB 的运算都是

MATLAB程序设计教程总结

MATLAB程序设计教程总结

MATLAB程序设计教程总结MATLAB程序设计是一项广泛应用于科学计算、工程仿真、数据分析和可视化等领域的编程语言和环境。

它以其简单易用、高效快捷的特点,受到了众多研究者、工程师和学生的喜爱。

下面是对MATLAB程序设计教程的总结。

整体结构:MATLAB程序一般由多个函数文件和脚本文件组成,其中主要的计算功能和算法实现都在函数文件中完成,而脚本文件主要用于调用和展示函数文件的功能。

1. 变量和数据类型:MATLAB中的变量是不需要事先声明的,可以根据需要直接赋值创建。

常用的数据类型有数值型、字符串、逻辑型和结构数组等。

数值型包括整型、浮点型和复数型,可以进行基本的算术运算,并且具有丰富的内置数学函数。

2. 控制流程:MATLAB中的控制流程语句包括条件语句和循环语句。

条件语句包括if-else语句和switch-case语句,用于根据不同的条件执行不同的代码块。

循环语句包括for循环和while循环,用于重复执行某个代码块。

3. 函数和脚本:函数是MATLAB程序设计的核心,用于封装和重复使用代码。

函数文件以.m为后缀名,包含函数名、输入参数和输出参数等。

脚本文件以.m为后缀名,也是一段可执行的MATLAB代码,主要用于调用和展示函数文件中的功能。

4. 矩阵和向量运算:MATLAB以矩阵和向量为基本的数据结构,支持矩阵和向量的运算和操作。

矩阵和向量运算可以使用MATLAB提供的丰富的运算符和函数,如加法、减法、乘法、除法、转置、逆矩阵、特征值等。

5. 图形绘制和数据可视化:MATLAB提供了强大的图形绘制功能,可以用于生成各种类型的二维和三维图形。

可以通过简单的命令和函数实现数据的可视化,如线图、散点图、柱状图、三维图等。

同时,还可以通过设置图形属性和样式来美化图形的效果。

6. 文件输入输出和数据处理:MATLAB可以进行文件的读写操作,包括文本文件、二进制文件、图像文件等。

可以使用内置的函数读取和处理数据文件,进行数据分析和处理。

matlab教程(全)09Matlab程序设计

matlab教程(全)09Matlab程序设计

2020/11/8
Application of Matlab Language
14
5.5 Matlab矩阵分析与处理
5.5.1 特殊矩阵 常见的特殊矩阵有零矩阵、幺矩阵、单位矩阵等,这类特殊矩阵在应用
中具有通用性。 1、通用的特殊矩阵 常用的产生通用殊矩阵的函数有: zeros:产生全0矩阵(零矩阵)。 ones: 产生全1矩阵(幺矩阵)。 eye: 产生单位矩阵。 rand:产生0~1间均匀分布的随机矩阵。 randn:产生均值为0,方差为1的标准正态分布随机矩阵。
5.4.1 程序调试概述 一般说来,应用程序的错误有两类,一类是语法错误,另一类是运行时
的错误。语法错误,给出相应的错误信息,并标出错误在程序中的行 号。例如:输入下列程序: A = 87;
B = 9.3;
C = A+*B; 系统将给出错误信息:
??? Error: File: Untitled1.m Line: 3 Column: 7
2020/11/8
Application of Matlab Language
4
说明:
将以上函数文件以文件名fcircle.m保存,然后在命令窗口调用。
[s,p] = fcircle(10) 输出结果是: s=
314.1593 p=
62.8319 采用help命令或lookfor命令可以显示出注释说明部分的内容。 help fcircle 屏幕显示
进行存取和修改。
全局变量用global命令定义,格式为:
global 变量名
例5.13 全局变量应用示例。
先建立函数文件wadd.m,该函数将输入的参数加权相加:
function f = wadd(x,y)

实战matlab并行程序设计

实战matlab并行程序设计

实战matlab并行程序设计MATLAB并行程序设计是一种利用MATLAB的并行计算工具箱来提高计算效率的技术。

在处理大规模数据集或复杂算法时,传统的串行计算方式可能效率低下,而并行程序设计可以显著提升处理速度。

以下是MATLAB并行程序设计的一些关键概念和步骤。

1. 并行计算基础并行计算指的是同时使用多个处理器或核心来执行计算任务。

MATLAB并行程序设计主要依赖于MATLAB的Parallel Computing Toolbox。

2. 环境配置在开始并行程序设计之前,需要确保MATLAB安装了Parallel Computing Toolbox,并且计算机上安装了MATLAB的并行计算服务器。

3. 并行池的创建和管理并行池是执行并行任务的工作单元集合。

MATLAB提供了`parpool`和`delete(gcp('nocreate'))`函数来创建和管理并行池。

```matlab% 创建并行池parpool;% 删除并行池delete(gcp('nocreate'));```4. 并行计算函数MATLAB提供了多种并行计算函数,如`parfor`、`parfeval`、`parfor`等。

`parfor`是最常见的并行循环,用于并行化for循环。

```matlab% 并行for循环parfor i = 1:N% 执行并行任务end```5. 数据分配在并行程序设计中,数据需要在不同的工作单元之间分配。

MATLAB提供了`distribute`函数来帮助实现数据的自动分配。

```matlab% 数据分配data = distribute(largeArray);```6. 并行变量在并行环境中,MATLAB支持两种类型的变量:共享变量和私有变量。

共享变量在所有工作单元中共享,而私有变量则在每个工作单元中独立。

```matlab% 声明共享变量sharedVar = 0;% 声明私有变量parfor i = 1:NlocalVar = rand;end```7. 并行任务的同步在并行程序设计中,有时需要同步不同工作单元的状态。

《MATLAB程序设计》实验指导书

《MATLAB程序设计》实验指导书

三、
实验仪器和设备
1、 计算机一台。 2、 MATLAB7.0 以上集成环境。
四、
预习要求
2
《MATLAB 程序设计》实验指导书
1、 复习 MATLAB 的启动与Байду номын сангаас出,熟悉 MATLAB 运行环境。 2、 复习 MATLAB 中矩阵的生成以及矩阵运算的基本原理。
五、
实验内容及步骤
实验内容:
1、 求下列表达式的值 1) z1
5
《MATLAB 程序设计》实验指导书
2) 函数调用 函数文件编制好后,就可调用函数进行计算了。函数调用的一般格式为 [输出实参表]=函数名(输入实参表) 注意:函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个 数一致,否则会出错。函数调用时,实参先传递给形参,然后再执行函数功能。 5、 选择结构 1) if 语句 a) 单分支 if 语句 if 条件 语句块 end b) 双分支 if 语句 if 条件 语句块 1 else 语句块 2 end c) 多分支 if 语句 if 条件 1 语句块 1 elseif 条件 2 语句块 2 …… elseif 条件 n 语句块 n else 语句块 n+1 end 2) switch 语句 switch 表达式 case 结果表 1 语句块 1 case 结果表 2 语句块 2 ……
二、
实验原理
1、 M 文件 用 MATLAB 语言编写的程序,称为 M 文件,它们的扩展名均为.m。M 文件根据 调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file) 。 2、 建立新的 M 文件 启动 MATLAB 文本编辑器有 3 种方法: 1) 单击工具栏上的“New M-File”命令按钮。 2) 从 MATLAB 主窗口的“File”菜单中选择“New”菜单项,再选择“M-file”命令。 3) 在 MATLAB 命令窗口输入命令“edit”。 3、 打开已有的 M 文件 1) 在当前目录窗口选中要打开的 M 文件,双击鼠标左键。 2) 单击 MATLAB 主窗口工具栏上的“Open File”命令按钮,再从弹出的对话框中 选择所需打开的 M 文件。 3) 从 MATLAB 主窗口的“File”菜单中选择“Open”命令,在“Open”对话框中选中 所需打开的文件。 4) 在 MATLAB 命令窗口输入命令“edit 文件名” 。 4、 函数文件 1) 函数文件的基本结构 函数文件由 function 语句引导,其基本结构为: function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意:函数名的命名规则与变量名相同。当输出形参多于一个时,应用方括号 括起来。

MATLAB程序设计基础

MATLAB程序设计基础

MATLAB程序设计基础MATLAB是一款由MathWorks公司开发的科学计算与数据可视化软件,广泛应用于工程学、数学、物理学、生物学以及金融等领域。

本文将介绍MATLAB的程序设计基础,包括变量和数据类型、运算符、控制流和函数等重要概念。

一、变量和数据类型在MATLAB中,变量是用来存储和处理数据的容器。

变量可以是不同的数据类型,包括整数、浮点数、字符、逻辑值等。

我们可以使用等号将数值或表达式赋给一个变量。

例如,可以将整数10赋给变量x:x=10;在MATLAB中,数据类型是动态的,这意味着变量的数据类型可以根据上下文自动更改。

例如,如果将浮点数赋给变量x,其数据类型将从整数变为浮点数。

二、运算符MATLAB提供了各种运算符用于数据处理和计算。

常用的数学运算符包括加法(+)、减法(-)、乘法(*)、除法(/)等。

此外,它还提供了幂运算符(^)和取余运算符(mod)等。

运算符在MATLAB中与其他高级编程语言相似。

三、控制流在程序设计中,控制流用于确定程序执行的顺序。

MATLAB中有三种主要的控制流结构:顺序结构、条件结构和循环结构。

顺序结构是指按照编写顺序从上至下执行代码的方式。

条件结构是根据条件的真假来决定程序的执行路径。

在MATLAB中,常用的条件结构有if语句和switch语句。

例如,可以使用if语句判断一个数是否为正数:if x > 0disp('x is positive');elseif x < 0disp('x is negative');elsedisp('x is zero');end循环结构是重复执行一段代码直到满足特定条件为止。

在MATLAB中,常用的循环结构有for循环和while循环。

例如,可以使用for循环输出1到10之间的所有整数:for i = 1:10disp(i);end四、函数在MATLAB中,函数是一段执行特定任务并返回结果的代码。

实验4Matlab程序设计1

实验4Matlab程序设计1

实验4 Matlab程序设计1实验目的:1、掌握建立和执行M文件的方法;2、掌握实现选择结构的方法;3、掌握实现循环结构的方法。

实验内容:1. 从键盘输入一个4位整数,按如下规则加密后输出。

加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。

2. 求分段函数的值。

2x +x-6, x <0且x式-3y = *x2—5x + 6 0Wxc 5 且x 式2及x 式3X2 _ X -1 其他用if语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y值。

3. 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

要求:(1)分别用if语句和swich语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

4. 硅谷公司员工的工资计算方法如下:(1)工作时数超过120小时者,超过部分加发15% ;(2)工作时数低于60小时者,扣发700元;(3)其余按每小时84元计发。

试编程按输入的工号和该号员工的工时数,计算应发工资。

5. 设计程序,完成两位数的加、减、乘、除四则运算。

即:输入两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。

6. 建立5X 6矩阵,要求输出矩阵的第n行元素。

当n值超过矩阵的行数时,自动转为输出矩阵的最后一行元素,并给出出错信息。

7. 产生20 个两位随机整数,输出其中小于平均数的偶数。

实验代码及实验结果1.>> a=input(' 请输入一个四位整数:');请输入一个四位整数:9988>> a1=fix(a/1000);>> a2=rem(fix(a/100),10);>> a3=rem(fix(a/10),10);>> a4=rem(a,10);>> a1=rem(a1+7,10);>> a2=rem(a2+7,10);>> a3=rem(a3+7,10);>> a4=rem(a4+7,10);>> b=a1;a1=a3;a3=b;>> b=a2;a2=a4;a4=b;>> c=a1*1000+a2*100+a3*10+a4;>> disp(c)3.>> a=input C请输入一个四位整数:一); 请输人一个四f立整數:3988 »(a/1000);>> a2=ren(fix(a/100), 10);>> a3=ren(fiK(a/10)?10);>> 血(a, ID);» al=re&(al+^ 10);>> a^rsB(a2+7f 10);>> a3=rem(a3+7? 10):>> 丑"“血(M+C 10);>> b=al:a1=a3:a3=b;» b=a2:a2=a4:a4=b,» c-al *100(Hai2*l 0(H-a3*l 0+ttl;>> disp(c)55662.x=input('请输入x的值:');if x<0 & x~=-3y=x92+x-6;elseif x>=0 & x<5 & x~=2 & x~=3y=x.A2+5.*x+6elsey=x.A2-x-1;end请输入孟的値:[-瓦-亠0,1, 2t2. E f 3, 5]7 =29. 0000 IL ODDO -I. 0000 -1.0000 1. OODO 2.7500 5. QOOD(1) if语句:a=i nput('请输入成绩:');ig.ooooif a>=90 & a<=100disp('A');elseif a>=80 & a<90disp('B');elseif a>=70 & a<80disp('C');elseif a>=60 & a<70disp('D');elseif a<60 &a>=0disp('E');elsedisp('输入有误!'); end( 2) switch 语句:a=input(' 请输入成绩:'); switch fix(a/10)case{9}disp('A');case{8}disp('B');case{7}disp('C');case{6}disp('D');case nu m2cell(2:5)disp('E')otherwisedisp('输入有误!');end请输入咸绩:80E请输入咸绩;5E请输入成绩:1212输入有误I»4.n=i nput('请输入工号:’);a=i nput('请输入工作小时数:'); if a>=120 y=a*84+a*84*0.15;elseif a<120 & a>=60y=a*84;elsey=a*84-700;disp(y);end请输入工号:30请输入工作小时数:231232。

MATLAB程序设计第一讲

MATLAB程序设计第一讲
MATLAB帮助命令包括help、lookfor。 1.help命令 在MATLAB 命令窗口中直接输入help命令 将会显示当前帮助系统中所包含的所有项 目,即搜索路径中所有的目录名称。同样, 可以通过help加函数名来显示该函数的帮助 说明。
• 2.lookfor命令 help命令只搜索出那些关键字完全匹配的结 果,lookfor命令对搜索范围内的M文件进 行关键字搜索,条件比较宽松。 lookfor命令只对M文件的第一行进行关键 字搜索。若在lookfor命令加上-all选项,则 可对M文件进行全文搜索。
2.绘图功能 MATLAB提供了两个层次的绘图操作:一 种是对图形句柄进行的低层绘图操作,另 一种是建立在低层绘图操作之上的高层绘 图操作。 利用MATLAB的高级图形命令可以轻而易 举地绘制二维、三维乃至四维图形,并可 进行图形和坐标的标识、视角和光照设计、 色彩精细控制等等。
3.编程语言 MATLAB具有程序结构控制、函数调用、 数据结构、输入输出、面向对象等程序语 言特征,而且简单易学、编程效率高。 4.MATLAB工具箱 MATLAB包含两部分内容:基本部分和各 种可选的工具箱。 MATLAB工具箱分为两大类:功能性工具 箱和学科性工具箱。
1.5 变量和数据操作
1.5.1 变量与赋值 1.变量命名规则 (i).变量名必须是以字母开头,后可接字 母、数字或下划线; (ii). 变量名最多不超过63个字符; (iii).变量名严格区分字母的大小写。
2.赋值语句 (1) 变量=表达式 (2) 表达式 其中表达式是用运算符将有关运算量连接 起来的式子,其结果可以是一个数值,也 可以是一个矩阵。 • MATLAB书写表达式的规则与“手写算式” 差不多相同。 • 如果一个指令过长可以在结尾加上...(代表 此行指 令与下一行连续)。

实验1 MATLAB使用方法和程序设计

实验1 MATLAB使用方法和程序设计

实验1MATLAB 使用方法和程序设计一、实验目的1、掌握MATLAB 软件使用的基本方法。

2、熟悉MATLAB 的数据表示、基本运算和程序控制语句。

3、熟悉MATLAB 绘图命令及基本绘图控制。

4、熟悉MATLAB 程序设计的基本方法。

二、实验内容1.帮助命令使用Help 命令,查找sqrt (开方)函数的使用方法。

2、矩阵运算(1)矩阵乘法已知A=[12;34];B=[55;78];求A^2*B 。

(2)矩阵除法已知A=[123;456;789];B=[100;020;003];求A\B,A/B 。

(3)矩阵的转置及共轭转置已知A=[5+i ,2-i ,1;6*i ,4,9-i];求A.’,A’。

(4)使用冒号选出指定元素已知A=[123;456;789];求A 中第3列前2个元素;A 中所有列第2,3行的元素。

(5)方括号[]用magic 函数生成一个4阶魔术矩阵,删除该矩阵的第四列。

3、多项式(1)求多项式p(x)=x 3-2x-4的根。

(2)求f (x)=(cos x)2的一次导数。

(3)求微分方程的通解,并验证。

4、基本绘图命令(1)绘制余弦曲线cost =y ,]2,0[π∈t 。

(2)在同一坐标系中绘制余弦曲线0.25)-cos(t =y 和正弦曲线)5.0sin(-=t y ,]2,0[π∈t (3)用plot3函数绘制三维螺线:22xdy xy xe dx -+= sin()cos()x t y t z t =⎧⎪=⎨⎪=⎩(0<t <20)5、基本绘图控制4,0[ 区间上的X1=10sint曲线,并要求绘制](1)线形为点划线,颜色为红色,数据点标记为加号。

(2)使用axis坐标轴控制:显示范围、刻度线、比例、网络线。

(3)使用title、text、xlabel、legend等函数进行标注控制:坐标轴名称、标题、相应文本。

6、MATLAB基本程序设计(1)编写命令文件:计算1+2+…+n<2000时的最大n值。

第四章 MATLAB程序设计

第四章 MATLAB程序设计

第二节 选择结构
2.1 if 语句
在MATLAB中,if 语句有三种格式
1、单分支if 语句
语句格式为: if 条件 语句组 end 当逻辑表达式的值为真时,执行该结 构中的执行语句,执行完之后继续向 下进行;若为假,则跳过结构中的内 容,向下执行。
实例分析
例4.4 当x是整数矩阵时,输出x的值。
程序3:
x=input('输入x='); y=cos(x+1)+sqrt(x*x+1);
u=cos(x+1);
v= sqrt(x*x+1); y=u+v end if x~=10
if x~=10
y=x*sqrt(x+sqrt(x));
end
y
y=x*sqrt(x+sqrt(x))
end
第二节 选择结构
if 条件1 语句组1 elseif 条件2 语句组2 …… elseif 条件m 语句组m else if-elseif的执行方式为:如果逻辑表达式1 的值为真,则执行语句1;如果为假,则判 语句组m+1 断逻辑表达式2,如果为真,则执行语句2, end 否则向下执行。
3、多分支if语句
实例分析
y
实例分析
例4.11 求
ye
0.5 x
sin( x

6
)
定积分。
a=0;b=3*pi;n=1000; h=(b-a)/n; x=a:h:b; f=exp(-0.5*x).*sin(x+pi/6);
for i=1:n
s(i)= (f(i)+f(i+1))*h/2; end s=sum(s)

实验三MATLAB的程序设计

实验三MATLAB的程序设计
error('k>n,put in again!!');
end
ifk==0
Y=1;
elseifk==1&&n==1
Y=1;
elseifk<=n
Y=(n/k)*c(k-1,n-1);
end
程序测试:
>> c(0,0)
ans =
1
>> c(0,1)
ans =
1
>> c(3,4)
ans =
4
7,计算以下和式,并估计其求和公式以及验证:
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k;
end
测试:
>> s(3)
ans =
6
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^2;
end
测试:
>> s(3)
ans =
14
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^3;
end
测试:
>> s(2)
4
>> Joseph0(7,4)
2
11,求出 之间的所有素数;
M函数文件:
functionout = nprimes(N)
A= [1:N];
A(1)=0;
i=2;
whilei<= floor(sqrt(N));
forj= 2:fix(N/i)
A(i*j) = 0;
end;
i = A(find(A>i,1));

第6章 MATLAB程序设计

第6章 MATLAB程序设计

如果用户调用toc时不指定输出参数t, 例如: >> tic >> toc elapsed_time = 4.0160 函数在命令窗口显示函数工作空间变量 elapsed_time 的值,但在MATLAB命令工作空间里不给输出参数t赋任 何值,也不创建变量t。
如果如果用户调用toc时指定输出参数t,例如: >> tic >> out=toc out = 2.8140 则以变量out的形式返回到命令窗口,并在 MATLAB命令工作空间里创建变量out。
function y = linspace(d1, d2, n) %LINSPACE Linearly spaced vector. if nargin == 2 n = 100; end n = double(n); y = [d1+(0:n-2)*(d2d1)/(floor(n)-1) d2];
function t=toc % TOC Read the stopwatch timer.
Global TICTOC If nargout<1 elapsed_time=etime(clock,TICTO C) else t=etime(clock,TICTOC); end
(8)全局变量可以为编程带来某些方便,但却破坏了函 数对变量的封装,所以在实际编程中,无论什么时候都应 尽量避免使用全局变量。如果一定要用全局变量,建议全 局变量名要长、采用大写字母,并有选择地以首次出现的 M文件的名字开头,使全局变量之间不必要的互作用减至 最小。 (9)MATLAB以搜寻脚本文件的同样方式搜寻函数文件。 例如,输入>>cow,MATLAB首先认为cow是一个变 量;如果它不是,那么MATLAB认为它是一个内置函数; 如果还不是,MATLAB检查当前cow.m的目录或文件夹; 如果仍然不是,MATLAB就检查cow.m在MATLAB搜 寻路径上的所有目录或文件夹。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
disp(X)
输出变量 X 的值,X 可以是数值矩阵或字符串
一次只能输出一个变量
例: >> A='Hello, Tom!';
>> disp(A) >> B=[1 2 3; 4 5 6; 7 8 9]; >> disp(B)
19
fprintf
数据的格式化输出:fprintf
fprintf(fid,format,variables)
>> isfinite(5) >> isinf(5)
14
运算优先级
括号 幂,点幂 正号,负号,逻辑非 乘,除,点乘,点除 加,减 冒号运算 关系运算
& | && ||


15
本讲主要内容
M 文件 Matlab 编程基础
算术运算、关系运算、逻辑运算 控制结构:
顺序结构:数据输入输出(input、disp、fprintf 等) 选择结构:if 语句、switch 语句 循环结构:for 循环、while 循环
13
一些测试函数
测试函数
isfinite(x) isinf(x) isnan(x) isreal(x) isstr(x) isempty(x)
若 x 为有限值,返回真值 1 若 x 为无穷大,返回真值 1 若 x 为不定值,返回真值 1 若 x 无虚部,返回真值 1 若 x 为一个字符串,返回真值 1 若 x 为空,返回真值 1
disp(abs(c)-abs(‘0’)); else
disp(c); end
27
switch 语句
根据表达式的不同取值,分别执行不同的语句
switch expr(表达式) case value1(表达式1) 语句组1 case value2(表达式2) 语句组2 ... ... case valuem(表达式m) 语句组m otherwise 语句组
%价格大于等于5000
rate=14/100;
end
price=price*(1-rate)%输出商品的实际销售价格
31
循环结构
循环结构 是按照给定的条件,重复执行指定的语句。 Matlab 用于实现循环结构的语句有 for 语句和 while 语句
32
for 循环
循环变量
for var = expr 循环体
26
if 条件语句
解:对应的程序如下:
c=input(‘请输入一个字符’,‘s’); if c>=‘A’&c<=‘Z’
disp(setstr(abs(c)+abs(‘a’)-abs(‘A’))); elseif c>=‘a’&c<=‘z’
disp(setstr(abs(c)-abs(‘a’)+abs(‘A’))); elseif c>=‘0’&c<=‘9’
A & B 等价于 and(A,B) A | B 等价于 or(A,B) ~ A 等价于 not(A)
&&
与 (Short-circuit AND)
||
或 (Short-circuit OR)
11
逻辑运算表
运算对象 与

A
B A&B A|B0 Nhomakorabea0
0
0
0
1
0
1
1
0
0
1
1
1
1
1

异或
~A Xor(A,B)
case num2cell(5:9) %价格大于等于500小于1000
rate=5/100;
case num2cell(10:24) %价格大于等于1000小于2500
rate=8/100;
case num2cell(25:49) %价格大于等于2500小于5000
rate=10/100;
otherwise
在命令窗口中输入 f2c,即可执行该 M 文件
M文件运行所产生的变量都驻留在 Matlab 当前工作空间 百分号是注释符 M文件必须在当前工作目录下才能运行
7
本讲主要内容
M 文件 Matlab 编程基础
算术运算、关系运算、逻辑运算 控制结构:顺序结构、选择结构、循环结构
8
关系运算
else 语句组2
end
24
if 条件语句
多分支结构
if expr1 (条件1) 语句组1
elseif expr2 (条件2) 语句组2
... ... elseif exprm (条件m)
语句组m else
语句组
end
25
if 条件语句
例1 输入一个字符,若为大写 字母,则输出其对应的小写字 母;若为小写字母则输出其对 应的大写字母;若为数字字符 则输出其对应的数值,若为其 它字符则原样输出。
3
M 文件
M 文件介绍
用 Matlab 语言编写的程序称为 M 文件 M 文件以 .m 为扩展名 M 文件是由若干 Matlab 命令组合在一起构成的,它可 以完成某些操作,也可以实现某种算法
M 文件分类(根据调用方式的不同)
Script:脚本文件/命令文件 Function:函数文件
编程方式:新建一个 M 文 件 myprg1.m,内容如下:
u=[0:pi/60:2*pi]; v=[0:pi/60:pi]; [U,V]=meshgrid(u,v); R=3; X=R*sin(V).*cos(U); Y=R*sin(V).*sin(U); Z=R*cos(V); mesh(X,Y,Z); axis equal;
按指定的格式将变量的值输出到屏幕或指定的文件 fid 为文件句柄,若缺省,则输出到屏幕上 format 用来指定数据输出时采用的格式,包含:
普通字符串、格式字符串、转义字符
▪ %d (整数 ) ▪ %e (实数:科学计数法形式 ) ▪ %f (实数:小数形式) ▪ %g (由系统自动选取上述两种格式之一) ▪ %s ( 输出字符串)
关系运算符
< 小于 > 大于 == 等于
<= 小于等于 >= 大于等于 ~= 不等于
比较大小,如果结论是 真 则返回 1 ,否则返回 0
注意 = = 与 = 的区别
关系操作符可以比较两个同样大小的数组,或用来 比较一个数组和一个标量,在后一种情况,标量和数 组中的每一个元素相比较,比较结果与数组大小一样
\n ( 换行 ) \t ( 制表符 ) \b ( 退格 )
\\ ( 反斜杆 ) %% ( 百分号 )
20
fprintf
例: >> a='Hello';
>> b=2.4; >> c=100*pi; >> fprintf('a=%s, b=%f, c=%e\n',a,b,c)
format 中的格式字符串要与输出变量一一对应
可以直接运行的M文件
4
M 文件
M 文件的创建的与编辑
M 文件是文本文件,可以用任何文本编辑器来建立和编辑, 通常使用 Matlab 自带的 M 文件编辑器
新建一个 M 文件
菜单操作 ( File New M-File ) 命令操作 ( edit M 文件名 ) 命令按钮 ( 快捷键 )
otherwise 指令可以不出现
switch 后面的表达式 expression 的值可以是一个 标量或字符串
29
switch 语句
例2 某商场对顾客所购买的商品实行打折销售,标 准如下(商品价格用price来表示):
➢ price<200 ➢ 200=<price<500 ➢ 500=<price<1000 ➢ 1000=<price<2500 ➢ 2500=<price<5000 ➢ 5000=<price
1
0
1
1
0
1
0
0
在 Matlab 中,0 表示 “假”,非零表示 “真”
12
逻辑运算
逻辑运算函数:all、any
any(x)
如果向量 X 中存在非零元素,则返回 1, 否则返回 0
all(x)
如果向量 X 中所有元素都非零,则返回 1, 否则返回 0
若 x 为矩阵,则 any 和 all 按列运算, 返回一个 0-1 向量
若想强行终止正常运行的程序,可以使用 Ctrl+c
22
选择结构
选择结构 是根据给定的条件成立或不成立,分别执 行不同的语句。Matlab 用于实现选择结构的语句有 if 语句和 switch 语句。
23
if 条件语句
单分支结构
if expr(条件) 语句组
end
双分支结构
if expr(条件) 语句组1
没有折扣
3%折扣 5%折扣 8%折扣 10%折扣 14%折扣
30
switch 语句
解:程序如下
price=input(‘请输入商品价格’);
swich fix(price/100)
case{0,1}
%价格小于200
rate=0;
case{2,3,4}
%价格大于等于200小于500
rate=3/100;
数学实验
数学软件 Matlab
Matlab 编程基础
1
本讲主要内容
M 文件 Matlab 编程基础
算术运算、关系运算、逻辑运算 控制结构:顺序结构、选择结构、循环结构
2
Matlab 编程入门
Matlab 编程简介
相关文档
最新文档