MATLAB中常用的基本数学函数以及三角函数MATLAB中常用的基本数学函数有:abs(x):纯量的绝对值或向量的长度angle(z):复数z的相角(Phaseangle)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化为多项分数展开rem(x,y):求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为底的对数sign(x):符号函数(Signumfunction)。当x0时,sign(x)=-1;当x=0时,sign(x)=0;当x0时,sign(x)=1。-------------------------------------------------MATLAB中常用的三角函数有: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):反超越正切函数适用于向量的常用函数有: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的欧氏长度sum(x):向量x的元素总和prod(x):向量x的元素总乘积cumsum(x):向量x的累计元素总和cumprod(x):向量x的累计元素总乘积dot(x,y):向量x和y的内积cross(x,y):向量x和y的外积MATLAB中常用到的永久常数有:i或j:基本虚数单位eps:系统的浮点(Floating-point)精确度inf:无限大,例如1/0nan或NaN:非数值(Notanumber),例如0/0pi:圆周率p(=3.1415926...)realmax:系统所能表示的最大数值realmin:系统所能表示的最小数值nargin:函数的输入引数个数nargin:函数的输出引数个数MATLAB中基本绘图函数有:plot:x轴和y轴均为线性刻度loglog:x轴和y轴均为对数刻度semilogx:x轴为对数刻度,y轴为线性刻度semilogy:x轴为线性刻度,y轴为对数刻度若要画出多条曲线,只需将坐标对依次放入plot函数即可:plot(x,f1(x),x,f2(x));若要改变颜色,在坐标对后面加上相关字串即可:plot(x,f1(x),'c',x,f2(x),'g');若要同时改变颜色及图线型态(Linestyle),也是在坐标对后面加上相关字串即可:plot(x,f1(x),'co',x,f2(x),'g*');plot绘图函数的参数有:字元颜色字元图线型态y黄色.点k黑色o圆w白色xxb蓝色++g绿色**r红色-实线c亮青色:点线m锰紫色-.点虚线--虚线图形完成后,可以用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围。此外,MATLAB也可对图形加上各种注解与处理:xlabel('');%x轴注解ylabel('');%y轴注解title('');%图形标题legend('','');%图形注解gridon;%显示格线我们可用subplot来同时画出数个小图形于同一个视窗之中:subplot(2,2,1);plot(x,f1(x));subplot(2,2,2);plot(x,f2(x));subplot(2,2,3);plot(x,f3(x));subplot(2,2,4);plot(x,f4(x));-------------------------------------------------matlab中其他二维绘图函数:bar:长条图errorbar:图形加上误差范围fplot:较精确的函数图形polar:极坐标图hist:累计图rose:极坐标累计图stairs:阶梯图stem:针状图fill:实心图feather:羽毛图compass:罗盘图quiver:向量场图MATLAB算术运算命令%prod对于向量返回的是其所有元素的积;a=prod([1,2,3,4])a=24;对于矩阵返回的是按列向量的所有元素的积,然后组成一行向量;b=magic(3)b=816357492c=prod(b)c=964584%reshape把矩阵改变成指定的形状,但是元素个数不变a=[1234]如果使用b=reshape(a,1,4),则得到的结果是:b=[1324]如果想得到b=[1234],需要使用b=reshape(a',1,4)因为reshape使用的列优先!%mean2、std2mean2:计算矩阵元素的平均数std2:计算矩阵元素的标准差%mean、stdFormatrices,MEAN(X,DIM)takesthemeanalongthedimensionDIMofX%rand产生的是0到1(不包括1)的随机数.matlab的rand函数生的是伪随机数,即由种子递推出来的,相同的种子,生成相同的随机数.matlab刚运行起来时,种子都为初始值,因此每次第一次执行rand得到的随机数都是相同的.1.多次运行,生成相同的随机数方法:用rand('state',S)设定种子S为35阶向量,最简单的设为0就好例:rand('state',0);rand(10)2.生成不同的随机数方法:试着产生和时间相关的随机数,种子与当前时间有关.rand('state',sum(100*clock))即:rand('state',sum(100*clock));rand(10)只要执行rand('state',sum(100*clock));只要当前计算机时间不同,生成的随机值就不同.也就是如果时间相同,生成的随机数还是会相同.在你计算机速度足够快的情况下,试运行一下:rand('state',sum(100*clock));A=rand(5,5);rand('state',sum(100*clock));B=rand(5,5);A和B是相同.所以建议再增加一个随机变量,变成:rand('state',sum(100*clock)*rand(1));%randn产生标准正态分布的随机数或矩阵的函数rand是0-1的均匀分布,randn是均值为0方差为1的正态分布randn产生均值为0,方差σ^2=1,标准差σ=1的正态分布的随机数或矩阵的函数。用法:Y=randn(n)返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。Y=randn(m,n)或Y=randn([mn])返回一个m*n的随机项矩阵。Y=randn(m,n,p,...)或Y=randn([mnp...])产生随机数组。Y=randn(size(A))返回一个和A有同样维数大小的随机数组。randn返回一个每次都变化的数量。s=randn('state')举例:Example1.R=randn(3,4)将生成矩阵R=1.16500.35160.05910.87170.6268-0.69651.7971-1.44620.07511.69610.2641-0.7012Example2.产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下:x=.6+sqrt(0.1)*randn(5)x=0.87130.47350.81140.09270.76720.99660.81820.97660.68140.66940.09600.85790.21970.26590.30850.14430.82510.59371.0475-0.08640.78061.00800.55040.34540.5813%repmat矩阵堆叠函数.使用用法如下:B=repmat(A,m,n)B=repmat(A,[mn])B=repmat(A,[mnp...])这是一个处理大矩阵且内容有重复时使用,其功能是以A的内容堆叠在(MxN)的矩阵B中,B矩阵的大小由MxN及A矩阵的内容决定,如果A是一个3x4x5的矩阵,有B=repmat(A,2,3)则最后的矩阵是6x12x5例如:B=repmat([12;34],2,3)B=121212343434121212343434其结果变为4X6%fix,floor,ceil,roundMatlab取整函数具体应用方法如下:fix—朝零方向取整,如fix(-1.3)=-1;fix(1.3)=1;floor—朝负无穷方向取整,如floor(-1.3)=-2;floor(1.3)=1;ceil—朝正无穷方向取整,如ceil(-1.3)=-1;ceil(1.3)=2;round—四舍五入到最近的整数%max/min求矩阵的最大值和最小值求矩阵A的最大值的函数有3种调用格式,分别是:(1)max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。(2)[Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。(3)max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。(4)MIN(X,Y)returnsanarraythesamesizeasXandYwiththesmallestelementstakenfromXorY.Eitheronecanbeascalar.求最小值的函数是min,其用法和max完全相同。%size/length/numelsize:获取数组的行数和列数length:数组长度(即行数或列数中的较大值)numel:元素总数。s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。[r,c]=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量。如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或列数。其中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维数%mod&rem简单的说mod(a,b)就是求的是a除以b的余数。比方说mod(100,3)=1,mod(17,6)=5Examples:mod(13,5)ans=3mod([1:5],3)ans=12012mod(magic(3),3)ans=210021102rem和mod的区别如果你不仔细区分的话,可以把rem和mod都当作是求余数的命令。比如,