数学实验2

萌到你眼炸
571次浏览
2021年01月30日 00:39
最佳经验
本文由作者推荐

党费收缴-消失英文

2021年1月30日发(作者:古代兄弟排行)
实验二



MATLAB
编程与作图

13090114




廖红利

一、

实验目的

1.

学会程序设计

2.

学会作图

3.

了解在线帮助和文件管理

二、

实验内容

1.

程序设计

1)

控制流

第一章我们用的指令都是顺序结构的,
对于复杂的计算,
需要循环和分支
等复杂的程 序结构,
MA
TLAB
控制流语法都是以
end
结尾。常用控制流见 如
下表:

MA
TLAB
常用控制流

类型

循环
语句

语法

For
循环变量
=
数组,



指令组;

End
While


式,



指令组

End
分支
If
条件式
1


如果条件式
1
满足,则执行指令组
1
,且结束该

语句




指令组
1


语句;否则检查条件式
2
,若满足,执行指令组

Elseif条件式
2
,且结束该语句;
……
若所有条件式都不满足

2


,则执行指令组
k
,并且结束该语句,最常用的格式是:



指令组
2







If
条件式


……














指令组

Else


指令组
k


End
End
分支
Sw itch
分支变
若分支变量的取值
1
,则执行指令组
1
,且 结束该语句;若分
语句

量,

支变量的取值
2
, 则执行指令组
2
,且结束该语句;
……
若分
Case
1



指令组
1


Case

2



指令组
2


……


Otherwise

指令组
k


支变量不取所列出的值,则执行指令组
k.
解释

对于循环变量依次取数组中的值,循环执行指令

组直到循环变量遍历数组,数组最常用的形式是

初值:增量:终值。

当条件式满足,循环执行指令组直到条件式不

满足。使用
while
语句要注意避免出现死循环。

End
中断
语句

中断
语句

中断
语句

中断
语句

例如:计算
s

Pause
暂停执行,直到击键盘。
Pause(n)
为暂停
n
秒后再继续。

break
return
中断执行,用在循环语句内表示跳出循环。

中段执行该程序,

Error(
字符串
)
提示错误并显示字符串说明。


n
n

1
100
1
2


2)

M
脚本文件

复杂程序结构在指令窗口调 试保存都不方便所以进行复杂的运算大都使用程序文
件。
MA
TLAB
中最常 见的程序文件是
M
文件。
MA
TLAB
大部分内部函数都是
M
文件,
用户编制程序也通常用
M
文件。


< br>M
文件可分为两类:
M
脚本文件和
M
函数文件。将多条
MA
TLAB
语句写在
编辑器中,并以扩展名
m
的文件保存在适当 的文件夹中,就得到一个
M
脚本
文件。例如,将例
2.1
的几条语句 写在编辑器中,保存为
eg2_1

MA
TLAB






m










.
3)

函数文件


M
脚本文件没有参数传递功能,当我们需要修改程序中 的某些变量值,必须
修改
M
文件。利用
M
函数文件可以进行参数传递 ,所以
M
函数文件用得更加广
泛。

M
函数文件以
function
开头,格式为

function[
输出变量
]=
函数名称(输入变量)

语句;


M
函数必须给予输出参数(
output_ar gs
)和输入参数(
input_args

。一个
M
函数 可
以有多个输出参数或多个输入参数。编写
M
函数不可以写在指令窗口,必须在编辑器 窗
口中编辑。
M
函数与
M
脚本还有一个深层次的区别:
M< br>函数中的变量为局部变量,在
Workspace
是找不到的。
执行
M
函数一般要在指令窗口以该函数的磁盘文件主名调用,

给输入参数赋值。
M
函数也可以被
M
脚本文件或其他
M
文件调用。

注 意:

MA
TLAB
中,
使用
M
函数是以该函数的 磁盘文件主名调用,
而不是
文件中的函数名称,为了增强程序可读性,建议两者同名
.
4)

函数句柄、
Inline
函数和匿名函数

M
函数除了直接用其函数名调用之外,也可以作为一个参数那样调用。调用时
使用所谓函数句柄 (
handle
)方式
.


比较简单的函数表达式可以不 用写成外部
M
函数,而是用更简捷的
inline
函数或匿名函
数方 式出现在指令行中,格式为:

fun=inline(

expr

,arg1,arg2,

)
fun=@(arg1,arg2,... )expr
,
这里
expr
为函数表达式,
arg1,arg2,< br>„为自变量名字符串

利用
MATLAB
数组运算符,
可以将 前面的程序简单写成
Inline
函数,
而不必写
成外部
MATLA B
函数
.


MATLAB

Inline
函数弃用,有匿名函数代替。匿名函数不仅简明,而且可以
直接使用
.


5)

其他

1)

注释

< br>为了增强程序的可读性,常常使用注释语句。用
%
开头,对本行后
面字符起作用 ,不参与运算,只起说明作用。
M
文件开头一般应有一段注释,
说明文件的功能和使用 方法,这部分注释使用
help
可以看到。另外,注释符
%
也常用于程序调试 ,把暂不使用的注释起来,使得它不参与运算。

2)

对话


input
在交互式执行程序中用于提示键盘输入,
disp
用于 屏幕显示
.
列:
编写一个脚本文件,
使对键盘提示输入的向量求得元素总和 。
使用注释语
句解释用法。


3)


全程变量与局部变量


M
函数中所有变量为局部变量,
不 进入工作空间,
脚本文件中所有变量执行后进入工作空间,即全程变量。
M
函数变量值 传递主
要通过其输入输出变量,但也可以用
global
定义全程变量,它的意义与工 作空
间变量不同,只对有定义的环境起作用。





4)


nargin,nargout

varargin


M
函数内,
nargin
表示该函数的输入变量
个数,





nargout
表示该函数的输出变量个数,而
va rargin
表示可变输入
输出变量个数。利用这些格式可以编写更灵活的程序。

5)

子函数和嵌套函数


M
函数中允许使用 子函数和嵌套函数。
M
函数中第
一个
function
为主函数,其 他
function
为子函数。子函数只能被同一文件的
主函数和其他子


函数调用,不能被外部函数调用。在一个函数体内部还可
以定义嵌套函数,这时每个 函数体要用
end
标志结束
.
列:
下面我们个编辑了一个计算y

ax

b
的子函数和嵌套函数的程序,
并用

nargin

golbal
。当然,这个程序完全没必要编的这么复杂 ,这里纯粹是出
于解释用途。


6)


提高速度


MA
TLAB
软件执行循环语句时速度较慢, 好的
M
程序文件
应尽量使用数组运算和内部函数,
少使用循环语句,
以提高运算速度。
改变数
组尺寸会影响速度,
采取一些预分配方法可提高运算速度。< br>另外,
减少运行过
程中不必要的结果显示也可提高速度

列:编写一个
M
函数,对于任意输入的向量
x
可以计算下列分段函数值构成
的向量 。



x
2
,
x

1
,

f
(
x
)


1
,

1

x

1
,


3

2
x
,
x


1
.


2.

作图

常用的作图指令

主题词

Plot
Fplot
意义

基本二维图

一元函数图

主题词

意义

Zlabel
Clabel
Grid
Hold
Axis
View
Z
轴说明

等高线高度标志

格栅

图形保持

定制坐标轴

改变视点

空间曲线

Plot3
Meshgrid
网络数据生成

网面图

Mesh
曲面图

Surf
Contour
等高线图

Subplot
子图

Contour3
3
维等高线图

Figure
新图形窗口

标题

清除图形

Title
Clf
X
轴说明

关闭图形窗口

Xlabel
Close
Y
轴说明

ylabel
ndgrid
N
维网格数据生成


1)

曲线图

plot(x,y)
作出数据(
x(i),y(i)
)为结点的折线图, 其中
x,y
为同长度的向量

plot(x1,y1,x2,y2,

)
同时作多条折线,分别由向量 对(
x1,y1

,(x2,y2),
„构成

fplot(fun,[a,b])
作出函数
fun
在区间
[a,b]
上的函数图

plot3(x,y,z)
空间曲线图,其中
x,y,z
为同长度的向量



图形元素设定

颜色

标记

B


蓝(默认)

无标题(默认)

G


绿

R




C




M


洋红

Y






K





W





.


















+




十字

*






S




方块

D




菱形

V




下三角形






上三角形

<





左三角形

>





右三角形

P





五角形

H





六角形

3
列:
两个一元函数
y

x
x

1

y

x
0
.2
线型




实线(默认)




虚线


.

点划线

——

划线

sin(
5
x
)
在区间
-1的复合图。


2)

曲面图

[x,y]=meshgrid(xa,ya)

xa,ya
分别为
m
维和
n
维行向量,得到x

y
均为
n

m
列矩


meshgrid
常用于生成
X-Y
平面上的网格数据,也可用于三维网格数据生成

[x,y]=ndgrid(xa,ya)

meshgrid
类似,但得到的
x

y
均为
m

n
列矩阵。
ndgri d
还可
用于
3
维以上的网格

mesh(x,y,z)
绘制网页面,是最基本的曲面图形指令,其中
x,y,z
是同阶矩阵,表示曲面
三维数据

surf(x,y,z)
绘制曲面图,与
mesh
用法类似

contour(x,y,z)
绘制等高线图,与
mesh
用法类似

contour3(x,y,z)
绘制三维等高线图,与
mesh
用法类似




列:二元函数图
z

x
exp(

x
2< br>
y
2
)



3)

图形说明和定制

title(
‘字符串’
)
图形标题说明

xlabel,ylabel,zlabel
用法类似于
title
,分别说明坐标轴
x,y,z
text(x,y,
’字符串’
)

2
维图形指定位置(
x,y
)处加文本字符串

text(x,y,z,
’字符串’
)

3
维图形指定位置(
x,y,z
)处加文本字符串

grid on/off
显示
/
不显示格栅

box on/off
使用
/
不使用坐标框

hold on/off
保留
/
释放现有图形

axis off/on
不显示
/
显示坐标轴

axis([a,b,c,d])
定制
2
维坐标轴范围
aaxis([a,b,c,d,e,f])
定制
3
维坐标轴范围
afigure
开一个新图形窗口

close
关闭现有图形窗口

subplot(m,n,k)
将图形窗口分为
m*n
个子图,并指向第
k
幅图

legend(str1,str2,

)
图例,字符串
str1,str2,
„依次为各图形对象说明


列:绘制由参变量函数表示的空间曲线

党费收缴-消失英文


党费收缴-消失英文


党费收缴-消失英文


党费收缴-消失英文


党费收缴-消失英文


党费收缴-消失英文


党费收缴-消失英文


党费收缴-消失英文