第三章matlab程序设计基础。
一, 数据及数据文件。
1. 数据类型: 字符数组、数值数组、单元数组、结构数组。
j**a类和函数句柄等(表 3—1)。
在工作空间浏览器中不同的数据类型有着不同的图标标识(图 3—2。
2. 数据文件。
matlab支持的各种数据文件及其调用方法和返回值见(表 3—2)
1)二进制数据文件:以。mat为扩展名。是标准的matlab数据文件。.mat文件可以由matlab提供的s**e和load命令直接存取。
2)ascⅱ码数据文件:扩展名为。txt, .
dat等, 可以是matlab环境下存储,也可能是其他软件的计算结果,可以被matlab调用,也可以用文本编辑器打开进行观察与修改。 可以用s**e和load命令进行读入和存取。
3).图象文件:扩展名为。bmp, .jpg .tif等,用于图形图象处理,可以用imread和imwrite命令进行读入和存取。
4).声音文件:扩展名为。w** ,用w**eread 和 w**write命令进行读入和存取。
3. 数据输入向导。
file 菜单下的工具import wizard用于将各种类型数据文件中的数据导入工作空间,称为数据输入向导。在 import 对话框中输入需要导入的数据文件名后出现import wizard窗口,可预观测将要导入的数据、显示图象、**声音等。
几种数据的导入:
1) mat数据文件。
调入途径: file 输入文件名,也可用browse打开文件浏览器选择输入文件;clipboard,数据从剪贴板中调入。
窗口内容:左侧,变量名称、大小、类型。右侧观察前10行10列信息。
next: 显示数据输入向导窗口第二页。
2)ascⅱ码数据文件:输入ascⅱ数据文件名---选择显示数据内容 (date)或头文本内容(textdate)--选择next下一页进行导入内容选择(通过钩选决定将何变量导入工作空间)--按finish 完成导入操作或按cancel终止数据的导入。
(3)图象数据文件: 输入图形数据文件名---点击show image(可在图象上拖曳放大区域)--按finish 完成数据导入(或按cancel终止数据导入。
4)。声音数据文件:输入声音数据文件名---点击play sound弹出一个显示声音数据波形的图形窗口(按play agine按钮重新**声音,按done按钮关闭预观察窗口)--按finish 完成数据导入(或按cancel终止数据导入。
5)剪贴板的数据:需要导入已存放在系统剪贴板中的数据,点数据输入向导窗口中的clipboard选项,--next进入下一页--按finish 完成数据导入(或按cancel终止数据导入。
二. m文件。
matlab 的两种工作方式:1,交互式命令操作方式—通过命令窗口进行交互式操作;2,m文件的编程工作方式。
1. m文件编程:可用普通文本编辑器编制matlab文件,文件由纯ascⅱ字符组成,确定文件名后加。m扩展名,称为m文件。运行m文件时,只需在命令窗口键入文件名即可。
matlab提供了一个方便的编辑/调试器,功能较多,推荐使用。
建立m文件的一般步骤:
1) 打开文件编辑器:最简单的方法是在操作桌面的工具栏上选择新建文件键(new m- file)或打开已有文件键(open file),也可以在命令窗口输入命令edit建立新文件或输入edit filename, 打开名为filename 的m文件;
2) 编写程序内容:编写新的文件或修改已有文件;
3) 保存文件:文件运行前必须完成保存操作,与一般的文件编辑保存操作相同;
4) 运行文件:在命令窗口输入文件名即可运行。如要在编辑器中直接完成运行,可在编辑器的debug菜单下s**e and run选项,或按run快捷键,最快捷的方法是直接按f5键执行运行。
m文件有两种形式:命令文件(script file)和函数文件(function file)
2。命令文件: m文件中最简单的一种,不需输出输入参数,用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
subplot(2,2,k),polar(theta,rho(k,:
end将程序保存成名为petals的m文件,并运行。
注:1) ‘引导注释行,不予执行;
2) 不需要用“end”最为m文件的结束标志;
3) 若文件存放在自己的目录上,在运行文件前,应先将自己的目录设置为当前工作目录。最简单方法:在当前目录浏览器中设置。
4) 运行后存放在工作空间的变量可以用工作空间浏览器查看。
3。函数文件。
如果m文件的第一个可执行行以function开始,便是函数文件,每一个函数文件定义一个函数。函数文件区别于命令文件之处在于命令文件的变量在文件执行完成后保留在工作空间中,而函数文件内定义的变量只在函数文件内起作用,文件执行完后即被清除。
例:建立**erage函数用于计算矢量中单元的平均值。
function y = **erage(x)
%**erage mean of vector elements.
**erage(x),where x is a vector, is the mean of vector element.
non-vector input results in an error.
m,n]=size(x);
if(~(m==1) |n==1)) m==1& n==1))
error(' input must be a vector')
endy=sum(x)/length(x);
将文件存盘,缺省状态下自动存储名为的函数。这样只要接受一个输入参数便可计算返回一个输出参数,与其他matlab函数一样使用。
例:用已建立的**erage函数文件求1~99的平均值。
z=1:99;
**erage(z)
函数文件的基本组成部分:
1)函数定义行:由function 引导,并定义函数名、输入参数和输出参数,函数定义行必须放在文件的第一个可执行行上可以设多个输入输出参数, 如: function[x,y,z]=sphere(theta,phi,rho)
也可以没有输出参数,如:
function printresults(x)
2) h1行:帮助文本的第一行,是供lookfor查询时使用的;
3) 帮助文本:主要时为自己的函数文件建立**查询信息;
4) 函数体: 包含全部的用于完成计算及给输出参数赋值等工作的语句;
5) 注释:以%起始导行尾结束部分的说明文字。可放置在程序中的任何部位。
2. 局部变量与全局变量。
用global就可以把一个变量定义为全局变量。matlab中变量名是区分大小写的,习惯上常将大写字母定为全局变量。如:
global a b c
三. 程序结构。
8种控制程序流程的语句:for, while, if, switch, try, continue, break, return
1。循环语句。
1) for语句:
for v=表达式通常为一个矢量形式为: m:s:n
语句体。end
例:n=10
for i=1:n
x(i)=(i+1).^2;endx
x =例:嵌套循环:注意与end的配对。
m=3; n=4;
for i=1:m
for j=1:n
a(i,j)=1/(i+j-1);
endend
format(形式) rat(分数表示)aa =
例: 运用非1步长,产生0-20 以内的偶数。
for i=0:2:20
a(i/2+1)=i ;enda
a =2).while语句:为条件循环语句。循环不确定次数,只要表达式的结果非零,语句体就重复执行,直到循环条件不成立为止。
while 表达式。
语句体。end
例:while循环,求解n!达到100位数的第一个n是多少。
n=1;while prod(1:n)<1e100 (prod(表示1~n个数相乘,即为n!))
n=n+1prod(a)表示矩阵的列向量相乘,
endprod(a,2)表示矩阵的行向量相乘)nn =
2. 条件语句。
1) if—end语句。
if 表达式。
语句体。end
2)if—else--end语句。
if 表达式。
语句体1;else
语句体2:end
当计算的表达式结果为真时执行语句体1,结果为假时执行语句体2。
例:判断学生是否通过学业。
if ((attendance>=0.90) &grade>=60))
pass=1;
elsefail=1;end
Matlab第3章学习概要
第3章学习概要。3.1什么是m文件?将m文件分成命令文件和函数文件的根据是什么?用matlab语言编写的程序,是m文件。调用方式的不同。3.2命令文件与函数文件的主要区别有哪些?1 命令文件没有输入参数,也不返回输出参数,而函数文件可以带输入参数,也可以返回输出参数。2 命令文件对matlab工作空...
第3章Matlab图形系统
二维图形的基本绘图函数。plot 根据向量或矩阵的列绘制出x y曲线loglog 在对数坐标下绘制x y曲线。semilogx x坐标为对数坐标,y为线性坐标绘制x y曲线semilogy x坐标为线性坐标,y为对数坐标绘制x y曲线xlabel 给x轴加上标题ylabel 给y轴加上标题。text...
第3章matlab符号运算
第3章符号运算。命令。功能符号矩阵的算术操作。用法如下 a b a b 符号阵列的加法与减法。若a与b为同型阵列时,a b a b分别对对应分量进行加减 若a与b中至少有一个为标量,则把标量扩大为与另外一个同型的阵列,再按对应的分量进行加减。a b 符号矩阵乘法。a b为线性代数中定义的矩阵乘法。按...