第3讲+MATLAB编程
Matlab编程基础及应用-四川大学课件

Matlab编程基础及应⽤-四川⼤学课件第三章基本数值计算
第⼀节数据的类型
1.变量
2.常量
3.字符变量
第⼆节矩阵构造及运算1.矩阵(matrix)的构造
(1)矩阵的建⽴
exno10:
exno10t:
(2)向量
(3)向量的点积与叉积
2.矩阵的加减乘除
3.对矩阵的操作
(1)对矩阵元素的操作
(2)对矩阵A的部分操作
(3)对矩阵A进⾏分析
4.矩阵的数组运算
练习3-3
:
若x= 0 : 0.1 : 2 plot(x, y)
5.矩阵元素的关系运算与逻辑运算
6.矩阵的多维数组形式
(1)数组的维
(2)多维数组的构成
a是3x3x2矩阵
c是3x3x3矩阵7.多项式及其运算式(1)多项式的创建
(2)多项式的引⽤polyval
(3)多项式运算的函数
(4)函数的多项式拟合
:
第四章符号运算
符号运算是数学计算的重要内容,特点是不带来计算误差,希望认真掌握本章内容。
第⼀节符号变量的创建
第⼆节符号函数的运算
1.函数求极限
第3句返回值:
exno18t:
a = 2/3 其中2/3是符号不是数字
2.微分与积分的运算
y1 =
y1,y2是两个变量
y(1),y(2)是y的两个元素
3.梯度函数gradient
注意:除了边界点是相邻作差,其他点应间隔⼀点作差再除以两倍相邻距离)。
【matlab教学PPT】第3讲 Matlab的图形

ylabel(′y=sin2\pix′);%Y轴标注,可以有汉字 xlabel(′x′);%X轴标注,可以有汉字
第3讲 Matlab的图形 title(′functionploty=sin2\pix′);%图标题 text(0.5,sin(0.5),′\leftarrowsin2\pi0.5′);
第3讲 Matlab的图形 [例3] t=0:pi/20:2*pi; plot(t,sin(2*t),′-mo′,...%线型:实线,洋红色,小圆标记
′LineWidth′,2,...%线宽为2
′MarkerEdgeColor′,′k′,...%标记边缘颜色:黑色 ′MarkerFaceColor′,[.49 1 .63],...%标记面颜色:淡 绿 ′MarkerSize′,12)%标记大小:12 结果如图3所示。
6)坐标颜色控制 set(gca,′Color′,′y′)%坐标面背景颜色设置,本例为:黄 set(gca,′XColor′,′k′)%设置横坐标轴,刻度,字符的颜
色
set(gca,′YColor′,′r′)%设置纵坐标轴,刻度,字符的颜 色
第3讲 Matlab的图形 7)坐标刻度字形的控制 set(gca,′FontSize′,14)%控制字体大小
set(gca,′FontWeight′,′bold′)%设置字体粗细
%有{normal}|bold|light|demi四种 8)坐标位置和方向控制
set(gca,′XAxisLocation′,′top′)% 横 坐 标 轴 位 于 下 方 (bottom默认)
或上方(top)set(gca,′YAxisLocation′,′right′)%纵坐标轴 位于左方(left默认)或右方(right)set(gca,′XDir′,′reverse′)% 横坐标反方向(由右到左为增)set(gca,′YDir′,′reverse′)%纵 坐标反方向(由右到左为增)
第3讲Matlab的变量与矩阵

05:44
22/35
系统仿真
八、逻辑运算
MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)
05:44
11/35
系统仿真
三、矩阵的元素提取与拆分
1、用矩阵元素的序号来引用矩阵元素。 矩阵元素的序号就是相应元素在内存中的排
列顺序。在MATLAB中,矩阵元素按列存储,先 第一列,再第二列,依次类推。
例如:A=[1,2,3;4,5,6]; A(3) ans =2
显然,序号(index)与下标(subscript )是一一对 应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号 为(j-1)*m+i。其相互转换关系也可利用sub2ind和 ind2sub函数求得。
布
05:44
14/35
系统仿真
五、特殊矩阵(1)
1、魔术矩阵 魔术矩阵有一个有趣的性质,其每行、每列及两条对角
线上的元素和都相等。对于n阶魔术矩阵,其元素由 1,2,3,…,n×n共n×n个整数组成。MATLAB提供了求魔方 矩阵的函数magic(n),其功能是生成一个n阶魔方阵。 magic(n) n×n的魔术矩阵
一个逻辑运算函数: xor(异或)
逻辑运算的运算法则为:
(1) 在逻辑运算中,确认非零元素为真,用1表示,零元素 为假,用0表示。 (2) 设参与逻辑运算的是两个标量a和b,那么,
a&b a,b全为非零时,运算结果为1,否则为0。 a|b a,b中只要有一个非零,运算结果为1。 ~a 当a是零时,运算结果为1;当a非零时,运算结果 为0。
matlab教程(第3讲-数组)

2.1数值表示、变量及表达式 (续)
运算符和表达式
运算
加 减 乘 除 幂
数学表达式
a+b a-b axb a/b或a\b
MATLAB运算符
+ * /或 \ ^
MATLAB表达式
a+b a-b a*b a/b或a\b a^b
第二种方法:使用冒号“:”操作符
〘例2-2〙创建以1~10顺序排列整数为元素的 行向量b。>>b=1:10 b=1 2 3 4 5 6 7 8 9 10
2016/11/22 Application of Matlab Language 10
所有的向量元素必须在操作符“[ ]”之内; 向量元素间用空格或英文的逗点“,”分开。
计算
z
z3
z1=3+4*i, z2=1+2*i, z3=exp(i*pi/6), z=z1*z2/z3 z_real=real(z), z_image=imag(z), z_angle=angle(z), z_length=abs(z),
2016/11/22
Application of Matlab Language
第四种方法:利用函数logspace 列向量的创建
通过实验认识该函数的功能。
使用方括号“[ ]”操作符,使用分号“;”分 割行。
〘例2-5〙键入并执行x= [1; 2; 3] X=1 2 3
使用冒号操作符
〘例2-6〙键入并执行x= (1:3)‟ % “ ‟ ”表示矩阵的转 置
2016/11/22 Application of Matlab Language 13
matlab教程ppt(完整版)

矩阵的数学运算
总结词
详细描述
总结词
详细描述
掌握矩阵的数学运算,如求逆 、求行列式、求特征值等。
在MATLAB中,可以使用inv() 函数来求矩阵的逆,使用det() 函数来求矩阵的行列式,使用 eig()函数来求矩阵的特征值。 例如,A的逆可以表示为 inv(A),A的行列式可以表示 为det(A),A的特征值可以表 示为eig(A)。
• 总结词:了解特征值和特征向量的概念及其在矩阵分析中的作用。 • 详细描述:特征值和特征向量是矩阵分析中的重要概念。特征值是满足Ax=λx的标量λ和向量x,特征向量是与特征值对
应的非零向量。特征值和特征向量在许多实际问题中都有应用,如振动分析、控制系统等。
04
MATLAB图像处理
图像的读取与显示
变量定义
使用赋值语句定义变量,例如 `x = 5`。
矩阵操作
学习如何创建、访问和操作矩 阵,例如使用方括号 `[]`。
函数编写
学习如何创建自定义函数来执 行特定任务。
02
MATLAB编程
变量与数据类型
01
02
03
变量命名规则
MATLAB中的变量名以字 母开头,可以包含字母、 数字和下划线,但不应与 MATLAB保留字冲突。
了解矩阵的数学运算在实际问 题中的应用。
矩阵的数学运算在许多实际问 题中都有应用,如线性方程组 的求解、矩阵的分解、信号处 理等。通过掌握这些运算,可 以更好地理解和解决这些问题 。
矩阵的分解与特征值
• 总结词:了解矩阵的分解方法,如LU分解、QR分解等。
• 详细描述:在MATLAB中,可以使用lu()函数进行LU分解,使用qr()函数进行QR分解。这些分解方法可以将一个复杂的 矩阵分解为几个简单的部分,便于计算和分析。
MATLAB第3讲 MATLAB基本绘图

3.3 基本三维绘图
[X,Y]=meshgrid(-8:0.5:8,-8:0.5,8);
3.3 基本三维绘图
2、格式2:mesh(x,y,z) 功能:x,y,z 为三个矩阵, 以各元素值为三维坐标点绘图, 并连成网格。
3.3 基本三维绘图
例题 7 画一个球体 [xx,yy,zz]=sphere(30);
0
n
3.3 基本三维绘图
形成了33*33网 格矩阵
3.3 基本三维绘图
可以使用meshgrid()函数产生网格坐标:
格式:[X,Y]=meshgrid(x,y) x,y为同维向量,
X的行为x的拷贝,Y的列是y的拷贝,X,Y同维 例如:[xx,yy]=meshgrid([ 1 2 3 4],[1 2 3 4])
3.3 基本三维绘图
3、格式3:plot3(x,y,z,’s’) plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’) 功能:用于设置绘图颜色和线型 字符串意义同plot。
例如:plot3(x,y,z,’*r’,x,z,y,’:b’)
3.3 基本三维绘图
例题 2
3.3 基本三维绘图
3、hidden on(off) ----隐藏或透视被遮挡的地方
视角变换与三视图
三维图形绘制中的视角定义
z轴
视点
y轴
仰角
方位角
x轴
3.3 基本三维绘图
3. 4 特殊三维绘图 特殊图形库(specgraph)
1、stem3(x,y,z) ----- 三维火柴杆图: 例如:stem3(x,y,z) 2、bar3(z) ------ 三维条形图(同二维) 例如:bar3([1 2 3 2 1]) 3、pie3 (x,p)------ 三维饼图(同二维): 例如:pie3([1 2 3 2 1 1 ],[0 0 1 0 0 0]) 还有其它特殊函数。。。
(完整版)matlab第三讲教案

西南科技大学本科生课程备课教案计算机技术在安全工程中的应用——Matlab入门及应用授课教师:徐中慧班级:专业:安全技术及工程第三章课型:新授课教具:多媒体教学设备,matlab教学软件一、目标与要求掌握matlab中内置的初等数学函数、三角函数、数据分析函数等函数的运用。
二、教学重点与难点本堂课教学的重点在于引导学生在命令窗口进行一些简单的计算,对matlab初等的数学函数能够熟练运用,并能写一些matlab的简单程序解决实际问题。
三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。
四、教学内容一、课程内容回顾上节课主要学习了数据显示格式、复数的运算、算术运算等。
(1)短数据格式和长数据格式之间的显示切换(2)15+16i,求该复数的模和辐角,实部与虚部(3)[1:3;2:4;3:5],求矩阵的转置初等数学函数包括对数函数、指数函数、绝对值函数、四舍五入函数和离散数学中的函数。
我们今天课程的任务就是掌握这些函数的运用。
二、常用的数学函数练 习创建矢量x,在-9到12之间,步长为3 (1)求x 除以2的商 (2)求x 除以2的余数 (3)e x(4)求x 的自然对数ln(x) (5)求x 的常用对数lg(x)(6) 用函数sign 确定矢量x 中哪些元素为正 (7)将显示格式变为rat ,显示x 除以2的结果 Eg: x=-9:3:12;(1) x/2;(2) rem(x,2);(3)exp(x);(4)log(x );(5)log10(x);(6)sign(x);(7)format rat;x/2三、取整函数Matlab 中有几种不同的取整函数。
其中最常用的是四舍五入。
然而取上近似还是取下近似要根据实际情况而定。
例如,在杂货店买水果,苹果0.52美元一个,5美元能买几个?5.009.61540.52/=苹果苹果但是在现实生活中,显然不能买半个苹果,而且也不能四舍五入到10.所以,只能向下取近似值9.四、离散数学中的函数离散数学就是有关数的数学,也就是中学代数里的因式分解、求最大公因数和最小公倍数。
[计算机软件及应用]matlab课件第3讲
![[计算机软件及应用]matlab课件第3讲](https://img.taocdn.com/s3/m/280c86e1a216147916112820.png)
2021/8/26
10
4、数组元素的标识与寻访
• 数组元素的标识 – “全下标(index)”标识 经典数学教科书采用“全下标”标识法:每一维对应一个下标。 – 如对于二维数组,用“行下标和列下标”标识数组的元素, a(2,3)就表示二维数组a的“第2行第3列”的元素。 – 对于一维数组,用一个下标即可,b(2)表示一维数组b的第2 个元素,无论b是行向量还是列向量。 – “单下标”(linear index)标识 所谓“单下标”标识就是用一个下标来表明元素在数组的位置。 – 对于二维数组, “单下标”编号:设想把二维数组的所有 列,按先后顺序首尾相接排成“一维长列”,然后自上往下 对元素位置执行编号。 – 两种“下标”标识的变换:sub2ind、ind2sub
>>a([1 2 5]) %寻访a的第1、2、5个元素组成的子数组
ans = 1.0000 3.2500 10.0000
2021/8/26
13
4、数组元素的标识与寻访 (续)
>>a(1:3) %寻访前3个元素组成的子数组
ans =
1.0000 3.2500 5.5000
>>a(3:-1:1) %由前3个元素倒序构成的子数组
(1,3) (2,3) (3,3)
(1,4) (2,4) (3,4)
(1,4) (2,4) (3,4)
页
24
5、多维数组 (续)
• 三维数组,可对应至一个 X - Y - Z 三维立体坐标,如下图所示:
Z(页)
2021/8/26
X(行)
Y(列)
25
5、多维数组 (续)
• 三维数组元素的寻址:可以(行、列、页)来确定。 • 以维数为 3×4×2 的三维数组为例,其寻址方式如下
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解:把方程式改写为迭代形式,即 x=3+5/x2,并设初始值 x0=3 x0=3;r=1;n=0; % r为计算误差初始值,n为迭代次数 while r>1e-5 x1=x0; x0=3+5/x1.^2; r=abs(x0-x1); n=n+1; end,x0,n 注:如果直接用多项式求根命令,则可以用:roots([1 -3 0 -5]) ——例 2:用迭代法求解下列线性方程组: 7 x1 3 x2 2 x3 17 4 x1 9 x2 x3 29 6 x1 3 x2 11x3 35 解:将上述方程组改成迭代形式: x1 3 x2 / 7 2 x3 / 7 17 / 7 x2 4 x1 / 9 x3 / 9 29 / 9 x3 6 x1 /11 3 x2 /11 35 /11 改写成矩阵迭代形式为:X1=A1*X0+B1 A1=[0 3/7 -2/7;-4/9 0 1/9;-6/11 -3/11 0]; B1=[17/7;29/9;35/11]; X0=[0 0 0]'; X1=[1 1 1]'; n=0; while norm(X1-X0)>1e-5 X1=X0; X0=A1*X1+B1; n=n+1; end X0 n 补充:help norm 向量的范数是表示向量 V 特征的量,它的 p 范数定义为 V n p vi i 1
第三讲 MATLAB 编程
一、 函数 M 文件 1、 MATLAB 有 1000 余条内装函数,如三角函数、幂函数、指数函数等。 这些函数都用后缀名为 M 的函数文件编写,故又称函数 M 文件。 2、 当调用 MATLAB 函数时,在命令窗口输入函数名,则该函数的程序即 被调用并执行。 3、 举例:求解 3 次代数方程式:y=x^3+6*x^2+11*x+6 的根。 解法 1:syms x %设置变量 x 为符号变量
如果用户希望函数内部对输入参数的修改也对 MATLAB 工作空间的变量有 效,就需要在函数输出参数列表中返回此参数。 ——接上例:程序如下 function [y,x]=mytest(x) t=1; x=x+5; y=t+x*2; 在命令窗口输入以下命令: x=3 y=mytest(x) %MATLAB 工作空间中的变量 x 取值仍为 3 [y,x]=mytest(x) %MATLAB 工作空间中的变量 x 取值为 8
三、 文本 M 文件 1、 对于处理一个特定任务,一次要执行大量的 MATLAB 命令和语句,且 经常重复使用的程序, 则可将这些语句的集合存放在扩展名为 M 的文件 中。M 文件的编辑与函数 M 文件相类似,在 M 文件编辑器中进行,它 执行计算所用的数据来自键盘输入和工作空间中已经存在的变量。它的 输出数据也保存在工作空间中,便于下次计算时调用。 2、 函数 M 文件与文本 M 文件的区别主要有: (1)函数 M 文件在函数名中 接受输入数据,而文本 M 文件只向工作空间或键盘接受数据。 (2)函数 M 文件的运算操作在内部专用存储器中进行,与工作空间无关,而文本 M 文件的数据交换则在工作空间进行。 3、 Ctrl +C 退出死循环 4、 举例:在单位圆内,分别绘制 10 花瓣、20 花瓣、2 花瓣和 2-3-2 不对称 花瓣图。通过按任意键来切换图形。程序名:flower 解: %flower petal plots theta=-pi:pi/300: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 i=1:4 polar(theta,rho(i,:)) switch i case 1 title 10-petal case 2 title 20-petal case 3 title two-petal case 4 title 2-3-2-unsymmetrical-petal end pause end 补充:help pause
四、 循环控制语句之一:for/end 1、 for/end 是用于要求重复多次执行 for 与 end 之间的程序语句, 它允许嵌 套使用。其书写格式如下: for 变量=起点:增量:终点 程序语句 end 2、 举例: ——例 1:计算 8 阶魔方矩阵的所有元素的总和。 A=magic(8); s=0; for i=1:8 s=s+sum(A(i,:)); end s 更简单的计算方法: sum(sum(magic(8))) ——例2:用Gauss消去法使已知的5阶魔方矩阵变换为上三角矩阵。 A=magic(5) for j=1:4 for i=j+1:5 A(i,:)=A(i,:)-A(i,j)/A(j,j)*A(j,:); end end A 五、 循环控制语句之二:while/end 1、 while/end 与 for/end 不同,它不规定循环次数,而由 while 后面的条件 表达式来决定,若条件成立,则重复执行 while 与 end 之间的程序语句, 否则结束循环。其书写格式如下: while 条件表达式 程序语句 end 2、 举例: ——例 1:用迭代法求解 x3 3x 2 5 0 的一个实根。
6、 举例: ——例 1:type mean %单个输出变量 %多输入变量、多输出变量的函数
type cylinder
注:nargin 输入参数的个数;nargout 输出参数的个数 type inv %内装函数,程序被隐藏,不能显示
——例 2:编制一个函数 triarea,计算三角形的面积 A,已知三角形的 3 条 边为 a、b、c,面积计算公式为 A s ( s a )( s b)( s c) ,其中 s=(a+b+c)/2 解:程序如下,保存: function A=triarea(a,b,c) if a<0|b<0|c<0 disp('The a,b,c must be positive number.'),return end if a+b<=c|a+c<=b|b+c<=a disp('This is impossible.'),return end s=(a+b+c)/2; A=(s*(s-a)*(s-b)*(s-c))^(1/2); 补充:help disp 注:MATLAB 区别: Logical Operators: Elementwise & | ~ Logical Operators: Short-circuit && || [注: 例如: expr1 && expr2 represents a logical AND operation that employs short-circuiting behavior. (1)With short-circuiting, the second operand expr2 is evaluated only when the result is not fully determined by the first operand expr1. (2)These two expressions must each be a valid MATLAB statement that evaluates to a scalar logical result.] 函数应用: (1)已知 a=4,b=8,c=sqrt(80),用 triarea 求三角形面积 解:triarea(4,8,80^(1/2)) help 菜单下查找 elementwise 以及 short-circuit
8、 全局变量:通过全局变量可以实现 MATLAB 工作空间变量和多个函数 的函数空间的共享,这样,任何一处对全局变量的修改都会直接改变此 全局变量的取值。在应用全局变量时,通常在各个函数内部通过 global variable 语句声明, 在命令窗口或文本 M 文件中也要先通过 global 声明, 然后进行赋值和调用。[注:实际编程中使用全局变量要慎重,以避免不 必要的相互作用。] ——举例: function y=myprocess(x) global T T=T*2; y=exp(T)*sin(x); 在命令窗口输入: global T T=0.3 myprocess(pi/2) T clear all %CLEAR ALL removes all variables, globals, functions and MEX links. 二、 内联函数 1、 函数 M 文件是为了计算常用的、需要存储的函数,函数 M 文件的编制 要求比较严格。但对于一次性使用的函数,可以用内联函数 inline 来实 现,内联函数的编制比较宽松,它不进行函数存储,它的书写格式为: F=inline(expr,’x1’,’x2’,’…,’xn’) 其中 inline 表示是内联函数,expr 是以 字符串形式表示的数学表达式,x1,x2,…,xn 是数学表达式 expr 中的 变量。 2、 举例: ——例 1:用内联函数来表示 y=sinx+in(x)+sin(x)^2','x') y(pi/4) ——例 2: 用内联函数来表示 y=sinx1cosx1+sinx2cosx2-sinx1cosx2, 并求 x1= Л/8,x2=3Л/8 时的函数值。 解:y=inline('sin(x1)*cos(x1)+sin(x2)*cos(x2)-sin(x1)*cos(x2)','x1','x2') y(pi/8,3*pi/8)
y=x^3+6*x^2+11*x+6 help sym2poly % sym2poly 是将多项式转换成系数向量的转换函数 y1=sym2poly(y) help roots roots(y1) 解法 2:y2=[1 6 11 6] roots(y2) 4、 M 文件的编写在 M 文件编辑器中进行, 点击 file/new/m-file 即可打开 M 文件编辑器。 5、 函数 M 文件通常由下列 5 部分组成: (1) 函数定义行。必须以关键词 function 开头,紧跟着是函数的输 出变量(如果有多个输出变量则需用方括号括起来,各输出变量间 用逗号隔开) ,等式右边是函数名,后面紧跟着函数的输入变量,并 。 用圆括号括起来(如果有多个输入变量,则也用逗号分隔) (2) 帮助文本的标题行 (H1 行) , 简要说明函数的功能。 (当用 lookfor 查找某个单词相关的函数时, 是在 H1 行中搜索是否出现指定单词。 ) (3) 帮助文本的内容。 (4) 函数体。 (5) 附注,说明函数的编者、版权和日期。 %求解方程式的根 %或者直接输入系数向量 %提取 3 次代数方程的系数向量 y1