matlab基本语句
matlab常用指令

matlab常用指令MATLAB是一款非常实用的科学计算软件,在使用过程中,一些常用的指令是非常必要的。
在本篇文章中,我们将会介绍MATLAB常用指令,以使你更加熟练掌握MATLAB的使用。
一、基本数学运算+ 加- 减* 乘/ 除^ 幂(指数)sqrt 平方根exp 取指数log 取自然对数log10 取以10为底的对数sin 正弦cos 余弦tan 正切asin 反正弦acos 反余弦atan 反正切abs 绝对值rem 模运算fix 向零取整floor 向负无穷取整ceil 向正无穷取整round 四舍五入mod 取摸余数二、变量与矩阵1、赋值:通过等号将数值赋给变量,如:a=3;b=2.1;c=2+3i;2、数列:建立一个等差数组,例如:d=1:10; %1到10的等差数列e=linspace(0,2*pi,100); %0到2*pi之间的100个等间距点 a=[1 2 3;4 5 6;7 8 9];b=zeros(2,3);c=ones(3,2);d=rand(3,3);e=eye(4);4、矩阵元素操作:通过下标访问矩阵中的元素,例如:a(1,2) %输出a矩阵第一行第二列的元素b(2,3)=7 %将b矩阵第二行第三列的元素赋为75、矩阵运算:矩阵加减乘除,如:a+b %对应元素相加a-b %对应元素相减a*b %矩阵乘法a/b %矩阵除法a' %矩阵转置6、矩阵函数:除了使用基本操作外,还能使用各种矩阵相关函数完成矩阵计算,例如:inv(a) %矩阵求逆det(a) %矩阵求行列式trace(a) %矩阵求迹eig(a) %求特征值rank(a) %矩阵的秩size(a) %返回矩阵的大小max(a) %求矩阵元素最大值min(a) %求矩阵元素最小值sum(a) %求矩阵元素的和prod(a) %求矩阵所有元素的乘积mean(a) %求矩阵元素的平均值三、绘图1、二维绘图:绘制二维函数的曲线、散点图等,例如:x=linspace(-3,3,100); %生成-3到3之间的100个等间距点y=sin(x);plot(x,y); %绘制正弦函数曲线plot(x,y,'r--'); %绘制红色的正弦函数曲线,形状为虚线xlabel('x values');ylabel('y values');title('sine function');grid on;四、数据处理1、数据导入:在MATLAB中,可以通过各种方式将数据导入,如:a=load('filename.txt'); %从文件中载入数据b=xlsread('filename.xls'); %从Excel文件中载入数据五、编程1、条件语句:通过条件语句实现程序的分支结构,例如:if(a<0)disp('a is negative');elseif(a==0)disp('a is zero');elsedisp('a is positive');endfor i=1:10disp(i);end3、函数:在MATLAB中,可以自定义函数,函数调用格式为:function [out1,out2,...]=function_name(in1,in2,...)%函数说明%计算过程end4、脚本:在MATLAB中,脚本是一些命令或函数的集合,可以将脚本保存到文件中执行,例如:%脚本说明a=1;b=2;c=a+b;disp(c);以上便是MATLAB一些常用指令的详细介绍。
matlab m 编程语言

matlab m 编程语言Matlab M编程语言是一种高级的数值计算和编程环境,其提供了丰富的函数和工具箱,用于科学计算、数据分析、图像处理等各个领域。
本文将介绍Matlab M编程语言的基本语法和常用功能。
一、基本语法Matlab M编程语言的基本语法类似于其他编程语言,包括变量的定义和赋值、条件语句、循环语句等。
下面以一个简单的例子来说明基本语法:```matlab% 定义变量a = 10;b = 20;% 条件语句if a > bdisp('a大于b');elseif a < bdisp('a小于b');elsedisp('a等于b');end% 循环语句for i = 1:5disp(i);end```二、常用函数和工具箱Matlab M编程语言提供了丰富的函数和工具箱,用于各种科学计算和数据处理任务。
下面列举一些常用的函数和工具箱:1. 统计工具箱:用于统计分析和数据建模,包括描述统计、假设检验、回归分析等功能。
2. 图像处理工具箱:用于图像处理和计算机视觉任务,包括图像滤波、边缘检测、图像分割等功能。
3. 信号处理工具箱:用于信号处理和数字信号处理任务,包括滤波、频谱分析、时频分析等功能。
4. 控制系统工具箱:用于控制系统分析和设计,包括传递函数表示、稳定性分析、控制器设计等功能。
5. 优化工具箱:用于优化问题的建模和求解,包括线性规划、非线性规划、整数规划等功能。
三、应用实例Matlab M编程语言在科学计算和工程应用中有广泛的应用。
下面举两个实际应用的例子:1. 图像处理:利用Matlab M编程语言中的图像处理工具箱,可以对图像进行各种处理和分析。
例如,可以对医学影像进行图像增强,提取感兴趣区域,进行图像分割等操作。
2. 机器学习:Matlab M编程语言提供了丰富的机器学习工具箱,可以用于分类、聚类、回归等任务。
例如,可以利用支持向量机对数据进行分类,利用神经网络进行回归分析等。
matlab条件语句

matlab条件语句Matlab一种数学软件,常用于数值计算、可视化和编程。
它是一个功能强大的工具,可以帮助从事数学、工程和科学领域的研究人员进行分析。
Matlab 中的条件语句是一种语句,可以为程序提供灵活性和控制,可以根据需要执行代码块。
Matlab 中有三种基本条件语句:if-else,switch-casetry-catch。
这些条件语句允许程序员构建复杂的程序,以便在不同情况下执行不同代码。
if句是 Matlab 中最常用的一种条件语句,它的语法如下:if件一组 Matlab句endif-else句允许程序员在特定条件下执行特定的Matlab句。
它的语法如下:if件一组 Matlab句else一组其他 Matlab句endswitch-case句是另一种复杂条件语句,它允许程序员指定不同的代码块,根据不同的情况来执行它们,这种情况可以是字符串、数字或别的变量类型。
它的语法如下:switch件case1一组 Matlab句case2一组 Matlab句casen一组 Matlab句end最后,Matlab持一种异常处理语句,即 try-catch。
这种语句允许程序员在程序运行过程中捕获并处理错误。
它的语法如下:try一组 Matlab句catch一组 Matlab句end使用 Matlab 中的条件语句可以提高程序的效能和灵活性,使我们能够在不同的情况下执行不同的代码段,实现更强大的功能。
条件语句可以使程序更容易维护,更易于理解和调试。
Matlab一种强大的数学软件,灵活的条件语句可以使程序更具灵活性和可扩展性。
学习使用 Matlab条件语句可以让程序员更有效地完成自己的工作。
常用matlab语句

setxor:集合异或(不在交集中的元素)
union:两个集合的并
unique:返回向量作为一个集合所有元素(去掉相同元素)
14、代数式因式分解,展开,极限,倒数,级数求和,泰勒级数展开
>>syms x y a b c t
>>E1 = expand((x-2)*(x-4)*(y-t))//因式展开
3、将向量坐标在matlab里作图:
x=xlsread('C:\Documents and Settings\Administrator\桌面\school\GIS\新建Microsoft Excel工作表.xls',1,'A1:a1000');
y=xlsread('C:\Documents and Settings\Administrator\桌面\school\GIS\新建Microsoft Excel工作表.xls',1,'b1:b1000');
2 3 4 6 7 8
2 3 5 6 7 8
2 4 5 6 7 8
3 4 5 6 7 8
19、设n个人中每个人的生日在一年365天中任一天是等可能的。 求当n为23,40,64时,这n个人中至少有两人生日相同的概率各为多少?
>> n=23;
>> p=1-nchoosek(365,n)*factorial(n)/365^n
Title(‘plot of sin(x)/x’);
Grid on;
fplot与ezplot相类似,但更加精确。前两个参数与函数ezplot中的相同,但是数fplot还有其他优点
1.函数fplot是适应性的,它意味着在自变量范围内函数突然变化显示更多的点。
matlab基本语句及语法

matlab基本语句及语法一、基本语法1. 变量定义与赋值:在MATLAB中,可以使用等号(=)将一个数值或表达式赋值给一个变量。
例如:a = 5; 表示将数值5赋值给变量a。
2. 注释:在MATLAB中,可以使用百分号(%)来添加注释,以便于代码的阅读和理解。
例如:% 这是一条注释。
3. 函数的定义与调用:在MATLAB中,可以使用关键字function 来定义函数,并使用函数名进行调用。
例如:function result = add(a, b) 表示定义了一个名为add的函数,该函数接受两个参数a 和b,并返回一个结果result。
4. 条件语句:在MATLAB中,可以使用if语句来实现条件判断。
例如:if a > b 表示如果a大于b,则执行if语句块中的代码。
5. 循环语句:在MATLAB中,可以使用for循环和while循环来实现循环操作。
例如:for i = 1:10 表示从1循环到10,每次循环中i 的值递增1。
6. 矩阵的定义与操作:在MATLAB中,可以使用方括号([])来定义矩阵,并使用各种运算符进行矩阵的操作。
例如:A = [1 2; 3 4] 表示定义了一个2x2的矩阵A。
7. 字符串的操作:在MATLAB中,可以使用单引号('')来定义字符串,并使用加号(+)来进行字符串的拼接。
例如:str = 'Hello' + 'World' 表示将字符串'Hello'和'World'进行拼接。
8. 文件的读写:在MATLAB中,可以使用fopen、fread、fwrite 等函数来进行文件的读写操作。
例如:fid = fopen('file.txt', 'w') 表示打开一个名为file.txt的文件,并以写入模式打开。
9. 图形绘制:在MATLAB中,可以使用plot、scatter、histogram等函数来进行图形的绘制。
matlab基础语句句法和举例

rootsSyntaxDescriptionr = roots(c) returns a column vector whose elements are the roots of the polynomial c. Row vector c contains the coefficients of a polynomial, ordered in descending powers. If c has n+1 components, the polynomial it represents is c1x n+c2x (n-1)+…+c n-1+1.>> c=[ 1 2 3]c =1 2 3>> roots(c)ans =-1.0000 + 1.4142i-1.0000 - 1.4142iexpexpExponentialSyntaxY = exp(X)DescriptionThe exp function is an elementary function that operates element-wise on arrays. Its domain includes complex numbers. Y = exp(X) returns the exponential for each element of Xlog %(注意MA TLAB里log是ln的意思)logNaturallogarithm SyntaxY = log(X)DescriptionThe log function operates element-wise on arrays. Its domain includes complex and negative numbers, which may lead to unexpected results if used unintentionally. Y = log(X) returns the natural logarithm of the elements of X.>> exp(log(1))ans =1反三角函数asinacosnorm 求向量的模或矩阵的范数Vector and matrix normsSyntaxn = norm(A)n = norm(A,p)DescriptionThe norm of a matrix is a scalar that gives some measure of the magnitude of the elements of the matrix.The norm function calculates several different types of matrix norms:n = norm(A) returns the largest singular value of A, max(svd(A)).n = norm(A,p) returns a different kind of norm, depending on the value of p.RemarksNote that norm(x) is the Euclidean length of a vector x. On the other hand, MATLAB uses "length" to denote the number of elements n in a vector. This example uses norm(x)/sqrt(n) to obtain the root-mean-square (RMS) value of an n-element vector x. x = [0 1 2 3]x =0 1 2 3sqrt(0+1+4+9) % Euclidean lengthans =3.7417norm(x)ans =3.7417n = length(x) % Number of elementsn =4rms = 3.7417/2 % rms = norm(x)/sqrt(n)rms =1.8708axis 建立坐标系axis Axis scaling and appearanceSyntaxaxis([xmin xmax ymin ymax])axis([xmin xmax ymin ymax zmin zmax cmin cmax])v = axisaxis autoaxis manualaxis tightaxis fillaxis ijaxis xyaxis equalaxis imageaxis squareaxis vis3daxis normalaxis offaxis onaxis(axes_handles,...)[mode,visibility,direction] = axis('state')Descriptionaxis manipulates commonly used axes properties. (See Algorithm section.)axis([xmin xmax ymin ymax]) sets the limits for the x- and y-axis of the current axes.axis([xmin xmax ymin ymax zmin zmax cmin cmax]) sets the x-, y-, and z-axis limits and the color scaling limits (see caxis) of the current axes.v = axis returns a row vector containing scaling factors for the x-, y-, and z-axis. v has four or six components depending on whether the current axes is 2-D or 3-D, respectively. The returned values are the current axes' XLim, Ylim, and ZLim properties.axis auto sets MATLAB to its default behavior of computing the current axes' limits automatically, based on the minimum and maximum values of x, y, and z data. You can restrict this automaticbehavior to a specific axis. For example, axis 'auto x' computes only the x-axis limits automatically; axis 'auto yz' computes the y- and z-axis limits automatically.axis manual and axis(axis) freezes the scaling at the current limits, so that if hold is on, subsequent plots use the same limits. This sets the XLimMode, YLimMode, and ZLimMode properties to manual.axis tight sets the axis limits to the range of the data.axis fill sets the axis limits and PlotBoxAspectRatio so that the axes fill the position rectangle. This option has an effect only if PlotBoxAspectRatioMode or DataAspectRatioMode are manual. axis ij places the coordinate system origin in the upper-left corner. The i-axis is vertical, with values increasing from top to bottom. The j-axis is horizontal with values increasing from left to right.axis xy draws the graph in the default Cartesian axes format with the coordinate system origin in the lower-left corner. The x-axis is horizontal with values increasing from left to right. The y-axis is vertical with values increasing from bottom to top.axis equal sets the aspect ratio so that the data units are the same in every direction. The aspect ratio of the x-, y-, and z-axis is adjusted automatically according to the range of data units in the x, y, and z directions.axis image is the same as axis equal except that the plot box fits tightly around the data.axis square makes the current axes region square (or cubed when three-dimensional). MATLAB adjusts the x-axis, y-axis, and z-axis so that they have equal lengths and adjusts the increments between data units accordingly.axis vis3d freezes aspect ratio properties to enable rotation of 3-D objects and overrides stretch-to-fill.axis normal automatically adjusts the aspect ratio of the axes and the relative scaling of the data units so that the plot fits the figures shape as best as possible.axis off turns off all axis lines, tick marks, and labels.axis on turns on all axis lines, tick marks, and labels.axis(axes_handles,...) applies the axis command to the specified axes. For example, the following statements:h1 = subplot(221);h2 = subplot(222);axis([h1 h2],'square')set both axes to square. [mode,visibility,direction] = axis('state') returns three strings indicating the current setting of axes properties:magic() 幻方函数magicMagic squareSyntaxM = magic(n)DescriptionM = magic(n) returns an n-by-n matrix constructed from the integers 1 through n^2 with equal row and column sums. The order n must be a scalar greater than or equal to 3.RemarksA magic square, scaled by its magic sum, is doubly stochastic.ExamplesThe magic square of order 3 is M = magic(3)M =8 1 63 5 74 9 2This is called a magic square because the sum of the elements in each column is the same. sum(M) =15 15 15And the sum of the elements in each row, obtained by transposing twice, is the same. sum(M')' =151515This is also a special magic square because the diagonal elements have the same sum. sum(diag(M)) =15The value of the characteristic sum for a magic square of order n is sum(1:n^2)/nwhich, when n = 3, is 15.AlgorithmThere are three different algorithms: n odd n even but not divisible by four n divisible by four To make this apparent, typefor n = 3:20A = magic(n);r(n) = rank(A);endFor n odd, the rank of the magic square is n. For n divisible by 4, the rank is 3. For n even but not divisible by 4, the rank is n/2 + 2.[(3:20)',r(3:20)']ans =3 34 35 56 57 78 39 910 711 1112 313 1314 915 1516 317 1718 1119 1920 3Plotting A for n = 18, 19, 20 shows the characteristic plot for each category.eye 制作单位阵(?)eyeIdentity matrixSyntaxY = eye(n)Y = eye(m,n)Y = eye(size(A))DescriptionY = eye(n) returns the n-by-n identity matrix.Y = eye(m,n) or eye([m n]) returns an m-by-n matrix with 1's on the diagonal and 0's elsewhere. Y = eye(size(A)) returns an identity matrix the same size as A.LimitationsThe identity matrix is not defined for higher-dimensional arrays. The assignment y = eye([2,3,4]) results in an error.>> n=3;y = eye(n)y =1 0 00 1 00 0 1>> n=4;m=9;eye(n,m)ans =1 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 00 0 0 1 0 0 0 0 0>>zeros OzerosCreate an array of all zerosSyntaxB = zeros(n)B = zeros(m,n)B = zeros([m n])B = zeros(d1,d2,d3...)B = zeros([d1 d2 d3...])B = zeros(size(A))DescriptionB = zeros(n) returns an n-by-n matrix of zeros. An error message appears if n is not a scalar.B = zeros(m,n) or B = zeros([m n]) returns an m-by-n matrix of zeros.B = zeros(d1,d2,d3...) or B = zeros([d1 d2 d3...]) returns an array of zeros with dimensionsd1-by-d2-by-d3-by-... .B = zeros(size(A)) returns an array the same size as A consisting of all zeros.RemarksThe MATLAB language does not have a dimension statement; MATLAB automatically allocates storage for matrices. Nevertheless, for large matrices, MATLAB programs may execute faster if the zeros function is used to set aside storage for a matrix whose elements are to be generated one at a time, or a row or column at a time.For examplex = zeros(1,n);for i = 1:n, x(i) = i; endtriu 取下三角行列式Upper triangular part of a matrixSyntaxU = triu(X)U = triu(X,k)>> triu(ones(4,4),-1)ans =1 1 1 11 1 1 10 1 1 10 0 1 1>> triu(ones(4,4),1)ans =0 1 1 10 0 1 10 0 0 10 0 0 0>> triu(ones(4,4),0)ans =1 1 1 10 1 1 10 0 1 10 0 0 1A.’矩阵A的转置inv 对矩阵求逆invMatrix inverseSyntaxY = inv(X)DescriptionY = inv(X) returns the inverse of the square matrix X.A warning message is printed if X is badly scaled or nearly singular. In practice, it is seldom necessary to form the explicit inverse of a matrix.A frequent misuse of inv arises when solving the system of linear equations A x=b. One way to solve this is with x = inv(A)*b. A better way, from both an execution time and numerical accuracy standpoint, is to use the matrix division operator x = A\b. This produces the solution usingGaussian elimination, without forming the inverse. See \ and / for further information.例1-9画出函数y = x2cosx 与z = sinx / x 在区间[-6π,6π]上的图像。
matlab的输出语句

matlab的输出语句在编程领域,Matlab是一个颇受欢迎的工具,用于数值计算、数据分析和算法开发。
作为一种高级编程语言,Matlab拥有丰富的功能和强大的输出语句,能够帮助开发者进行结果显示和调试。
本文将介绍Matlab中常用的输出语句,并探讨它们的灵活应用。
Matlab中最基本的输出语句是disp函数。
使用disp函数,我们可以将指定的文本或变量的值显示在Matlab命令窗口中。
例如,当需要输出一段提示文字时,可以调用disp函数,如下所示:```matlabdisp('Welcome to Matlab!');```这将在命令窗口中显示"Welcome to Matlab!"。
除了文本,我们还可以输出变量的值。
例如:```matlabx = 5;disp(x);```这将在命令窗口中显示变量x的值,即数字5。
除了disp函数,Matlab还提供了其他几种输出语句,如fprintf函数和sprintf函数。
这些函数允许我们根据需要格式化输出结果。
fprintf函数用于将格式化文本输出到文件或命令窗口。
它类似于C语言中的printf函数。
例如,我们可以使用fprintf函数将结果输出到文件中:```matlabfid = fopen('output.txt', 'w');fprintf(fid, 'The value of x is %d\n', x);fclose(fid);```这将在当前目录下创建一个名为output.txt的文件,并将内容输出为"The value of x is 5"。
注意,我们使用%d作为占位符,表示要替换为整数的值。
与fprintf函数类似,sprintf函数用于将格式化文本输出到字符串中,而不是文件。
这在需要将输出结果传递给其他函数或保存到变量中时非常有用。
(完整word)MATLAB常用

背出来,Matlab就无敌了一 matlab常用函数1、特殊变量与常数ans 计算结果的变量名computer 确定运行的计算机eps 浮点相对精度Inf 无穷大I 虚数单位inputname 输入参数名NaN 非数nargin 输入参数个数nargout 输出参数的数目pi 圆周率nargoutchk 有效的输出参数数目realmax 最大正浮点数realmin 最小正浮点数varargin 实际输入的参量varargout 实际返回的参量操作符与特殊字符+ 加 - 减*矩阵乘法 .* 数组乘(对应元素相乘)^ 矩阵幂 .^ 数组幂(各个元素求幂)\ 左除或反斜杠 / 右除或斜面杠。
/ 数组除(对应元素除)kron Kronecker张量积:冒号 () 圆括[] 方括。
小数点.。
父目录 .。
继续,逗号(分割多条命令) ; 分号(禁止结果显示)% 注释!感叹号 ' 转置或引用 = 赋值== 相等〈〉不等于& 逻辑与|逻辑或~逻辑非 xor 逻辑异或2、基本数学函数abs 绝对值和复数模长acos,acodh 反余弦,反双曲余弦acot,acoth 反余切,反双曲余切 acsc,acsch 反余割,反双曲余割 angle 相角asec,asech 反正割,反双曲正割secant 正切asin,asinh 反正弦,反双曲正弦 atan,atanh 反正切,双曲正切tangent 正切atan2 四象限反正切ceil 向着无穷大舍入complex 建立一个复数conj 复数配对cos,cosh 余弦,双曲余弦csc,csch 余切,双曲余切cot,coth 余切,双曲余切exp 指数fix 朝0方向取整floor 朝负无穷取整*** 最大公因数imag 复数值的虚部lcm 最小公倍数log 自然对数log2 以2为底的对数log10 常用对数mod 有符号的求余nchoosek 二项式系数和全部组合数real 复数的实部rem 相除后求余round 取整为最近的整数sec,sech 正割,双曲正割sign 符号数sin,sinh 正弦,双曲正弦sqrt 平方根 tan,tanh 正切,双曲正切3、基本矩阵和矩阵操作blkding 从输入参量建立块对角矩阵eye 单位矩阵linespace 产生线性间隔的向量logspace 产生对数间隔的向量numel 元素个数ones 产生全为1的数组rand 均匀颁随机数和数组randn 正态分布随机数和数组zeros 建立一个全0矩阵 colon) 等间隔向量cat 连接数组diag 对角矩阵和矩阵对角线fliplr 从左自右翻转矩阵flipud 从上到下翻转矩阵repmat 复制一个数组(完整word)MATLAB常用 reshape 改造矩阵roy90 矩阵翻转90度tril 矩阵的下三角triu 矩阵的上三角dot 向量点集cross 向量叉集ismember 检测一个集合的元素intersect 向量的交集 setxor 向量异或集 setdiff 向是的差集 union 向量的并集数值分析和傅立叶变换 cumprod 累积 cumsum 累加 cumtrapz 累计梯形法计算数值微分 factor 质因子 inpolygon 删除多边形区域内的点 max 最大值 mean 数组的均值 mediam 中值 min 最小值 perms 所有可能的转换 polyarea 多边形区域 primes 生成质数列表 prod 数组元素的乘积 rectint 矩形交集区域 sort 按升序排列矩阵元素 sortrows 按升序排列行 std 标准偏差 sum 求和 trapz 梯形数值积分 var 方差 del2 离散拉普拉斯 diff 差值和微分估计 gradient 数值梯度 cov 协方差矩阵 corrcoef 相关系数 conv2 二维卷积 conv 卷积和多项式乘法 filter IIR或FIR滤波器 deconv 反卷积和多项式除法 filter2 二维数字滤波器 cplxpair 将复数值分类为共轭对 fft 一维的快速傅立叶变换 fft2 二维快速傅立叶变换 fftshift 将FFT的DC分量移到频谱中心 ifft 一维快速反傅立叶变换 ifft2 二维傅立叶反变换 ifftn 多维快速傅立叶变换 ifftshift 反FFT偏移 nextpow2 最靠近的2的幂次 unwrap 校正相位角多项式与插值 conv 卷积和多项式乘法 roots 多项式的根 poly 具有设定根的多项式 polyder 多项式微分 polyeig 多项式的特征根 polyfit 多项式拟合 polyint 解析多项式积分 polyval 多项式求值 polyvalm 矩阵变量多项式求值 residue 部分分式展开 interp1 一维插值 interp2 二维插值 interp3 三维插值 interpft 使用FFT的一维插值 interpn 多维插值 meshgrid 为3维点生成x和y的网格 ndgrid 生成多维函数和插值的数组 pchip 分段3次Hermite插值多项式 ppval 分段多项式的值 spline 3次样条数据插值绘图函数 bar 竖直条图 barh 水平条图 hist 直方图 histc 直方图计数 hold 保持当前图形 loglog x,y对数坐标图 pie 饼状图 plot 绘二维图 polar 极坐标图 semilogy y轴对数坐标图 semilogx x轴对数坐标 subplot 绘制子图 bar3 数值3D竖条图 bar3h 水平3D条形图 comet3 3D慧星图 cylinder 圆柱体 fill3 填充的3D多边形 plot3 3维空间绘图 quiver3 3D震动(速度)图 slice 体积薄片图 sphere 球 stem3 绘制离散表面数据 wate***ll 绘制瀑布 trisurf 三角表面 clabel 增加轮廓标签到等高线图中 datetick 数据格式标记 grid 加网格线 gtext 用鼠标将文本放在2D图中 legend 图注 plotyy 左右边都绘Y轴 title 标题 xlabel X轴标签 ylabel Y轴标签 zlabel Z轴标签 contour 等高线图 contourc 等高线计算 contourf 填充的等高线图 hidden 网格线消影 meshc 连接网格/等高线 mesh 具有参考轴的3D网格 peaks 具有两个变量的采样函数 surf 3D阴影表面图 su***ce 建立表面低层对象 surfc 海浪和等高线的结合 surfl 具有光照的3D阴影表面 trimesh 三角网格图二 Matlab常用指令1、通用信息查询(General information)demo 演示程序 help 在线帮助指令 helpbrowser 超文本文档帮助信息 helpdesk 超文本文档帮助信息 helpwin 打开在线帮助窗 info MATLAB 和MathWorks 公司的信息 subscribe MATLAB 用户注册 ver MATLAB 和TOOLBOX 的版本信息 version MATLAB 版本 whatsnew 显示版本新特征2、工作空间管理(Managing the workspace)clear 从内存中清除变量和函数 exit 关闭MATLAB load 从磁盘中调入数据变量 pack 合并工作内存中的碎块 quit 退出MATLAB save 把内存变量存入磁盘 who 列出工作内存中的变量名 whos 列出工作内存中的变量细节 workspace 工作内存浏览器3 、管理指令和函数(Managing commands and functions)edit 矩阵编辑器 edit 打开M 文件 inmem 查看内存中的P 码文件 mex 创建MEX 文件 open 打开文件 pcode 生成P 码文件 type 显示文件内容 what 列出当前目录上的M、MAT、MEX 文件 which 确定指定函数和文件的位置4 、搜索路径的管理(Managing the seach patli)addpath 添加搜索路径 rmpath 从搜索路径中删除目录 path 控制MATLAB 的搜索路径 pathtool 修改搜索路径5、指令窗控制(Controlling the command window)beep 产生beep 声 echo 显示命令文件指令的切换开关 diary 储存MATLAB 指令窗操作内容 format 设置数据输出格式 more 命令窗口分页输出的控制开关6、操作系统指令(Operating system commands)cd 改变当前工作目录 computer 计算机类型 copyfile 文件拷贝 delete 删除文件 dir 列出的文件 dos 执行dos 指令并返还结果 getenv 给出环境值 ispc MATLAB 为PC(Windows)版本则为真 isunix MATLAB 为Unix 版本则为真 mkdir 创建目录 pwd 改变当前工作目录 unix 执行unix 指令并返还结果 vms 执行vms dcl 指令并返还结果 web 打开web 浏览器 ! 执行外部应用程序三 Matlab运算符和特殊算符1、算术运算符(Arithmetic operators)+ 加—减 * 矩阵乘 .*数组乘 ^ 矩阵乘方 .^ 数组乘方 \ 反斜杠或左除 / 斜杠或右除。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab基本语句1。
循环语句forﻫfor i=s1:s3:s2循环语句组ﻫendﻫ解释:首先给i赋值s1;然后,判断i就是否介于s1与s2之间;如果就是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。
例:求1到100得与,可以编程如下:sum=0ﻫfor i=1:1:100sum=sum+iendﻫ这个程序也可以用while语句编程。
注:for循环可以通过break语句结束整个for循环。
2ﻫﻫ。
循环语句while例:sum=0;i=1;while(i〈=100)ﻫsum=sum+i;i=i+1;end3。
if语句ﻫif(条件)ﻫ语句endﻫif(条件)ﻫ语句ﻫelseﻫ语句ﻫendﻫif(条件)语句elseifﻫ语句ﻫendﻫﻫ4.关系表达式:=,>,〈,>=,<=,==(精确等于)5ﻫ。
逻辑表达式:|(或),&(且)ﻫﻫ6。
[n,m]=size(A)(A 为矩阵)ﻫ这样可以得到矩阵A得行与列数ﻫn=length(A),可以得到向量A得分量个数;如果就是矩阵,则得到矩阵A得行与列数这两个数字中得最大值、ﻫ7、!后面接Dos命令可以调用运行一个dos程序、8.常见函数:poly():为求矩阵得特征多项式得函数,得到得为特征多项式得各个系数。
如a=[1,0,0;0,2,0;0,0,3],则poly(a)=1-6 11 -6。
相当于poly(a)=1入^3+(-6)入^2+11入+(—6)。
ﻫpan():可以求矩阵得伴随矩阵、ﻫsin()等三角函数。
MATLAB在数学建模中得应用(3)ﻫ一、程序设计概述ﻫMATLAB所提供得程序设计语言就是一种被称为第四代编程语言得高级程序设计语言,其程序简洁,可读性很强,容易调试、同时,MATLAB得编程效率比C/C ++语言要高得多、MATLAB编程环境有很多、常用得有:1. 命令窗口ﻫ2. word窗口3、M-文件编辑器,这就是最好得编程环境。
M—文件得扩展名为“。
m”。
M-文件得格式分为两种:ﻫ①l M-脚本文件,也可称为“命令文件”。
ﻫ②M-函数文件、这就是matlab程序设计得主流。
lﻫ保存后得文件可以随时调用、ﻫ二、MATLAB程序结构ﻫ按照现代程序设计得观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构就是:顺序结构、选择结构与循环结构。
其中顺序结构就是最基本得结构,它依照语句得自然顺序逐条地执行程序得各条语句。
如果要根据输入数据得实际情况进行逻辑判断,对不同得结果进行不同得处理,可以使用选择结构。
如果需要反复执行某些程序段落,可以使用循环结构、1 顺序结构ﻫ顺序结构就是由两个程序模块串接构成、一个程序模块就是完成一项独立功能得逻辑单元,它可以就是一段程序、一个函数,或者就是一条语句。
ﻫ瞧图可知,在顺序结构中,这两个程序模块就是顺序执行得,即先执行<程序模块1>,然后执行〈程序模块2>。
ﻫ实现顺序结构得方法非常简单,只需将程序语句顺序排列即可、ﻫ2 选择结构在MATLAB中,选择结构可由两种语句来实现。
ﻫ(1) if语句if语句得最简单用法为:ﻫif 表达式;ﻫ程序模块;ﻫendﻫﻫif语句得另一种用法为:ﻫif表达式ﻫ程序模块1ﻫ else 程序模块2ﻫendﻫﻫ例1 使用if语句判断学生得成绩就是否及格。
ﻫ程序:ﻫ clearn=input(’输入n= ')m=60;if n<m,r=’不及格’elser='及格’endﻫ练习一:将例1写入M—文件编辑器,然后在mand window 调用这个程序。
ﻫﻫ当针对多个条件进行选择时,可以采用下面得格式:ﻫif表达式1程序模块1ﻫelseif 表达式2程序模块2…………ﻫelseif表达式n程序模块nelseﻫ程序模块n+1end例2 将百分之得学生成绩转换为五分制输出。
ﻫ程序:clearﻫn=input(’输入n= ’)ﻫif n〉=90ﻫ chji='优秀’elseif n>=80ﻫchji='良好’ﻫ elseif n〉=70ﻫchji=’中等'elseifn>=60ﻫ chji=’及格'ﻫ elsechji=’不及格’endﻫ练习二:将例2写入M—文件编辑器,然后在command window 调用这个程序。
ﻫﻫ(2) switch语句ﻫ switch语句可以替代多分支得if语句,而且switch语句简洁明了,可读性更好。
其格式为:switch表达式ﻫ case 数值1程序模块1ﻫcase 数值2ﻫ程序模块2……otherwise程序模块nﻫend其中得otherwise模块可以省略。
switch语句得执行过程就是:首先计算表达式得值,然后将其结果与每一个case后面得数值依次进行比较,如果相等,则执行该case得程序模块;如果都不相等,则执行otherwise模块中得语句。
如图3所示。
例3 用switch…case开关结构将百分制得学生成绩转换为五分制得成绩输出。
ﻫ程序:ﻫclearx=58switchfix(x/10)ﻫcase {10,9}y=’优秀’ﻫcase 8ﻫy=’良好’case 7y=’中等’case6ﻫy=’及格’ﻫotherwiseﻫy='不及格’ﻫend练习三:将例3写入M-文件编辑器,然后在commandwindow 调用这个程序。
ﻫ3 循环结构循环结构得流程图如图4所示它可以多次重复执行某一组语句。
循环就是计算机解决问题得主要手段。
在MATLAB中,循环结构可以由两种语句结构实现、(1) for…end循环结构、其格式为:ﻫfor i=V,循环体结构,endﻫ其中V为一个行向量,循环变量i每次从V中取一个数值,执行一次循环体得内容,如此下去,直到完成V中得所有分量,就自动结束循环体得执行。
例4 计算s=12+22+52、程序:a=[1 2 5 ]; s=0;for k=a, ﻫs=s+k^2;end, ﻫ s,ﻫ该例题只就是为了说明for语句得格式,事实上,用下面得语句求与更为简单。
命令:ﻫp=sum(a。
^2)ﻫ练习四:建立MATLAB与word得连接,在新建得m—book中写入上面得程序,并用not ebook菜单运行之。
ﻫ循环结构里面还可以包含循环结构,形成多重循环。
例5 设计一个九九乘法表。
ﻫ程序:clearﻫ for i=1:9for j=1:9ﻫa(i , j)=i*j;endendﻫa,练习五:①直接在命令窗编写上面得程序。
ﻫ②试运行下面得程序,并加以分析:程序: disp(' 九九乘法表’),for i=1:9,ﻫfor j=1:i,p{i}(j)=j*i;end,disp(p{i}),end(2) while…end循环结构。
其格式为:ﻫ while (表达式)循环结构体ﻫendﻫ例6 求MATLAB得相对精度ﻫ解:解题得思路就是,让y值不断减小,直到MATLAB分不出1+y与1得差别为止。
程序:y=1; while 1+y〉1; y1=y; y=y/2; end,y1 说明:①for循环与while循环得区别就是,for语句得循环次数就是确定得,而while语句得循环次数就是不确定得。
ﻫ②一定要注意在循环结构体内设置“修改条件表达式得语句”,以免进入“死循环”。
③一旦出现死循环,在命令窗用ctrl+c可使程序中止。
④注意程序得可读性、ﻫ练习六:在M—文件编辑器内编写上面得脚本文件,并利用菜单或快捷按钮运行之、ﻫ三、M—文件ﻫM文件就是包含MATLAB代码得文件。
M文件按其内容与功能可分为脚本M文件与函数M文件这两大类。
ﻫ1、脚本M文件脚本M文件就是许多MATLAB代码按顺序组成得命令集合,不接受参数得输入与输出,与MATLAB工作区共享变量空间。
脚本文件一般用来实现一个相对独立得功能,比如对某个数据集进行某种分析、绘图,求解方程等等、ﻫ前面得几个例题都就是脚本文件得类型。
2、函数M文件MATLAB得M-函数就是由function语句引导得,其基本格式如下:ﻫ function [输出形参列表]= 函数名(输入形参列表)注释说明语句段,由%引导;函数体语句ﻫ函数文件需要在M—文件编辑器中编写。
写完以后,按照当前得搜索路径保存、以后就可以随时调用这个函数了、ﻫ与脚本M文件不同得就是,调用函数M文件时需要输入自变量得实际值。
随便打开一个M-文件瞧一瞧:open lsqlin编程实例ﻫ例7。
定义一个函数f(x)=[sin(x)]2, 其中x以“度”为单位、然后再调用该函数。
解:在M-文件编辑器内写入下面得文件:ﻫfunction y=sinsd(x)ﻫ%自变量x以“度"为单位。
ﻫ%ﻫ %白城师院ﻫ%数学建模协会,2007—5-12ﻫ a=x/180*pi;y=sin(a)。
^2;将上面得文件保存之后即可随时调用。
ﻫ命令:ﻫt=sinsd(45)t =0.5000命令:ﻫhelpsinsd命令:ﻫ t=sinsd([45,60]) ﻫt =0、5000 0、7500 ﻫ表明该函数对元素群运算有效、上面得语句相当于ﻫ命令:x=[45,60];t=sinsd(x) ﻫt=ﻫ 0。
50000、7500命令:x=[45,60;30,90];f=sinsd(x) ﻫ f =0。
5000 0、75000.2500 1、0000 ﻫ将源文件中最后一行得“、"去掉,再运行以上两条命令,我们会发现什么?例8。
在MATLAB中,一个函数可以调用其它函数,也可以调用自身,即递归调用、下面利用递归算法编写一个函数,用来计算Fibonacci数列得第k项。
ﻫ Fibonacci数列: 1,1,2,3,5,8,13,21,……ﻫM-函数文件:ﻫfunction a=my_fibo(k)ﻫif k==1|k==2,a=1;ﻫ else,a=my_fibo(k-1)+my_fibo(k—2);end将这个文件写入M-文件编辑器并以名称“my_fibo。
m”保存,以后就可以调用这个函数。
递归算法无疑就是解决某一类问题得有效方法,但不宜滥用,因为它得运算速度往往很慢、命令:tic, n= my_fibo(26) ,tocn =121393elapsed_time =ﻫ34.4290下面我们尝试用一般得循环语句来求解这个问题。
ﻫ程序:tic,n=[1,1];fork=3:100,n(k)=n(k-1)+n(k-2);end,toc,ﻫelapsed_time =0.0100 ﻫ命令:n(1:26) ﻫans=Columns 1through 81 1 23 58 13 21ﻫColumns9through 16ﻫ34 5589 144 233 377 610 987Columns 17 through 24 1 ﻫ597 2584 41816765 10946 177112865746368ﻫColumns 25through26 12 75025 ﻫ1393例9。