matlab中常见函数功用_第1页
matlab中常见函数功用_第2页
matlab中常见函数功用_第3页
matlab中常见函数功用_第4页
matlab中常见函数功用_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、作用介绍matlab中clear,clc,clf,holdclear是清变量,clc只清屏,clf清除图形窗口上的旧图形,holdon是为了显示多幅图像时,防止新的窗口替代旧的窗口。format:设置输出格式对浮点性变量,缺省为formatshort.format并不影响matlab如何计算和存储变量的值。对浮点型变量的计算,即单精度或双精度,按合适的浮点精度进行,而不论变量是如何显示的。对整型变量采用整型数据。整型变量总是根据不同的类(class)以合适的数据位显示,例如,3位数字显示显示int8范围-128:127。formatshort,long不影响整型变量的显示。formatlong

2、显示15位双精度,7为单精度(scaledfixedpoint)formatshort显示5位(scaledfixedpointformatwith5digits)formatshorteng至少5位加3位指数formatlongeng16位加至少3位指数formathex十六进制formatbank2个十进制位format+正、负或零formatrat有理数近似formatshort缺省显示formatlongg对双精度,显示15位定点或浮点格式,对单精度,显示7位定点或浮点格式。区Iformatshortg5位定点或浮点格式formatshorte5位浮点格式formatlonge双精度为

3、15位浮点格式,单精度为7为浮点格式plot函数基本形式>>y=00.580.700.950.830.25;>>plot(y)生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。>> x=linspace(0,2*pi,30); %生成一组线性等距的数值>>y=sin(x);>>plot(x,y)生成的图形是上30个点连成的光滑的正弦曲线S多重线在同一个画面上可以画许多条曲线,只需多给出几个数组,例如> >x=0:pi/15:2*pi;> >y=sin(x);> >w=cos(x);>

4、 >plot(x,y,x,w)区I则可以画出多重线。另一种画法是利用hold命令。在已经画好的图形上,若设置holdon,MATLA潞把新的plot命令产生的图形画在原来的图形上。而命令holdoff将结束这个过程。例如:>>x=linspace(0,2*pi,30);y=sin(x);plot(x,y)>>holdon> >z=cos(x);plot(x,z)> >holdoff线型和颜色MATLAB寸曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下:线型线方式:-实线:点线-.虚点线-波折线。线型点方式:

5、.圆点+加号*星号xx形o小圆颜色:y黄;r红;g绿;b蓝;w白;k黑;m紫;c青.以下面的例子说明用法:plot(x,y,线形,颜色,线条宽度),> >x=0:pi/15:2*pi;> >y1=sin(x);y2=cos(x);> >plot(x,y1,b:+,x,y2,g-.*)网格和标记在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。> >x=linspace(0,2*pi,30);y=sin(x);z=cos(x);>>plot(x,y,x,z)>>grid> >xlabel(

6、IndependentVariableX)> >ylabel(DependentVariablesYandZ)> >title(SineandCosineCurves)也可以在图形的任何位置加上一个字符串,如用:> >text(2.5,0.7,sinx)表示在坐标x=2.5,y=0.7处加上字符串sinx。更方便的是用鼠标来确定字符串的位置,方法是输入命令:> >gtext(sinx)在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。坐标系的控制在缺省t#况下MATLA的动选择图形的横、纵坐标的比例,如果你对这个比例不满意

7、,可以用axis命令控制,常用的有:axis(xminxmaxyminymax)中分别给出x轴和y轴的最大值、最小值axisequal或axis(equal)x轴和y轴的单位长度相同axissquare或axis(square)图框呈方形axisoff或axis(off)清除坐标刻度还有axisautoaxisimageaxisxyaxisijaxisnormalaxisonaxis(axis)用法可参考在线帮助系统。多幅图形可以在同一个画面上建立几个坐标系,用subplot(m,n,p)命令;把一个画面分成m<n个图形区域,p代表当前的区域号,在每个区域中分别画一个图,如> &g

8、t;x=linspace(0,2*pi,30);y=sin(x);z=cos(x);> >u=2*sin(x).*cos(x);v=sin(x)./cos(x);> >subplot(2,2,1),plot(x,y),axis(02*pi-11),title('sin(x)> >subplot(2,2,2),plot(x,z),axis(02*pi-11),title('cos(x)> >subplot(2,2,3),plot(x,u),axis(02*pi-11),title(2sin(x)cos(x)> >subp

9、lot(2,2,4),plot(x,v),axis(02*pi-2020),title(sin(x)/cos(x)图形的输出在数学建模中,往往需要将产生的图形输出到Word文档中。通常可采用下述方法:首先,在MATLAIH形窗口中选择File菜单中的【Export选项,将打开形输出对话框,在该对话框中可以把图形以emf、bmpjpg、pgm等格式保存。然后,再打开相应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入相应的图片即可。zeros和ones这两个函数是怎么用的ones产生全1数组,zeros产生全零数组。ones(a,b)产生a行b列全1数组ones(a)产生a行a列全1叔祖

10、例如:ones(1,3)产生1行3列全1数组111ones(2)产生1111zeros用法同ones,只是产生的是全0数组MATLA冲的length函数在MATLAB:size:获取数组的行数和列数length:数组长度(即行数或列数中的较大值)numel:元素总数。s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。r,c=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量。如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或

11、列数。其中r=size(A,1)该语句返回的时数组A的行数,c=size(A,2)该语句返回的时数组A的列数。n=numel(A)该语句返回数组中元素的总数。n=length(A):如果A为非空数组,返回行数和列数两者之间数值较大的那一个值,即相当于执行了max(size(A);如果A为空数组,则返回0;如果A是一个向量则返回A的长度。n=max(size(A):若A为非空数组,返回A的最大维数;若A为空数组,返回A中最长的非0维数。【matlabspline和ppval的意义x=0.10.050.020.010.0050.001;y=10094.6872.1041.8227.1311.69;

12、x1=log10(x);y1=y;figure,plot(x1,y1,'o')xx=-3.0:0.04:-1;pp=spline(x1,y1);y2=ppval(pp,xx)figure,plot(xx,y2,'o')xx=-3.0:0.04:-1;%表示xx从-3.0开始每隔0.04取值到-1为止(即xx=-3.0,-2.96,-2.92,-0.96,-1)pp=spline(x1,y1);%表示样条插值y2=ppval(pp,xx)%插值曲线上,xx所对应的yy可以把最后两句写成yy=spline(x1,y1,xx);最后画出曲线plot(xx,yy,

13、9;-')就是等效于plot(xx,y2,'-')用法:linspace(x1,x2,N)linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。相关函数:logspace用法:x=logspace(a,b,n)功能:logspace(a,b,n)生成一个(1xn)数组,数据的第一个元素值为10,最后一个元素为10叱,n是总采样点数。需要注意的是,此时产生的数组元素在10Aa到10Ab上并不是均匀分布的,而形成一个对数曲线。matlabinterp1里面的spline做

14、三次样条插值三次样条插值直接用spline函数做。边界条件加在y的首尾,第一个表示y'(x0),最后一个表示y'(xt)。如果不加边界条件,默认是not-a-knot边界条件(注意不是自然边界条件)自然边界条件的插值要用csape函数才能得到。如果用interp1,则只能使用spline函数的默认边界条件,即not-a-knot条件。x=0:3:9;y=x.*cos(x);%.*向量乘xx=linspace(0,9);plot(x,y,'o');%样本点holdon;plot(xx,interp1(x,y,xx,'spline'),'r&

15、#39;);%interp1只能使用默认边界条件plot(xx,spline(x,0y0,xx),'r:');%spline可以使用第一类边界条件,这里y'(0)=y'(9)=0pp=csape(x,y,'second');plot(xx,fnval(pp,xx)%第二类边界条件要用csape做,这里自然边界条件legend%('样本点','默认边界条件','一阶导为0','自然边界条件','location','south')8randi是matla

16、b中能产生均匀分布的伪随机整数的新函数用法有:randi(imax)r=randi(imax,n)randi(imax,m,n)randi(imax,m,n)randi(imax,m,n,p,)randi(imax,m,n,p,.)randi(imax,size(A)r=randi(imin,imax,)r=randi(.,classname)例如:randi(01,1,10)生成1*10的0、1随机的矩阵:ans=11100101009rand函数(用于产生随机数)均匀分布的随机数或矩阵语法Y=rand(n)Y=rand(m,n)Y=rand(mn)Y=rand(m,n,p,.)Y=rand

17、(mnp.)Y=rand(size(A)rands=rand('state')描述rand函数产生由在(0,1)之间均匀分布的随机数组成的数组。Y=rand(n)返回一个nxn的随机矩阵。如果n不是数量,则返回错误信息。Y=rand(m,n)或Y=rand(mn)返回一个mxn的随机矩阵。Y=rand(m,n,p,.)或Y=rand(mnp.)产生随机数组。Y=rand(size(A)返回一个和A有相同尺寸的随机矩阵。1,rand(3)*-2rand(3)是一个3*3的随机矩阵(数值范围在01之间)然后就是每个数乘上-22,用matlab随机产生60个1到365之间的正数1+f

18、ix(365*rand(1,60);3,用rand函数随机取100个从-1到1的数x1,x2,.,x=rand(1,100)*2-110、函数unidrnd简介函数功能:产生一组离散均匀随机数。语法格式:R=unidrnd(N)产生从1到N所指定的最大数数之间的离散均匀随机数。其中N可以是一个向量、矩阵、多维数组(当然也可以是一个数,即1乘以1的矩阵),但N中所有元素都必须是正整数。这种调用方式将产生一个和N具有相同尺寸(行、列、维数)的矩阵R。R=unidrnd(N,v)这种调用格式中v是一个行向量,如果v是一个1乘以2的向量,则v中的两个元素分别指定了生成的矩阵R的行数(由v(1)指定)和列数(由v(2)指定)。如果v是一个1乘以n的矩阵,则R是一个n维数组。R=unidrnd(N,m,n)这里m和n分别指定生成的矩阵R的行数和列数。程序示例> >a=unidrnd(1)> =1>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论