MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc

上传人:wj 文档编号:8431069 上传时间:2023-05-11 格式:DOC 页数:54 大小:1.72MB
下载 相关 举报
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第1页
第1页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第2页
第2页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第3页
第3页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第4页
第4页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第5页
第5页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第6页
第6页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第7页
第7页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第8页
第8页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第9页
第9页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第10页
第10页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第11页
第11页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第12页
第12页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第13页
第13页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第14页
第14页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第15页
第15页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第16页
第16页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第17页
第17页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第18页
第18页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第19页
第19页 / 共54页
MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc_第20页
第20页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc

《MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc(54页珍藏版)》请在冰点文库上搜索。

MATLAB简介+图像轮廓线提取+图像分割技术Word文档下载推荐.doc

ans=

1.5645e+004

a=5^6+sin(pi)+exp(3)↙

a=

例2:

已知矩阵,对它们做简单的关系与逻辑运算

A=[1,2;

1,2];

B=[1,1;

2,2];

C=(A<

B)&

(A==B)↙

C=

00

00

四、MATLAB的数据显示格式

虽然在MATLAB系统中数据的存储和计算都是双精度进行的,但MATLAB可以利用菜单或format命令来调整数据的显示格式。

Format命令的格式和作用如下:

lformat|formatshort5位定点表示

lformatlong15位定点表示

lformatshorte5位浮点表示

lformatlonge15位浮点表示

lformatshortg系统选择5位定点和5位浮点中更好的表示

lformatlongg系统选择15位定点和15位浮点中更好的表示

lformatrat近似的有理数的表示

lformathex十六进制的表示

lformatbank用元角分(美制)定点表示

lformatcompact变量之间没有空行

lformatloose变量之间有空行

例3:

对数用五位定点、十五位定点以及有理数形式表示出来。

a=5+sin(7),formatshort,a↙

5.6570

formatrat,a↙

3117/551

formatlong,a↙

5.65698659871879

五、MATLAB中的常用函数

数学上的函数,MATLAB基本上都有。

表5.1常用的三角函数

函数名称

函数功能sinx

函数功能

sin(x)

正弦函数cosx

asin(x)

反正弦函数asinx

cos(x)

余弦函数tanx

acos(x)

反余弦函数acosx

tan(x)

正切函数cotx

atan(x)

反正切函数atanx

cot(x)

余切函数cotx

acot(x)

反余切函数acotx

sec(x)

正割函数secx

asec(x)

反正割函数asecx

sinh(x)

双曲函数sinhx

asinh(x)

反双曲函数asinhx

表5.2常用的计算函数

abs(x)

求变量x绝对值|x|

sqrt(x)

求变量x的算术平方根

real(x)

求复数x的实部

image(x)

求复数x的虚部

round(x)

四舍五入至最近整数

fix(x)

无论正负,舍去小数至最近整数

sign(x)

符号函数

rem(x,y)

求x除以y的余数

exp(x)

自然指数

pow2(x)

2的指数

log(x)

自然对数lnx

log2(x)

以2为底的对数

log10(x)

以10为底的对数

六、矩阵的操作

MATLAB的基本单位是矩阵,它是的MATLAB精髓,掌握矩阵的输入、各种数值运算以及矩阵函数的使用是以后能否学好MATLAB的关键。

l矩阵的输入

(1)直接输入创建矩阵

整个矩阵以“[”和“]”作为首尾,同行的元素用“,”或空格隔开,不同行的元素用“;

”或按Enter键来分隔;

矩阵的元素可以为数字也可以为表达式,如果进行的是数值计算,表达式中不可包含未知的变量。

例4:

直接输入创建矩阵

A=[1,2,3;

4,15,60;

7,8,9]↙

(2)用矩阵函数来生成矩阵

MATLAB提供了大量的函数来创建一些特殊的矩阵。

表5.3常用的矩阵函数

zeros(m,n)

m行n列的零矩阵

eig(A)

求矩阵A的特征值

eye(n)

n阶方矩阵

poly(A)

求矩阵A特征多项式

ones(m,n)

m行n列元素为1的矩阵

trace(A)

求矩阵A的迹

rand(m,n)

m行n列的随机矩阵

cond(A)

求矩阵A的条件数

randn(m,n)

m行n列的正态随机矩阵

rref(A)

求矩阵A的行最简形

magic(n)

n阶魔方矩阵

inv(A)

求矩阵A的逆矩阵

hess(A)

hess矩阵

det(A)

求矩阵A的行列式

sqrtm(A)

求矩阵A的平方根

expm(A)

求矩阵A的指数值

funm(A)

按矩阵计算的函数值

logm(A)

求矩阵A的对数值

rank(A)

求矩阵A的秩

morm(A,1)

求矩阵A的范数

例5:

输入矩阵。

ones(3)↙%生成元素都为1的3阶方阵

例6:

输入矩阵

zeros(2,5)↙%生成元素都为0的2行5列零矩阵

例7:

生成3阶魔方矩阵。

magic(3)↙

l操作符“:

”的说明

j:

k表示步长为1的等差数列构成的数组:

[j,j+1,j+2,…,k]

i:

k表示步长为i的等差数列构成的数组:

[j,j+i,j+2*i,…,k]

A(i:

j)表示A(i),A(i+1),…,A(j)

例8:

操作符冒号”:

”的应用

1:

5↙%步长为1的等差数列。

2:

7↙%步长为2的等差数列。

8:

-2:

0↙%步长为-2的等差、递减数列。

l对矩阵元素的操作

A(i,j)表示矩阵A的第i行第j列元素。

A(:

j)表示矩阵A的第j列。

A(i,:

)表示矩阵A的第i行。

:

)表示A的所有元素构造2维矩阵

)表示以矩阵A的所有元素按列做成的一个列矩阵。

A(i)表示矩阵A(:

)的第i个元素。

[]表示空矩阵

l元素的抽取与赋值

例9:

已知矩阵,抽取与修改矩阵A的一些元素

A=[12356;

sin(3)79;

log

(2)61]↙%输入矩阵A。

A(2,3)↙%求矩阵A的第二行第三列元素。

A(4)↙%求矩阵A的第四个元素。

A(2:

4)↙%取矩阵A的A

(2),A(3),A(4)。

A(1,:

)↙%取矩阵A的第一行。

3)%取矩阵A的第三列

a=A(1,3)↙%把矩阵A的第一行第三列元素赋值给变量a。

A(2,1)=100↙%把矩阵A的第二行第一列元素修改为100。

l矩阵的扩充

例10:

已知矩阵,利用A与B生成矩阵,

,。

A=[1,3;

6,9];

%输入矩阵A

C=A↙

C(1,3)=100;

%把矩阵A扩充为1行3列矩阵

B=[1,5;

0,8];

↙%输入矩阵B

D=[A,B]↙%由矩阵A与B合成矩阵D

AA=[A,zeros

(2);

zeros

(2),B]↙%由矩阵A与B合成分块矩阵AA

l矩阵的部分删除

例11:

已知矩阵,删除矩阵A的第一行。

log

(2)61];

)=[]↙%删除矩阵A的第一行

l矩阵的运算

A+B:

矩阵加法A-B:

矩阵减法

A*B:

矩阵乘法A\B:

矩阵的左除

A/B:

矩阵的右除transpose(A)或A’:

A的转置

数k乘以Adet(A):

A的行列式:

rank(A):

A的秩

七、数组

数组就是一行或者一列的矩阵,前边介绍的对矩阵输入、修改、保存都适用于数组,同时MATLAB还提供了一些创建数组的特殊指令。

l特殊数组的创建

linspace(a,b,n)给出区间[a,b]的n个等分点数据

logspace(a,b,n)给出区间的n个等比点数据,公比为。

例12:

linspace(0,1,6)↙%给出区间[0,1]的6个等分点数据

logspace(0,1,6)↙%给出区间的6个等比点数据

l数组运算

除了作为1×

n矩阵应遵循矩阵的运算规则外,MATLAB还为数组提供了一些特殊的运算:

乘法为:

.*,左除为:

.\,右除为:

./,乘幂为:

.^

设数组,,则对应的运算具体为:

例13:

数组运算例题

a=1:

5↙%定义数组a

b=3:

11↙%定义数组b

a.^2↙%数组a的每一个元素求平方

a.*b↙%数组a的每一个元素乘以对应的数组b的元素

例14:

计算的值。

x=-pi:

pi/2:

pi;

↙%定义自变量x

y=sin(x)↙%求自变量x的每一个元素对应的正弦值

八、M文件

M文件有两种形式:

命令文件和函数文件。

它们都是由若干MATLAB语句或命令组成的文件。

两种文件的扩展名都是.m。

若程序为命令文件,则程序执行完以后,中间变量仍予以保留;

若程序为函数文件,则程序执行完以后,中间变量被全部删除。

l文件的操作

在MATLAB中新建M文件的操作是在命令窗口中选择File|New|M-File,然后用鼠标单击M-File,就可以打开MATLAB自带的M文件编辑器。

也可以对已经存在的M文件进行编辑、存储、修改和读取。

l命令文件

M文件有两种运行方式:

一是在命令窗口直接写文件名,按Enter键;

二是在编辑窗口打开菜单Tools,再单击Run。

M文件保存的路径一定要在搜索路径上,否则M文件不能运行。

以下例题中如果不做特别说明,都是以第一种方式运行的。

例15:

用M命令文件画出衰减振荡曲线及其它的包络线。

的取值范围是。

1.打开M文件编辑窗口;

2.在编辑窗口逐行写下列语句;

t=0:

pi/50:

4*pi;

y0=exp(-t/3);

y=exp(-t/3).*sin(3*t);

plot(t,y,'

-r'

t,y0,'

:

b'

t,-y0,'

3.保存M文件,并且保存在搜索路径上,文件名为a1.m;

4.运行M文件。

lM函数文件

M函数文件的一般形式为:

function<

因变量>

=<

函数名>

(<

自变量>

M函数文件可以有多个因变量和多个自变量,当有多个因变量时用[]括起来。

例16:

设可逆方阵为A,编写同时求的M函数文件。

1.打开M文件编辑窗口;

2.在编辑窗口逐行写下列语句;

function[da,a2,inva,traa]=comp4(x)

%M函数文件comp4.m同时求矩阵x的四个值

%da为矩阵x的行列式

%a2为矩阵x的平方

%inva为矩阵x的逆矩阵

%traa为矩阵x的转置

da=det(x)

a2=x^2

inva=inv(x)

traa=x'

3.保存M函数文件,并且保存在搜索路径上,文件名为comp4.m;

4.命令窗口执行下列语句:

5,8];

↙%输入矩阵A。

comp4(A)↙%调用comp4.m函数计算矩阵A的。

九、程序设计语句

lfor循环

fori=范围表达式

可执行语句

end

例17:

利用for循环求1~100的整数之和。

解:

(1).建立命令文件exam1.m。

%利用for循环求1~100的整数之和

sum=0;

fori=1:

100

sum=sum+i;

end

sum

(2)执行命令文件exam1.m。

exam1↙

例18:

利用for循环找出100~200之间的所有素数。

(1).建立命令文件exam2.m。

%利用for循环找出100~200之间的所有素数

disp('

100~200之间的所有素数为:

'

form=100:

200

k=fix(sqrt(m));

%求m的算术平方根然后取整.

fori=2:

k+1

ifrem(m,i)==0%求整数m与i的余数

break;

end

ifi>

=k+1

disp(int2str(m))%以字符串的形式显示素数.

end

end

(2)执行命令文件exam2.m。

lwhile循环

while逻辑表达式

循环体语句

例19:

利用while循环来计算1!

+2!

+50!

的值。

(1).建立命令文件exam3.m

%利用while循环来计算1!

+...+50!

的值

i=1;

whilei<

51

prd=1;

j=1;

whilej<

=i

prd=prd*j;

j=j+1;

end

sum=sum+prd;

i=i+1;

disp(‘1!

的和为:

’)

(2)执行命令文件exam3.m

lif-else-end分支

(1)if逻辑表达式

执行语句

功能:

如果表达式的值为真,就执行语句,否则执行end后面的语句.

(2)if逻辑表达式

执行语句1

else

执行语句2

end

如果表达式的值为真,就执行语句1,否则执行语句2.

(3)if逻辑表达式1

elseif逻辑表达式2

执行语句2

语句n

end

如果表达式1的值为真,就执行语句1,然后跳出if执行语句;

否则判断表达式2,如果表达式2的值为真,就执行语句2,然后跳出if执行语句.否则依此类推,一直进行下去.如果所有的表达式的值都为假,就执行end后面的语句.

编一函数计算函数值:

(1).建立M函数文件yx.m。

functiony=yx(x)

ifx<

1

y=x

elseifx>

=1&

x<

=10

y=2*x-1

10&

=30

y=3*x-11

y=sin(x)+log(x)

(2).调用M函数文件计算。

result=[yx(0.2),yx

(2),yx(30),yx(10*pi)]↙

lswitch-case-end分支

switch表达式

case常量表达式1

语句块1

case常量表达式2

语句块2

case{常量表达式n,常量表达式n+1,…}

语句块n

otherwise

语句块n+1

功能:

switch语句后面的表达式可以为任何类型;

每个case后面的常量表达式可以是多个,也可以是不同类型;

与if语句不同的是,各个case和otherwise语句出现的先后顺序不会影响程序运行的结果。

例20:

编一个转换成绩等级的函数文件,其中成绩等级转换标准为考试成绩分数在[90,100]分显示优秀;

在[80,90)分显示良好;

在[60,80)分显示及格;

在[0,60)分显示不及格。

(1).建立M函数文件ff.m

functionresult=ff(x)

n=fix(x/10);

switchn

case{9,10}

disp('

优秀'

case8

良好'

case{6,7}

disp('

及格'

不及格'

(2).调用M函数文件判断99分,56分,72分各属于哪个范围.。

ff(99)↙%优秀

ff(56)↙%不及格

ff(72)↙%及格

十、Matlab绘图

1.plot(y)

功能:

画一条或多条折线图。

其中y是数值向量或数值矩阵。

说明:

当y是数值向量时,plot(y)在坐标系中顺序的用直线段连接顶点(i,y(i))画出一条折线图;

当y是数值矩阵时,Matlab为矩阵的每一列画出一条折线,绘图时,以矩阵y每列元素的相应行下标值为横坐标,以y的元素为纵坐标绘制的连线图。

例21:

画出向量[1,3,2,9,0.5]折线图。

y=[1,3,2,9,0.5];

plot(y)↙

2.plot(x,y)

画一条或多条折线图。

其中x可以是长度为n的数值向量或是n´

m的数值矩阵,y也可以是长度为n的数值向量或是n´

m的数值矩阵。

¬

当x,y都是长度为n的数值向量时,plot(x,y)在坐标系中顺序的用直线段连接顶点(x(i),y(i))画出一条折线图;

­

当x是长度为n的数值向量且y是n´

m的数值矩阵时,plot(x,y)用向量x分别与矩阵y的每一列匹配,在同一坐标系中绘出m条不同颜色的折线图;

®

当x和y都是n´

m的数值矩阵时,plot(x,y)分别用矩阵x的第i列与矩阵y的第i列匹配,在同一坐标系中绘出m条不同颜色的折线图。

注:

plot(x,y)命令可以用来画通常的函数f(x)图形,此时向量x常用命令x=a:

h:

b的形式获得f(x)函数在绘图区间[a,b]上的自变量点向量数据,对应的函数向量值取为y=f(x)。

步长h可以任意选取,一般,步长越小,曲线越光滑,但是步长太小,会增加计算量,运算速度要降低。

通常步长h取为0.1可以达到较好的绘图效果。

如果想在图形中标出网格线,用命令:

plot(x,y),gridon即可。

例22:

画出函数y=sinx2在-5£

5的图形。

解:

x=-5:

.1:

5;

↙%取绘图横坐标向量点x

y=sin(x.^2);

plot(x,y),gridon↙

例23:

画出椭圆的曲线图。

对于这种情形,首先把它写成参数方程。

2*pi;

x=5*cos(t);

y=2*sin(t);

plot(x,y),gridon

3.plot(x1,y1,x2,y2,x3,y3…)

在同一图形窗口画出多条不同颜色曲线,曲线关系为:

例24:

在同一图形窗口画出三个函数y=cos2x,y=x2,y=x的图形。

x=-2:

2;

plot(x,cos(2*x),x,x.^2,x,x)↙

legend('

cos(2x)'

'

x^2'

x'

)↙

4.ezplot(F,[xmin,xmax])

画出符号函数F在区间[xmin,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2