第3讲 MATLAB编程

合集下载

【matlab教学PPT】第3讲 Matlab的图形

【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′)%纵 坐标反方向(由右到左为增)

matlab教程(第3讲-数组)

matlab教程(第3讲-数组)
2016/11/22 Application of Matlab Language 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第3讲 MATLAB基本绘图

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初等的数学函数能够熟练运用,并能写一些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.四、离散数学中的函数离散数学就是有关数的数学,也就是中学代数里的因式分解、求最大公因数和最小公倍数。

第 3章 MATLAB绘图入门

第 3章  MATLAB绘图入门

例:利用函数hist绘制randn概率分布图。 解:>> Y = [1, 2, 2, 5, 6, 6, 8, 11]; hist(Y) >>hist(Y,20) >> Y = [1,2.5,2.1;3,3.5,6]; hist(Y),legend('第一列','第二列','第三列')
例:利用函数rose绘制极坐标下的玫瑰图,其中t为 随机数。 x=rand(1000,1)*100; t=x*pi/180; %设置x为正态分布随机数, 设置函数关系 rose(t) ;

在0≤x≤2区间内,绘制曲线 y=2e-0.5xcos(4πx)
>>x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)
设置曲线样式表
线型 : -. 实线 虚线 点划线 . o x 点标记 点 小圆圈 叉子符 y m c 颜色 黄 棕色 青色
t=[0:pi/20:4*pi]; %定义时间范围 hold on %允许在同一坐标系下绘制不同的图形 axis([0 4*pi -10 10]) plot(t, 10*sin(t), 'r:') %线形为点划线、颜色为红色、数据点标记为加号 plot(t, 5*cos(t),'b*--') %线形为虚线、颜色为蓝色、数据点标记为星号 xlabel('时间t'); ylabel('幅值x'); title('简单绘图实例'); legend('x1=10sint:点画线','x2=5cost:虚线') %添加文字标注 gtext('x1'); gtext('x2') %利用鼠标在图形标示曲线说明文字 grid on %在所画出的图形坐标中添加栅格

Matlab中的函数编程和脚本编程

Matlab中的函数编程和脚本编程

Matlab中的函数编程和脚本编程Matlab是一种广泛应用于科学与工程领域的高级编程语言和环境。

在Matlab 中,函数编程和脚本编程是两种主要的编程方式。

函数编程是通过封装一段可重复使用的代码作为函数来实现特定功能。

而脚本编程则是直接在Matlab中运行一系列的命令和操作来实现所需的任务。

在函数编程中,我们可以将程序中相对独立的功能模块封装成函数,以便在需要的时候可以反复调用。

函数的定义通常包括函数名、输入参数和输出参数。

通过在函数内进行计算、变量赋值等操作,将输入参数转化为输出参数,实现特定的功能。

例如,我们可以定义一个计算平方的函数:```matlabfunction y = square(x)y = x^2;end```在上述代码中,`square`函数接受一个参数`x`,将其平方并将结果赋给变量`y`,最后将`y`作为函数的输出。

使用函数编程的好处之一是可以提高代码的可重用性和模块化程度。

通过将相似的代码封装进一个函数,我们可以在不同的上下文中多次调用这个函数,避免重复编写相同的代码,提高开发效率。

此外,函数编程还有利于代码的维护和修改。

如果某个功能需要改变,我们只需要修改函数的定义,而不需要改动调用函数的地方。

除了函数编程,Matlab还支持脚本编程,这种编程方式更加灵活。

脚本由一系列的命令和操作组成,按照顺序执行。

与函数编程不同,脚本中的变量是全局的,可以在脚本的任何地方访问和修改。

脚本编程适用于一些简单的任务或者需要直接交互的情况。

例如,我们可以编写一个简单的脚本来生成随机数并计算其平均值:```matlabnums = randn(1, 100);average = mean(nums);disp(['The average is: ', num2str(average)]);```上述脚本通过`randn`函数生成含有100个随机数的数组,并使用`mean`函数计算其平均值,最后通过`disp`函数将结果打印出来。

第三讲MATLAB的符号运算

第三讲MATLAB的符号运算
③符号计算指令的调用简单,和经典教科书公式相近。
④计算所需的时间较长。
• Symbolic Math Toolbox——符号运算工具包通过调用
Maple软件实现符号计算的。
• Maple软件——主要功能是符号运算,它占据符号软件
的主导地位。
2. 字符串与符号变量、符号常量
字符串对象 f = 'sin(x)+5x'
由符号变量构成的符号函数和 符号方程
• 符号表达式是由符号常量、符号变量、符号函
数运算符以及专用函数连接起来的符号对象。
• 包括:符号函数和符号方程。判断看带不带等
号。 例:syms x y z; f1=x*y/z;
f2=x^2+y^2+z^2; f3=f1/f2;
e1=sym('a*x^2+b*x+c')
factor(x^3-y^3)
• simplify( ) 该函数是一个强有力的具有
普遍意义的工具,它利用Maple化简规则 对表达式进行简化。
例:S=sym('[(x^2+5*x+6)/(x+2);sqrt(16)]')
simplify(S)
• simple( ) 用几种不同的算术简化规则对
符号表达式进行简化,使其用最少的字 符来表示。
行是自变量 x 的取值范围和常数 a 的值。
• 第四行只对 f 起作用,如求导、积分、简
化、提取分子和分母、倒数、反函数。
• 第五行是处理 f 和 a 的加减乘除等运算。
• 第六行前四个进行 f 和 g 之间的运算,后
三个分别是:求复合函数;把 f 传递给 ; swap是实现 f 和 g 功能的交换。

《Matlab编程》课程教学大纲

《Matlab编程》课程教学大纲

本科生课程大纲课程属性:公共基础/通识教育/学科基础/专业知识/工作技能,课程性质:必修、选修一、课程介绍1.课程描述:“MA TLAB编程”是港口、航道及海岸工程专业本科生的一门专业选修课。

本课程重点介绍MA TLAB 的基础应用,包括MA TLAB的数据类型、矩阵输入和操作方法、语法结构、函数的使用以及利用MA TLAB进行数值计算、编写程序和图形处理等。

要求学生能够掌握Matlab的基本使用方法,并能熟练地将MA TLAB应用于工程实际,为解决后续专业课程中复杂的数学计算问题、工程设计和科学研究奠定基础。

2.设计思路:本课程将采用课堂讲授和上机实践相结合,边讲授边实践的教学形式。

课堂讲授注重锻炼学生的数学建模、分析能力等所需的基础知识和基本能力,强调实际操作性,培养学生实际动手的动力。

上机实践是本课程重要的教学环节,通过上机编程、调试,学生才能够掌握MA TLAB编程和MA TLAB处理图形的基本技能,为本专业后续课程奠定数值计算基础。

课后会适当提供一些有代表性地上机和实践任务,以培养学生实际动手操作能力,增强学生运用MA TLAB软件编程的能力。

3.课程与其他课程的关系:先修课程:《高等数学》、《线性代数》、至少一门程序设计语言。

- 1 -二、课程目标通过本课程的学习,学生将达到以下目标:(1)、知识获取(Ⅰ)、理解和掌握MA TLAB语言基本函数的运用;(Ⅱ)、掌握M语言的编程方法;(Ⅲ)、掌握MA TLAB处理图形的基本技能和方法;(2)、思维方法培养(Ⅰ)、一种从专业问题中抽象出数学模型进而运用MA TLAB 语言去求解的思维方法;(Ⅱ)、严谨、规范的思维方法。

(3)、能力培养(Ⅰ)、能够综合运用MATLAB语言和专业知识,正确理解问题的能力、分析问题能力和解决实际工程应用问题的能力;(Ⅱ)、具备运用MA TLAB帮助系统,不断提高MA TLAB语言编程水平和技能的能力。

三、学习要求学生在学习理论知识的同时,必须积极上机实践,以达到对理论知识的熟练应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 文件编辑器中进行, 点击 New Script 即可打开 M 文 件编辑器。或点击 New->Function 即可打开编辑函数 M 文件的模板。 5、 函数 M 文件通常由下列 5 部分组成: (1) 函数定义行。必须以关键词 function 开头,紧跟着是函数的输 出变量(如果有多个输出变量则需用方括号括起来,各输出变量间 用逗号隔开) ,等式右边是函数名,后面紧跟着函数的输入变量,并 用圆括号括起来(如果有多个输入变量,则也用逗号分隔) 。 (2) 帮助文本的标题行 (H1 行) , 简要说明函数的功能。 (当用 lookfor 查找某个单词相关的函数时, 是在 H1 行中搜索是否出现指定单词。 ) (3) 帮助文本的内容。 (4) 附注,说明函数的编者、版权和日期。 (5) 函数体。%函数体结尾是否有 end 不影响。 %求解方程式的根 %或者直接输入系数向量 %提取 3 次代数方程的系数向量 y1
解:y=inline('sin(x1)*cos(x2)','x1','x2') y(pi/8,3*pi/8)
三、 文本 M 文件 1、 对于处理一个特定任务,一次要执行大量的 MATLAB 命令和语句,且 经常重复使用的程序, 则可将这些语句的集合存放在扩展名为 M 的文件 中。文本 M 文件的编辑在 M 文件编辑器中进行,它执行计算所用的数 据来自键盘输入和工作空间中已经存在的变量。它的输出数据也保存在 工作空间中,便于下次计算时调用。 2、 函数 M 文件与文本 M 文件的区别主要有: (1)函数 M 文件在函数名中 接受输入数据,而文本 M 文件只向工作空间或键盘接受数据。 (2)函数 M 文件的运算操作在内部专用存储器中进行,与工作空间无关,而文本 M 文件的数据交换则在工作空间进行。 3、 Ctrl +C 退出死循环 4、 举例:在单位圆内,分别绘制 10 花瓣、20 花瓣、2 花瓣和 2-3-2 不对称 花瓣图。通过按任意键来切换图形。程序名:flower 解:%help pause 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
解:把方程式改写为迭代形式,即 x=3+5/x2,并设初始值 x0=3 x0=3;r=1;n=0; % r为计算误差初始值,n为迭代次数 while r>1e-5 % 1e-5即10^(-5) x1=x0; x0=3+5/x1.^2; r=abs(x0-x1); n=n+1; end,x0,n %本程序只求解出实数根 注:如果直接用多项式求根命令,则可以用:roots([1 -3 0 -5]) 7 x1 3 x2 2 x3 17 ——例 2:用迭代法求解下列线性方程组: 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 工作空间的变量有 效,就需要在函数输出参数列表中返回此参数。 ——接上例:函数 mytest 程序修改如下 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
(2)已知 a=4,b=8,c=sqrt(80),用 triarea 求三角形面积 解:triarea(4,8,80^(1/2)) 或:x=4;y=8;z=80^(1/2); triarea(x,y,z) %调用函数时所用的输入输出变量名并不要求与编写函
数文件时所用的输入输出变量名相同。 7、 MATLAB 函数有独立于 MATLAB 工作空间的自己的变量空间,因此, 输入参数在函数内部的修改,如果不指定将修改后的输入参数值返回到 工作空间,那么在函数调用结束后这些修改后的值将被自动清除。函数 内所创建的变量也只驻留在函数的变量空间,只在函数执行期间临时存 在,以后就消失。 ——举例:函数 mytest 程序如下 function y=mytest(x) t=1; x=x+5; y=t+x*2; 在命令窗口输入以下命令: x=3 y=mytest(x) x t %可见,调用结束后,MATLAB 工作空间中的变量 x 取值仍为 3 % Undefined function or variable 't'.
Hale Waihona Puke 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=14,用 triarea 求三角形面积 解:triarea(4,8,14) help 菜单下查找 short-circuit
8、 全局变量:通过全局变量可以实现 MATLAB 工作空间变量和多个函数 的函数空间的共享,这样,任何一处对全局变量的修改都会直接改变此 全局变量的取值。在应用全局变量时,通常在各个函数内部通过 global variable 语句声明, 在命令窗口或文本 M 文件中也要先通过 global 声明, 然后进行赋值和调用。[注:实际编程中使用全局变量要格外慎重,以避 免不必要的相互作用。] ——举例: function y=myprocess(x) global T T=T*3; y=T*sin(x); 在命令窗口输入: global T %不可省略 T=2 myprocess(pi/6) T clear T % Undefined function or variable 'T'. myprocess(pi/6) %结果同18*sin(pi/6),说明函数中的T并未被清除 18*sin(pi/6) %sin( )函数的输入要用弧度制,sind( )的输入用角度制 clear all %CLEAR ALL removes all variables, globals, functions and MEX links myprocess(pi/6) %结果为[ ] 二、 内联函数 1、 函数 M 文件是为了计算常用的、需要存储的函数,编制要求比较严格。 对于一次性使用的函数可以用内联函数 inline 来实现,编制要求比较宽 松, 不进行函数存储, 它的书写格式为: F=inline(expr,’x1’,’x2’,’…,’xn’) 其中 inline 表示是内联函数,expr 是以字符串形式表示的数学表达式, x1,x2,…,xn 是数学表达式 expr 中的变量。 2、 举例: ——例 1:用内联函数表示 y=sinx+sin2x,并求 x=Л/4 的函数值。 解:y=inline('sin(x)+sin(x)^2','x') y(pi/4) ——例 2:用内联函数表示 y=sinx1cosx2,并求 x1=Л/8,x2=3Л/8 的函数值。
相关文档
最新文档