1、matlab函数分类整理matlab函数分类整理基本数学函数abs(x):纯量的绝对值或向量的长度angle(z):复数z的相角(Phase angle)sqrt(x):开平方real(z):复数z的实部imag(z):复数z的虚部conj(z):复数z的共轭复数round(x):四舍五入至最近整数fix(x):无论正负,舍去小数至最近整数floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示rats(x):将实数x化为多项分数展开sign(x):符号函数 (Signum function)。 rem(x,y):求
2、x除以y的余数gcd(x,y):整数x和y的最大公因数lcm(x,y):整数x和y的最小公倍数exp(x):自然指数pow2(x):2的指数log(x):以e为底的对数,即自然对数log2(x):以2为底的对数log10(x):以10为底的对数=三角函数sin(x):正弦函数cos(x):馀弦函数tan(x):正切函数asin(x):反正弦函数acos(x):反馀弦函数atan(x):反正切函数atan2(x,y):四象限的反正切函数sinh(x):超越正弦函数cosh(x):超越馀弦函数tanh(x):超越正切函数asinh(x):反超越正弦函数acosh(x):反超越馀弦函数atanh(x
3、):反超越正切函数=向量函数有:min(x): 向量x的元素的最小值max(x): 向量x的元素的最大值mean(x): 向量x的元素的平均值median(x): 向量x的元素的中位数std(x): 向量x的元素的标准差diff(x): 向量x的相邻元素的差sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和prod(x): 向量x的元素总乘积cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积dot(x, y): 向量x和y的
4、内积cross(x, y): 向量x和y的外积(大部份的向量函数也可适用於矩阵)=查询命令help:用来查询已知命令的用法。例如已知inv是用来计算反矩阵,键入help inv即可得知有关inv命令的用法。(键入help help则显示help的用法,请试看看!)lookfor:用来寻找未知的命令。例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。=系统定义的常数。i或j:基本虚数单位(即)eps:系统的浮点(Floating-point)精确度inf:无限大, 例如1/0nan或NaN:非数值(Not a number
5、),例如0/0pi:圆周率 p(= 3.1415926.)realmax:系统所能表示的最大数值realmin:系统所能表示的最小数值nargin: 函数的输入引数个数nargin: 函数的输出引数个数=基本绘图函数plot: x轴和y轴均为线性刻度(Linear scale)loglog: x轴和y轴均为对数刻度(Logarithmic scale)semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度=plot(x, sin(x), co, x, cos(x), g*);=plot绘图函数的参数含义字元 颜色 字元 图线型态y 黄色 . 点k
6、黑色 o 圆w 白色 x xb 蓝色 + +g 绿色 * *r 红色 - 实线c 亮青色 : 点线m 锰紫色 -. 点虚线- 虚线=可用axis(xmin,xmax,ymin,ymax)函数来调整图轴的范围:如axis(0, 6, -1.2, 1.2);注解与处理:xlabel(Input Value); % x轴注解ylabel(Function Value); % y轴注解title(Two Trigonometric Functions); % 图形标题legend(y = sin(x),y = cos(x); % 图形注解grid on; % 显示格线我们可用subplot来同时画出数
7、个小图形於同一个视窗之中:subplot(2,2,1); plot(x, sin(x);subplot(2,2,2); plot(x, cos(x);subplot(2,2,3); plot(x, sinh(x);subplot(2,2,4); plot(x, cosh(x);=其他各种二维绘图函数(了解)bar 长条图errorbar图形加上误差范围fplot 较精确的函数图形polar 极座标图hist 累计图rose 极座标累计图stairs 阶梯图stem 针状图fill 实心图feather 羽毛图compass 罗盘图quiver 向量场图=以下我们针对每个函数举例。(了解)当资料
8、点数量不多时,长条图是很适合的表示方式:close all; % 关闭所有的图形视窗x=1:10;y=rand(size(x);bar(x,y);如果已知资料的误差量,就可用errorbar来表示。下例以单位标准差来做资料的误差量:x = linspace(0,2*pi,30);y = sin(x);e = std(y)*ones(size(x);errorbar(x,y,e)对於变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进行较密集的取样,如下例:fplot(sin(1/x), 0.02 0.2); % 0.02 0.2是绘图范围若要产生极座标图形,可用polar:the
9、ta=linspace(0, 2*pi);r=cos(4*theta);polar(theta, r);对於大量的资料,我们可用hist来显示资料的分情况和统计特性。下面几个命令可用来验证randn产生的高斯乱数分:x=randn(5000, 1); % 产生5000个 ?=0,?=1 的高斯乱数hist(x,20); % 20代表长条的个数rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离x=randn(1000, 1);rose(x);stairs可画出阶梯图:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stairs(x,y);ste
10、ms可产生针状图,常被用来绘制数位讯号:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stem(x,y);stairs将资料点视为多边行顶点,并将此多边行涂上颜色:x=linspace(0,10,50);y=sin(x).*exp(-x/3);fill(x,y,b); % b为蓝色feather将每一个资料点视复数,并以箭号画出:theta=linspace(0, 2*pi, 20);z = cos(theta)+i*sin(theta);feather(z);compass和feather很接近,只是每个箭号的起点都在圆点:theta=linspace(0,
11、 2*pi, 20);z = cos(theta)+i*sin(theta);compass(z);3.基本XYZ立体绘图命令 mesh和surf是三度空间立体绘图的基本命令,mesh可画出立体网状图,surf则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。下列命令可画出由函数 形成的立体网状图: x=linspace(-2, 2, 25); % 在x轴上取25点 y=linspace(-2, 2, 25); % 在y轴上取25点 xx,yy=meshgrid(x, y); % xx和yy都是21x21的矩阵 zz=xx.*exp(-xx.2-yy.2); % 计算函数值,zz也是2
12、1x21的矩阵 mesh(xx, yy, zz); % 画出立体网状图 surf和mesh的用法类似: x=linspace(-2, 2, 25); % 在x轴上取25点 y=linspace(-2, 2, 25); % 在y轴上取25点 xx,yy=meshgrid(x, y); % xx和yy都是21x21的矩阵 zz=xx.*exp(-xx.2-yy.2); % 计算函数值,zz也是21x21的矩阵 surf(xx, yy, zz); % 画出立体曲面图 为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为
13、: 要画出此函数的最快方法即是直接键入peaks: peaks z = 3*(1-x).2.*exp(-(x.2) - (y+1).2) . - 10*(x/5 - x.3 - y.5).*exp(-x.2-y.2) . - 1/3*exp(-(x+1).2 - y.2) 我们亦可对peaks函数取点,再以各种不同方法进行绘图。相关函数分析:1meshz可将曲面加上围裙: x,y,z=peaks; meshz(x,y,z); axis(-inf inf -inf inf -inf inf); 2waterfall可在x方向或y方向产生水流效果: x,y,z=peaks; waterfall(x
14、,y,z); axis(-inf inf -inf inf -inf inf); 下列命令产生在y方向的水流效果: x,y,z=peaks; waterfall(x,y,z); axis(-inf inf -inf inf -inf inf); 3meshc同时画出网状图与等高线: x,y,z=peaks; meshc(x,y,z); axis(-inf inf -inf inf -inf inf); 4surfc同时画出曲面图与等高线: x,y,z=peaks; surfc(x,y,z); axis(-inf inf -inf inf -inf inf); 5contour3画出曲面在三度空间中的等高线: contour3(peaks, 20); axis(-inf inf -inf inf -inf inf); contour画出曲面等高线在XY平面的投影: contour(peaks, 20); 6plot3可画出三度空间中的曲线: (是三维曲线,用法同plot)t=linspace(0,20*pi, 501); plot3(t.*sin(t), t.*cos(t), t);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2