Matlab第二讲
Matlab第二讲
2.2.3字符串 在Matlab中,字符串是用单引号括起来的字 符序列。MATLAB将字符串当作一个行向 量,每个元素对应一个字符。 例:>>str1=‘hello’ >>str2=‘I like ’’Matlab’’’ %重复单引号 来输入含单引号的字符串须 >>str3=‘你好!’ Matlab存储字符串,一个字符占用2 Byte。
2.2 矩阵和数组
2.2.1矩阵输入 Matlab中的矩阵表示的基本规则: (1)矩阵元素用“[ ]”括住; (2)每行内的元素用逗号或空格隔开; (3)行与行之间用分号或回车键隔开; (4)元素可以是数值或表达式;
通过显式元素输入矩阵: 例:>>c=[1 2;3 4;5 6]或c=[1,2;3,4;5,6] 通过语句生成矩阵: 语句 from: step: to(开始值: 步长: 结束值) step省略时默认步长为1;step省略或step>0 而from>to时为空矩阵,step<0而from<to时 也为空矩阵。 例:x1=2:5 x2=2:0.5:5 x3=5:-1:2 x4=2:-1:3 x5=2:-1:0.5 x6=[1:2:5;1:3:7]
(3)矩阵和数组的除法 矩阵:A\B和A/B分别表示左除和右除。 X=A\B是方程A*X=B的解,A\B=A-1*B X=A/B是方程X*A=B的解,A/B=A*B-1 数组:A.\B和A./B分别表示数组的左除和右除, 表示数组相应元素相除。 例:>>A=[2 -1 3;3 1 -5;4 -1 1] >>B=[5;5;9] >>X=A\B (4)矩阵和数组的乘方 P48 矩阵:A^B 数组:A.^B
第二讲MATLAB语言概述
Matlab工作环境界面 工作环境界面
2、MATLAB工具栏
用 MATLAB 的 M 文件编辑器新建一个 M 文件; 用 MATLAB 编辑器打开一个文件; 将选中的内容剪切到剪贴板; 将选中的内容复制到剪贴板; 将剪贴板中的内容粘贴到光标指定的位置; 撤消最近一次的操作; 打开 Simulink 浏览器; 打开 MATLAB 帮助窗口。 帮助窗口。 当前工作路径
x = -pi:0.01:pi; plot(x,sin(x)) 图形窗口上方的按钮, 图形窗口上方的按钮,可以用来对图形进行修改与注释
1.3.7 文本编辑窗口
新建 logo 打开
1.4 演示程序
>>demo >>wrldtrv
Hale Waihona Puke Matlab工作环境界面 工作环境界面
1、MATLAB 菜单项 、
File( 文件)菜单 Edit( 编辑)菜单 View( 视图)菜单 Window( 窗口)菜单 Web( 连网信息) Help( 帮助)菜单
matlab\elfun - Elementary math functions. 初等数学函数库 matlab\specfun - Specialized math functions. 特殊数学函数库 matlab\matfun - Matrix functions - numerical linear algebra. 数值线性代数库 matlab\datafun - Data analysis and Fourier transforms.数据分析库 数据分析库 matlab\polyfun - Interpolation and polynomials. 多项式插值库 matlab\funfun - Function functions and ODE solvers. 微分方程库 matlab\sparfun - Sparse matrices. 稀疏矩阵函数库 matlab\graph2d - Two dimensional graphs. 二维图形库 matlab\graph3d - Three dimensional graphs. 三维图形库 matlab\graphics - Handle Graphics. 通用函数库 matlab\uitools - Graphical user interface tools. 用户界面图形库 matlab\strfun 字符串函数库
MATLAB课件-第二讲
A(r,c)
访问A的由r指定行和c指定列上元素构 成的子数组;r,c可取多行或列
A(r, :)
访问A的r指定行上全部元素构成的子 数组;此处冒号表示全部列
A(:,c)
访问A的c指定列上全部元素的子数 组;此处冒号表示全部行
【例1】单下标的使用 >>a=zeros(2, 5); >>a(:)=-1:8
【例4】>> diag (diag(D)) %外面diag含义为利用一维数组生 成对角阵
ans= 100 010 001
【例5】>>命令栏输入:magic(3) ans =
816 357 492 说明:magic(3)生成一3x3魔方矩阵,即该矩阵横、竖、斜 各列元素总和相等
2.4 数组操作
常见的数组操作函数
命令 permute repmat
reshape
flipud
fliplr
rot90
含义
重排数组的维度次序
按指定的“行数、列数”铺放模块数组,以形成更大 的数组
在总元素数不变的前提下,改变数组的“行数、列 数” 以数组“水平中线”为对称轴,交换上下对称位置上 的数组元素
以数组“垂直中线”为对称轴,交换左右对称位置上 的数组元素
>>a([1 3 5 5 3 1])
ans = 0 5 10 10 5 0
>>a(6)
??? Index exceeds matrix dimensions. 索引超出矩阵维度。 下标值超出了数组的维数,导致错误
>>a(2.1)
??? Subscript indices must either be real positive integers or logicals.
MATLAB讲义第2讲
2013-7-27
2.2 命令窗口 (续)
>>who
Your variables are: circle_len area radius
>>whos
Name Size Bytes Class area 1x1 8 double array circle_len 1x1 8 double array radius 1x1 8 double array Grand total is 3 elements using 24 bytes
Matlab Language
20
பைடு நூலகம்
2013-7-27
2.1 数值表示、变量及表达式 (续)
Matlab预定义的变量
变量名 ans eps pi inf i或j NaN 意义 最近的计算结果的变量名 MATLAB定义的正的极小值=2.2204e-16 圆周率π ∞值,无限大 虚数单元,sqrt(-1) 非数,0/0、∞/ ∞
11
2.6 获取在线帮助
MATLAB提供的帮助信息有两类
简单纯文本帮助信息
help
lookfor(条件比较宽松)例:inverse
窗口式综合帮助信息(文字、公式、图形)
doc
helpwin
2013-7-27
Matlab Language
12
〘功能演示-1〙求方程的根
5 3 2 求方程 2 x 3 x 71 x 9 x 13 0 的全部根。
2013-7-27
Matlab Language
6
2.2 命令窗口 (续)
数值显示格式设置 缺省显示格式:简洁的短(short g,7位有效数字)格式 窗口命令及语法格式:format 显示格式关键字 如:format long %15位数字显示 常见通用命令 命令 clc clear who或whos dir cd type help或doc quit或exit
第二讲MATLAB的程序设计和M文件
第二讲MATLAB的程序设计和M文件在MATLAB中,程序设计主要是通过编写和运行M文件来实现。
M文件是MATLAB的主要代码文件,用于实现不同功能的程序,可以包含变量定义、算法实现、函数调用和图形绘制等。
下面将介绍MATLAB的程序设计和M文件的基本知识。
MATLAB的程序设计主要包括如下几个方面:1.变量和数据类型:在M文件中,可以使用不同的变量类型存储数据,如整型、浮点型、字符型等。
不同的变量类型在MATLAB中有不同的表示方法和功能。
2.运算和表达式:在M文件中,可以使用常见的数学运算符(如加减乘除、指数等)进行计算。
同时,也可以使用逻辑运算符(如与、或、非等)进行逻辑运算。
3. 条件语句:在M文件中,可以使用条件语句实现根据不同的条件执行不同的操作。
MATLAB中的条件语句主要有if语句和switch语句,通过判断条件的真假来决定执行路径。
4. 循环语句:在M文件中,可以使用循环语句实现对一段代码的重复执行。
MATLAB中的循环语句主要有for循环、while循环和do-while循环。
5.函数的定义和调用:在M文件中,可以通过定义函数来实现特定功能的封装。
函数可以包含输入参数和输出参数,通过参数的传递来实现数据的交互和函数的调用。
1.M文件的命名和保存:M文件的命名应该具有描述性,以体现文件中代码的功能。
M文件的保存格式是以.m为文件扩展名。
2.M文件的结构:在M文件中,一般会包含变量定义、函数定义和主程序等部分。
变量定义部分用于声明和初始化变量,函数定义部分用于定义自定义函数,而主程序部分用于调用函数和执行主要功能。
3.代码注释:为了提高代码的可读性和可维护性,需要在M文件中添加注释。
注释可以用于解释代码的目的和思路,以及描述变量、函数和算法等的作用和实现方法。
4.代码风格:为了代码的一致性和可读性,需要遵循一定的代码风格规范。
例如,可以在操作符周围留有空格,使用一致的缩进和命名规则,避免使用不必要的缩写等。
第二讲 MATLAB基础PPT课件
3、MATLAB常用用户文件格式
• M文件:程序文件。文件扩展名为.m。可在File 菜单中创建或打开。也可从历史命令窗口生成。
• MAT文件:数据文件。文件扩展名为.mat。用 于保存工作空间中(内存中)的数据变量。可 用“save”命令生成。
• FIGURE文件:图形文件。文件扩展名为.fig。 可由MATLAB的绘图命令生成,也可在File菜 单中创建或打开。
save — 将全部变量保存到数据文件中 save a b— 将变量a,b保存到数据文件中 save a b-append— 将变量a,b添加到中 clear —— 从内存中删除变量 clear a b —— 从内存中删除变量a,b (clc —— 清屏 ) who —— 显示内存中的变量(只显示变量名) load —— 将变量从 .mat 数据文件中装入内存
Current Directory Browser 窗口
• Workspace Browser(工作空间浏览器窗口)
也是在左上方,可与目录浏览器窗口切换。又称内存浏 览器窗口。用于显示MATLAB工作空间中所有变量的变量名、 数据结构、数据类型、大小和字节数。并可以对变量进行观 察、编辑、提取、保存和图形显示等操作。
Clear Command History % 清除历史命令窗口中的内容
Clear Workspace
% 清除工作空间中的内容
• Desktop: Undock Workspace % 将工作空间窗口从主界面中分离
…ቤተ መጻሕፍቲ ባይዱ
Desktop Layout
% 主界面布局
Command Window % 打开(或关闭)命令窗口
在左上方。可显示当前目录下的M(程序)、 FIG(图形)、 MAT(数据)等文件信息,如文件 类型、文件名、最后修改时间等,并可复制、编辑 和运行M文件以及装载MAT数据文件。选中窗口中 列出的某个文件,单击鼠标右键,即可对其进行打 开、运行、装载等处理和创建、重命名、删除、复 制等常规操作。
MATLAB第二讲__数值计算和符号计算
(4)数值运算中必须先对变量赋值;符号运算无须事先对变 量赋值,但必须先定义,运算结果以标准的符号表达 式形式给出。
Matlab基础应用 21
2.2.2 符号运算中的运算符
(1)基本运算符 符号矩阵:‚+”,‚-”,‚*‛,‚\”, ‚/”, ‚^”, ‚ ’ ” 符号数组:‚.*”,‚./”,‚.\‛,‚.^”, ‚.’ ” (2)关系运算符 运算符只有‚==”,‚~=”。
Matlab基础应用 7
1.3.4 多项式乘除运算(续)
例4: a(x)=x2+2x+3; b(x)=4x2+5x;求c=a(x)*b(x)。 解: >>a=[1 2 3];b=[4 5 0]; >>c=conv(a,b) c= 4 13 22 15 0 >>[d,r]=deconv(c,a) d= 4 5 0 r= 0 0 0 0 0
注意: 方法一只创建了符号表达式,没有创建符号变量; 而方法二既创建了符号表达式,又创建符号变量.
Matlab基础应用 19
2.1.3 创建符号矩阵
使用sym和syms命令创建
例4: A=sym(‘[a,b;c,d]’) A= [ a, b] [ c, d] syms f g h k B=[f,g;h,k] B=
%方法二
Name Size Bytes Class a 1x1 126 sym object b 1x1 126 sym object c 1x1 126 sym object f2 1x1 146 sym object x 1x1 126 sym object Grand total is 20 elements using 650 bytes
matlab-第2讲
函数使用说明: (1) 三角函数以弧度为单位计算。 (2) abs函数可以求实数的绝对值、复数的模、字符串的ASCII 码值. (3) 用于取整的函数有fix、floor、ceil、round,要注意它们的 区别。
• • • •
fix():向0方向靠拢取整 floor():向左取整,即向负无穷方向取整 ceil():返回大于等于指定表达式的最小整数,即向正无穷方向取整 round ():四舍五入 rem(x,y)=x-y.*fix(x./y) mod(x,y) )=x-y.*floor(x./y) rem(x,y)和mod(x,y)要求x,y必须为相同大 小的实矩阵或为标量。
A=
1 1 1 1 8 4 2 1 27 9 3 1 125 25 5 1
(3) 希尔伯特矩阵 在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。 使用一般方法求逆会因为原始数据的微小扰动而产生不可靠 的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆 的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。
2.1.3 内存变量的管理
1.内存变量的删除与修改 工作空间窗口(Workspace)专门用于内存变量的管理。在 Workspace窗口中可以显示所有内存变量的属性。 当选中某些变量后,再单击Delete按钮,就能删除这些变 量。 当选中某些变量后,再单击Open按钮,将进入变量编辑器。 通过变量编辑器可以直接观察变量中的具体元素,也可修 改变量中的具体元素。
1 4 2 5 3 6
Ex:1. 写出完成下列操作的命令。
a. b.
c.
d. e.
将矩阵A 第2~5 行中的第1,3,5列元素赋给矩阵B。 删除矩阵A的第7号元素。 将矩阵A的每个元素值加30。 求矩阵A的大小和维数(提示:用size函数和ndims函数)。 将含有12个元素的向量x转换成3×4矩阵。
matlab 第二讲
字符与字符串运算是各种高级语言不可缺少的 部分,Matlab具有强大的字符处理能力。
字符串和字符数组
字符串必须用单引号括起来
str1='Matrix Laboratory'
字符串是由多个字符组成的字符行向量
str2=['M','a','t','r','i','x']
字符数组必须是方的,即每行的字符个数必须相等
>> x=[0:0.2:2*pi];
红色、虚线、 离散点用加号
>> plot(x,cos(x));
>> plot(x,cos(x),’r+:’); 属性可以全部指定,也
>> plot(x,cos(x),’bd-.’); 可以只指定其中某几个 >> plot(x,cos(x),’k*-’); 排列顺序任意
例:>> x=[0:pi/10:2*pi];
>> y=sin(x); >> plot(x,y);
Matlab 二维作图
基本形式
plot(x,y) x, y 都是向量,则以 x 中元素为横坐标, y 中元素为 纵坐标作平面曲线。此时 x, y 必须具有相同长度。 x, y 都是矩阵,则将 x 的列和 y 中相应的列相组合, 绘制多条平面曲线。此时 x, y 必须具有相同的大小。 x 是向量, y 是矩阵,若 x 的长度与 y 的行数相等, 则将 x 与 y 中的各列相对应,绘制多条平面曲线;否 则,若 x 的长度与 y 的列数相等,则将 x 与 y 中的各 行相对应,绘制多条平面曲线。此时 x 的长度必须等 于 y 的行数或列数。
Matlab软件入门(第二讲)PPT课件
Matlab软件入门讲义
第14页
符号函数(显函数、隐函数和参数方程)画图
(1) ezplot
ezplot(‘f(x)’,[a,b]) 表示在a<x<b绘制显函数f=f(x)的函数图
ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax]) 表示在区间xmin<x<xmax和 ymin<y<ymax绘制
(4)一球从100米高度自由落下,每次落地后反跳回原高度的一 半,再落下. 求它在第10次落地时,共经过多少米?第10次反弹有 多高?
(5)编程计算圆周率,尽量计算的更精确。
1111
4 357
数学建模工作室 2020/11/22
Matlab软件入门讲义
第2页
作业的解(1)
• a=[3 4 56 4 432 23 7 45 6 8 4 35 8 24 2]
数学建模工作室 2020/11/22
Matlab软件入门讲义
第8页
作业的解(5)
• tic
• A=10000000;
• t=0;
• flag=1;
• for i=1:2:A
• t=t+flag/i;
• if(flag>0)
•
flag=-1;
• else
•
flag=1;
• end
• end
• t*4
• [A I]=sort(a)
• 计算结果:
• a =3 4 56 4 432 23 7 45 6 8 4 35 8 24 2 • A = 2 3 4 4 4 6 7 8 8 23 24 35 45 56 432 • I = 15 1 2 4 11 9 7 10 13 6 14 12 8 3 5
第2讲 MATLAB初步
(2) 范得蒙矩阵 范得蒙(Vandermonde)矩阵最后一列全为1, 倒数第二列为一个指定的向量,其他各列 是其后列与倒数第二列的点乘积。可以用 一个指定向量生成一个范得蒙矩阵。在 MATLAB中,函数vander(V)生成以向量V 为基础向量的范得蒙矩阵。例如, A=vander([1;2;3;5])即可得到上述范得蒙矩 阵。
各种 format 格式
格式 解释 例
format
format short format long
短格式(缺省显示格式),同short
短格式(缺省显示格式),只显示5位 长格式,双精度数15位,单精度数7位
3.1416
3.1416 3.14159265358979
format short e
format long e format short g format long g format compact format loose
(5) 伴随矩阵 MATLAB生成伴随矩阵的函数是 compan(p),其中p是一个多项式的系数向 量,高次幂系数排在前,低次幂排在后。 例如,为了求多项式的x3-7x+6的伴随矩阵, 可使用命令: p=[1,0,-7,6]; compan(p)
(6) 帕斯卡矩阵 我们知道,二次项(x+y)n展开后的系数随n 的增大组成一个三角形表,称为杨辉三角 形。由杨辉三角形表组成的矩阵称为帕斯 卡(Pascal)矩阵。函数pascal(n)生成一个n阶 帕斯卡矩阵。
2.1.3 内存变量的管理 1.内存变量的删除与修改
clear命令用于删除MATLAB工作空间中的变 量。who和whos这两个命令用于显示在 MATLAB工作空间中已经驻留的变量名清 单。who命令只显示出驻留变量的名称, whos在给出变量名的同时,还给出它们的 大小、所占字节数及数据类型等信息。
matlab7.0实用教程课件-第二讲
第二讲 Matlab数值计算
1.2 Matlab矩阵的创建
创建数组变量的一般方法
创建变量的赋值语句的一般格式 var=expression var为变量名 expression为MATLAB合法表达式
可以是单独的常数值或数值数组; 也可以由常数值、其他变量(部分或全部)、数 值数组和运算符(+、-等)构成。
【例2-1】键入并执行a2=[1 2 3;4 5 6;7 8 9] 【例2-2】键入并执行a2=[1:3;4:6;7:9] %结果同上
2015/10/25 College of Mechanical Engineering of University of South China , Hunan Hengyang
1
2
3
2
3 15
4
第二讲 Matlab数值计算
1.2 Matlab矩阵的创建
方法二:函数法(p104-107)
函数ones(生成全1矩阵)、zeros (生成全0矩阵) 、 eye(单位矩阵)、reshape(由向量重构生成矩阵)
【例2-4】创建全1的3〓3矩阵。 >> eye(2,3) >>ones(3) 【例2-5】创建全0的2〓3矩阵。 ans = >>zeros(2,3) 【例2-6】创建2〓3的单位矩阵。 1 0 0 >>eye(2,3) 思考题:若已知矩阵A,如何求与A同阶的单位
2015/10/25 College of Mechanical Engineering of University of South China , Hunan Hengyang 9
第二讲 Matlab数值计算
《MATLAB第二讲》PPT课件
37
2 参数传递
在MATLAB中,参数具有自己的专有工作空间。函数中 的参数和命令行参数不在一个空间中,它们的唯一联系 为函数的输入输出变量。输入参数在函数中是可读的, 但在函数中的任何改动不会传递回上一级空间。
35
• 下面举一个递归调用的例子 function y=factorial(k) if k>1
y=k*factorial(k-1); elseif k==1
y=1; elseif k==0;
y=1; else error('输入参数只能为非负整数') end %大家试着读读这是用来求这么的函数
36
11
1.创建m文件
• 这三行命令可以在command window中输入并且执行,但是如果想保存 起来,以便下次使用,需要编辑成m文件
12
• 2.保存m文件:File Save As
13
关于保存路径:一般默认 在安装路径matlab7\work,
也可以保存在自己需要的 路径
把这个m文件命名为graph_sin.m存放在 c:\matlab7\work中
x=0:2*pi/180:2*pi; %x为一个行向量,第一个元素为0,最后一个元素为2π,步长2π/180 y=sin(x); %y也为一个向量,每个元素是x对应元素的正弦值 plot(x,y) %画图,x中的元素为横坐标,y中相应的元素为纵坐标 %所以在本例中画的是y=sinx的图像,自变量取值[0, 2π]
19
2.1.4 函数m文件
• 一.函数m文件的几种格式及调用 • 格式1(无返回值函数) function 函数名(输入表) %称为函数头 函数体
matlab课件--第2讲-数组和矩阵
Matlab 软件实习
矩阵的创建
1) 矩阵的直接定义
键入:A=[1 2 3;4 5 6]
输出:A= 123 456
或键入:A=[1 2 3 4 5 6]
第9页,共66页。
Matlab 软件实习
>> A=[1 2 3;4 5 6;7 8 9]
A= 123 456
789
第10页,共66页。
Matlab 软件实习
第15页,共66页。
Matlab 软件实习
c. 三角矩阵
命令
triu(A) triu(A,k) tril(A) tril(A,k)
运行结果
生成一个和A维数相同的上三角矩阵。该矩 阵主对角线及以上元素取自A中相应元素。 其余元素为0。
生成一个和A维数相同的上三角矩阵。该矩 阵第k条对角线及以上元素取自A中相应元 素。其余元素为0。
max(v) min (v) sum(v) mean(v) sort(v)
求最大值
求最小值
求和
求平均值
按升序排列
第5页,共66页。
Matlab 软件实习
矩阵的创建
标量的创建
直接输入:
>>x = 7 x=
7
第6页,共66页。
Matlab 软件实习
行、列向量的创建
1、逐个元素输入法
❖ >> x=[2 pi/2 3+5i]
第20页,共66页。
Matlab 软件实习
用于专门学科的特殊矩阵
(1) 魔方矩阵 魔方矩阵有一个有趣的性质,其每行、
每列及两条对角线上的元素和都相等。对于 n阶魔方阵,其元素由1,2,3,…,n2共n2个整数 组成。MATLAB提供了求魔方矩阵的函数 magic(n),其功能是生成一个n阶魔方阵。
第2讲MATLAB程序设计及其调试
for i=1:length(y)
for j=1:length(x)
if x(j)+y(i)>1
z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));
elseif x(j)+y(i)<=-1
z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));
其他打开方式: • ‘r’ 打开文件,读数据,文件必须存在. • ‘w’ 打开文件,写数据,若文件不存在,系
统会自动建立. • ‘a’ 打开文件,在文件末尾添加数据. • ‘r+’ 打开文件,可以读和写数据,文件必须
存在. • ‘w+’ 打开文件,供读与写数据用. • ‘a+’ 打开文件,供读与添加数据用.
(1)读二进制文件 fread 函数可以读取二进制文件的数据,并将数据存 入矩阵。其调用格式为:
[A,Count]=fread(fid,size, precision) 其中A用于存放读取的数据,Count返回所读取的数 据元素个数,fid为文件句柄,size为可选项,若不选 用则读取整个文件内容,若选用则它的值可以是下列 值:
其中A为要写入文件的数据矩阵,先按format格式化 数据矩阵A,后写入到Fid所指定的文件.
例如:x = 0: 0.1: 1; y = [x; exp(x)]; Fid = fopen('exp.dt', 'w'); fprintf(Fid,'%6.2f %12.8f\n',y); fclose(Fid);
T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41];