matlab基本语句

合集下载

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 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 中的条件语句是一种语句,可以为程序提供灵活性和控制,可以根据需要执行代码块。

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 指令大全

matlab 指令大全

分享我的分享当前分享返回分享首页»分享matlab命令,应该很全了!来源:李家叶的日志matlab命令一、常用对象操作:除了一般windows窗口的常用功能键外。

1、!dir 可以查看当前工作目录的文件。

!dir& 可以在dos状态下查看。

2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。

3、功能键:功能键快捷键说明方向上键Ctrl+P 返回前一行输入方向下键Ctrl+N 返回下一行输入方向左键Ctrl+B 光标向后移一个字符方向右键Ctrl+F 光标向前移一个字符Ctrl+方向右键Ctrl+R 光标向右移一个字符Ctrl+方向左键Ctrl+L 光标向左移一个字符home Ctrl+A 光标移到行首End Ctrl+E 光标移到行尾Esc Ctrl+U 清除一行Del Ctrl+D 清除光标所在的字符Backspace Ctrl+H 删除光标前一个字符Ctrl+K 删除到行尾Ctrl+C 中断正在执行的命令4、clc可以命令窗口显示的内容,但并不清除工作空间。

二、函数及运算1、运算符:+:加,-:减,*:乘,/:除,\:左除^:幂,‘:复数的共轭转置,():制定运算顺序。

2、常用函数表:sin( ) 正弦(变量为弧度)Cot( ) 余切(变量为弧度)sind( ) 正弦(变量为度数)Cotd( ) 余切(变量为度数)asin( ) 反正弦(返回弧度)acot( ) 反余切(返回弧度)Asind( ) 反正弦(返回度数)acotd( ) 反余切(返回度数)cos( ) 余弦(变量为弧度)exp( ) 指数cosd( ) 余弦(变量为度数)log( ) 对数acos( ) 余正弦(返回弧度)log10( ) 以10为底对数acosd( ) 余正弦(返回度数)sqrt( ) 开方tan( ) 正切(变量为弧度)realsqrt( ) 返回非负根tand( ) 正切(变量为度数)abs( ) 取绝对值atan( ) 反正切(返回弧度)angle( ) 返回复数的相位角atand( ) 反正切(返回度数)mod(x,y) 返回x/y的余数sum( ) 向量元素求和3、其余函数可以用help elfun和help specfun命令获得。

常用matlab语句

常用matlab语句
setdiff:集合差集
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基本语句及语法

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基础语句句法和举例

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中常用的输出语句,并探讨它们的灵活应用。

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常用

(完整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)+ 加—减 * 矩阵乘 .*数组乘 ^ 矩阵乘方 .^ 数组乘方 \ 反斜杠或左除 / 斜杠或右除。

MATLAB常用语句解释

MATLAB常用语句解释

MATLAB常⽤语句解释gcagca 是⽤来返回当前axes (坐标图)对象的句柄e.g.plot(rand(2,1)) % 正常的图set(gca,'xgrid','on') % gca表⽰当前的图,此时x轴添加了⽹格线set(gca,'ytick',[]) %删除当前图 y 轴刻度xlim,ylimx轴上下限设定xlim([a,b]);y轴上下限设定ylim([a,b])使⽤⽅法如下,xlim([XMIN XMAX]) % sets the x limits图像句柄h=plot(x,y);%h为图像句柄indexindex在matlab中没有特别的含义,既不是关键字也不是matlab⾃带函数的函数名。

通常⽤来定义⼀个数组的下标。

举例如下:index = 5; % 对变量index赋值5(matlab中变量的引⽤前不需要定义)a(index) = 0; % 对向量a的下标为index的元素赋值为0function [maxNum, minNum] = index(a, b) % 定义⼀个index函数,求最⼤最⼩值if a > bmaxNum = a;minNum = b;elsemaxNum = b;minNum = a;endceil(x)返回不⼩于x的最⼩整数值(然后转换为double型)。

floor(x)返回不⼤于x的最⼤整数值。

round(x)返回x的四舍五⼊整数值。

-------------------------------------------------------------------------------------------------------------------------------------num2str意思是把数字转为字符串strcat函数连接字符串的函数。

楼主写的命令意思是把变量名为name的字符串与数字'i'连接。

MATLAB 重要语句

MATLAB  重要语句

一.作图:1.plot(x, y,s) 、plot3(x,y,z,s)2.ezplot(‘f(x)’,[a,b])、ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])、ezplot(‘x(t)’,’y(t)’,[tmin,tmax])3.fplot(‘fun’,[xmin,xmax])4.[X,Y]=mesh grid(x,y) ; mesh(X,Y,Z); surf(X,Y,Z)5.subplot(m,n,p)划分整个作图区域为m×n块并激活第p块6.polar (theta,rho,s)7.linspace(first,last,n)二.解微分方程(组):1.dsolve(‘方程1’,‘方程2’,…,‘方程n’,‘初始条件’,‘自变量’)2.[t,x]=ode23(’f’,ts,x0),ts=[t0,tf]或[t0,t1,…tf]或t0:k:tf,x0=x(t0)3.solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN')4.[x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0'), X = fsolve(‘fun’,X0)三.插值:1.yi=interp1(x,y,xi,'m')m=‘nearest’、‘linear’、‘spline’、‘cubic’2.zi=interp2(x,y,z,xi,yi,’m’)四.拟合:1.a=polyfit(x,y,n) 、yi=polyval(a,xi)2.p=lsqcurvefit(‘fun’,p0,x,y);fun是关于p,x的函数的M文件,yi=fun(p,xi)五.回归分析:1.[b, bint,r,rint,stats]=regress( Y, X ,0.05),X第一列是12.rcoplot(r,rint)3.stepwise(x,y,inmodel,0.05)六.计算机模拟:1.均匀分布U(a,b)上m×n阶的随机数矩阵:unifrnd (a,b,m, n)2.均值μ,方差σ的正态分布m⨯n阶随机数矩阵:normrnd (μ,σ,m, n)七.规划:1.[x,min(cx)]=linprog(c,A,b,Aeq,beq,VLB,VUB, x0)2.[x,min(1/2X’HX+C’X)]=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0);3.[x,min(F(x))]=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’)fun是目标函数M文件,非线性约束成分[C,Ceq]= nonlcon(x)函数4.统计量:均值:mean(x),中位数:median(x),标准差:std(x),方差:var(x)偏度:skewness(x),峰度:kurtosis(x)5.密度函数:p=normpdf(x,mu,sigma) ,概率分布:P=normcdf(x,mu,sigma) 逆概率分布:x=norminv(P,mu,sigma),均值与方差:[m,v]=normstat(mu,sigma)6.频数表:[N,X]=hist(data,k),频数直方图:hist(data,k)7.[muhat,sigmahat,muci,sigmaci]=normfit(X,0.05)知2σ[h,sig,ci] = ttest(x,m,alpha,tail),不知[h,sig,ci] = ztest(x,m,sigma,alpha,tail) 附表:。

(完整版)matlab基本语句

(完整版)matlab基本语句

第2章M ATLAB程序设计MATLAB语言为解释型程序设计语言。

在程序中可以出现顺序、选择、循环三种基本控制结构,也可以出现对M-文件的调用(相当于对外部过程的调用)。

由于 MATLAB开始是用FORTRAN语言编写、后来用 C语言重写的,故其既有FORTRAN的特征,又在许多语言规则方面与C语言相同。

2.1 顺序结构语句在顺序结构语句中,包括表达式语句、赋值语句、输入输出语句、空语句等。

2.1.1 表达式语句格式:表达式,%显示表达式值表达式;%不显示表达式值表达式%显示表达式值如:x + y,sin(x);–5最后的表达式值暂保存在变量ans中。

2.1.2 赋值语句格式:v =表达式,%结果送v并显示v v =表达式;%结果送v不显示v v =表达式%结果送v并显示v 2.1.3 空语句格式:,;2.1.4 输入语句1、input语句(实际上是函数)格式1:input(提示字符串)功能:显示提示字符串,可输入数字、字符串(两端用单引号括起)、或表达式格式2:input(提示字符串,'s')功能:显示提示字符串,并把输入视为字符串2、yesinput语句格式:yesinput(提示字符串,缺省值,值范围)功能:显示提示字符串和缺省值,若只打入回车则以缺省值作为输入值,若输入的值不在指定范围内则认为输入无效,B并等待用户重新输入。

如:t=yesinput('指定线的颜色',…'red','red|blue|green')运行结果如下:指定线的颜色(red):yellow %不在值内指定线的颜色(red):blue %重输t =bluex=yesinput('输入元素个数',10,[1,20])运行结果如下:输入元素个数(10):x =103、Keyboard语句格式:Keyboard功能:暂停M-文件的执行,并等待用户从键盘输入命令以查看或改变变量的值,直到输入return命令而返回相应的M-文件继续执行。

MATLAB操作命令大全

MATLAB操作命令大全

MATLAB操作命令大全1.基本操作:- clear: 清除工作区中的所有变量。

- clc: 清除命令窗口的内容。

- close all: 关闭所有图形窗口。

- help function-name: 显示与函数相关的帮助文档。

- who: 显示当前工作区中的所有变量。

- save file-name: 保存当前工作区中的所有变量到指定的文件。

- load file-name: 从文件中加载变量到当前工作区。

2.变量操作:-=:赋值操作符,将右边的值赋给左边的变量。

-+:加法操作符。

--:减法操作符。

-*:乘法操作符。

-/:除法操作符。

-^:幂运算操作符。

- sqrt(x): 计算 x 的平方根。

- abs(x): 计算 x 的绝对值。

- max(x): 返回 x 中的最大值。

- min(x): 返回 x 中的最小值。

- sum(x): 计算 x 中所有元素的和。

3.数组操作:- zeros(m, n): 创建一个 m 行 n 列的全零数组。

- ones(m, n): 创建一个 m 行 n 列的全一数组。

- eye(n): 创建一个 n 行 n 列的单位矩阵。

- size(x): 返回 x 的维度。

- length(x): 返回 x 的长度。

- reshape(x, m, n): 将 x 重新排列为一个 m 行 n 列矩阵。

- transpose(x): 将 x 的行和列互换。

4.控制流程:- if-else: 条件语句,根据条件执行不同的代码块。

- for loop: 循环语句,执行指定次数的代码块。

- while loop: 循环语句,根据条件反复执行代码块。

- break: 在循环中使用,用来跳出当前循环。

- continue: 在循环中使用,用来跳过当前循环的剩余部分。

5.统计分析:- mean(x): 计算 x 的平均值。

- median(x): 计算 x 的中位数。

- std(x): 计算 x 的标准差。

matlab基本语句及语法

matlab基本语句及语法

matlab基本语句及语法1. MATLAB是一种高级的数学计算软件,它支持多种编程语言和算法。

2. MATLAB的基本语句包括变量定义、赋值、运算符和函数调用等。

3. 变量定义可以使用字母、数字和下划线,但必须以字母开头。

4. 变量赋值可以使用等号或者箭头符号,例如a=5或者a->5。

5. 运算符包括算术运算符、比较运算符和逻辑运算符等。

6. 算术运算符包括加减乘除和幂等运算,例如+、-、*、/和^。

7. 比较运算符包括等于、不等于、大于、小于等,例如==、~=、>和<。

8. 逻辑运算符包括与、或和非等,例如&、|和~。

9. 函数调用可以直接使用函数名加参数列表的形式进行调用,例如sin(x)表示求正弦值。

10. MATLAB支持多种数据类型,包括数值型、字符型和逻辑型等。

11. 数值型数据可以分为整型和浮点型两种类型,分别用int8~int64和single/double表示。

12. 字符型数据可以使用单引号或双引号表示,例如'hello'或者"world"。

13. 逻辑型数据只有true/false两个值,用1/0表示。

14. MATLAB的程序结构包括脚本文件和函数文件两种类型。

15. 脚本文件是一系列命令的集合,可以直接在命令窗口中执行。

16. 函数文件是一个独立的代码块,可以被其他程序调用。

17. MATLAB的控制流语句包括if语句、for循环语句和while循环语句等。

18. if语句用于根据条件判断是否执行某段代码,例如if a>5, disp('a 大于5')。

19. for循环语句用于重复执行某段代码,例如for i=1:10, disp(i)。

20. while循环语句用于根据条件重复执行某段代码,例如while a<10, a=a+1;end。

MATLAB基本操作命令

MATLAB基本操作命令

复数z1的输入方式是直接按照书面习惯完成的, 在这种书写格式中10i是一个完整的虚数部分, 因此在10和i之间不允许有任何空格。这种书写 格式符合大家的习惯,但仅限于使用在复数标量 中,不能使用在复数矩阵中。 Z2将虚数部分用*号相连。这种方式适用于复 数矩阵。 如果可以使用第一种书写格式,尽量使用第一 种,因为这种格式比复数z2的输入方式运算速度 要快。
MATLAB
wilkinson
2.2 矩阵和数组的基本运算
2.2.1矩阵和数组的四则运算 1.矩阵算术运算 矩阵算术运算的书写格式与普通的算术 相同,包括加、减、乘、除,也可用括号 来规定运算的优先次序。但它的乘法定义 与普通数(标量)不同。相应地,作为乘 法逆运算的除法也不同,由左除(\)和右 除(/)两种符号。
M圆括号“()”中的数字 (也称为下标)来注明,一维矩阵(也称数组 或向量)中的元素用一个下标表示,二维矩阵 可有两个下标数,以逗号分开。 三维和更高维的矩阵,可有三个或更多下 标。用户可以单独给元素赋值,如: x(2)=1.7321,a(2,3)=6等。如果赋值元素的下标 超出了原来矩阵的大小,矩阵的行列会自动扩 展。如:
MATLAB
矩阵的乘法 现在来看矩阵的乘法,X*Y’,这个式子可读 成X左乘Y’。现在让X右乘Y’,于是有 Y’*X, X左乘和右乘Y’所得的结果是完全不同的。 只有单位矩阵例外,单位矩阵乘以任何矩阵 A(其阶数为nA×mA)时,不管是左乘还是 右乘,积仍等于该矩阵。即 eye(nA)*A=A A* eye(mA) =A
MATLAB
两矩阵的相加(减)就是其对应元素的相加 (减),因此,要求相加的两矩阵的阶数必须 相同。检查矩阵阶数的MATLAB语句是size, 例如:键入 [n,m]=size(fb2) 得 n= 6 m = 5 (6行5列)

matlab if的用法

matlab if的用法

matlab if的用法Matlab是一款广泛应用于数学、科学、工程领域的编程语言,其语法灵活、易于使用,同时也具备强大的计算能力。

针对Matlab中的if 语句,本文将从以下几个方面进行详细介绍。

一、if语句的基本语法if语句的基本语法如下:if 条件语句执行语句end其中,条件语句是需要进行判断的表达式或变量,如果表达式或变量的值为真,则执行“执行语句”,否则跳过该代码块的执行。

二、多重if语句多重if语句可用于判断不同的情况,其基本语法如下:if 条件语句1执行语句1elseif 条件语句2执行语句2else执行语句3end其中,条件语句1是第一个需要进行判断的表达式或变量,如果表达式或变量的值为真,则执行“执行语句1”,否则跳过该代码块的执行。

当第一个条件语句不满足时,会进行下一个条件语句的判断,直到找到条件为真的代码块。

三、嵌套if语句嵌套if语句可用于进一步细分难以简单依靠多重if语句完成的情况,其基本语法如下:if 条件语句1if 条件语句2执行语句1else执行语句2endelse执行语句3end其中,条件语句1是第一个需要进行判断的表达式或变量,如果表达式或变量的值为真,则继续执行内部的if语句。

当条件语句2的值为真时,执行“执行语句1”,否则执行“执行语句2”。

当条件语句1的值不为真时,跳过内部的if语句,直接执行“执行语句3”。

四、逻辑运算符在if语句中,常用的逻辑运算符包括:(1)&&:逻辑与运算符,当两个条件均为真时,返回真。

(2)||:逻辑或运算符,当两个条件中至少有一个为真时,返回真。

(3)~=:不等于运算符,当两个条件的值不相等时,返回真。

(4)<:小于运算符,当左侧的值小于右侧的值时,返回真。

(5)<=:小于等于运算符,当左侧的值小于或等于右侧的值时,返回真。

(6)>:大于运算符,当左侧的值大于右侧的值时,返回真。

(7)>=:大于等于运算符,当左侧的值大于或等于右侧的值时,返回真。

MATLAB命令汇总

MATLAB命令汇总

MATLAB命令汇总1.基本运算:-`+`:加法运算-`-`:减法运算-`*`:乘法运算-`/`:除法运算-`^`或`**`:幂运算- `sqrt(`: 平方根函数- `exp(`: 指数函数- `log(`: 对数函数2.矩阵和向量:- `zeros(`: 创建全零矩阵- `ones(`: 创建全一矩阵- `eye(`: 创建单位矩阵- `rand(`: 创建随机矩阵- `diag(`: 提取矩阵的对角线元素- `transpose(`或`'`: 转置矩阵- `det(`: 求矩阵的行列式- `inv(`: 求矩阵的逆矩阵- `trace(`: 求矩阵的迹3.数据处理和统计函数:- `mean(`: 求平均值- `median(`: 求中位数- `std(`: 求标准差- `var(`: 求方差- `sort(`: 排序- `histogram(`: 绘制直方图- `corrcoef(`: 计算相关系数矩阵- `cov(`: 计算协方差矩阵- `unique(`: 去掉重复元素4.数据可视化:- `plot(`: 绘制二维折线图- `scatter(`: 绘制散点图- `bar(`: 绘制柱状图- `hist(`: 绘制直方图- `pie(`: 绘制饼图- `imagesc(`: 绘制热图- `contour(`: 绘制等高线图- `surf(`: 绘制三维曲面图5.逻辑和条件语句:- `if`: 条件判断语句- `else`: 条件判断的可选分支- `elseif`: 多个条件判断的中间分支- `while`: 循环语句- `for`: 循环语句- `break`: 跳出循环- `continue`: 跳过本次循环6.文件和数据输入输出:- `load(`: 从文件加载数据- `save(`: 将数据保存到文件- `fopen(`: 打开文件- `fclose(`: 关闭文件- `fprintf(`: 格式化输出到文件- `fscanf(`: 从文件按格式读取数据7.函数和脚本文件:- `function`: 定义函数- `script`: 脚本文件- `input(`: 从命令行输入数据- `disp(`: 显示结果或变量值- `return`: 返回函数结果- `clear(`: 清除变量或内存- `clc(`: 清除命令窗口内容以上是一些常用的MATLAB命令和函数的汇总,这只是冰山一角,MATLAB还提供了许多其他功能和扩展性更强的函数和工具箱,可以根据不同的需求进行更详细的学习和使用。

matlab基本代码解读

matlab基本代码解读

matlab基本代码解读Matlab(Matrix Laboratory)是一种高级的数学计算软件,广泛用于科学、工程、数据分析和其他领域。

下面是一些基本的Matlab代码片段,并提供了简要的解读:### 示例1:矩阵运算```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A * B;disp(C);```**解读:**- 创建了两个2x2的矩阵A和B。

- 通过矩阵乘法计算得到矩阵C。

- 使用`disp`函数显示结果。

### 示例2:绘制图形```matlabx = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);```**解读:**- 通过`linspace`生成从0到2π的100个等间隔点作为x。

- 计算这些点的sin值作为y。

- 使用`plot`函数绘制x和y之间的关系图。

### 示例3:条件语句```matlabnum = 15;if num > 10disp('Number is greater than 10');elsedisp('Number is not greater than 10');end```**解读:**- 设置变量num的值为15。

- 使用`if`语句检查num是否大于10。

- 如果条件成立,显示'Number is greater than 10',否则显示'Number is not greater than 10'。

### 示例4:循环语句```matlabfor i = 1:5disp(['Iteration ', num2str(i)]);end```**解读:**- 使用`for`循环从1迭代到5。

- 在每次迭代中,使用`disp`显示当前迭代的信息。

这些是Matlab中一些基本代码片段的简单解读。

matlab基本语法

matlab基本语法

MATLAB简介MATLAB(MATrix LABoratory,即矩阵实验室)是MathWork公司推出的一套高效率的数值计算和可视化软件。

MATLAB是当今科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。

它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。

MATLAB语言之所以如此受人推崇是因为它有如下这些优点:1.编程简单使用方便MATLAB的基本数据单元是既不需要指定维数、也不需要说明数据类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。

因此,在MATLAB环境下,数组的操作与数的操作一样简单。

MATLAB的矩阵和向量操作功能是其他语言无法比拟的。

2.函数库可任意扩充由于MATLAB语言库函数与用户文件的形式相同,所以用户文件可以像库函数一样随意调用。

所以用户可根据自己的需要任意扩充函数库。

3.语言简单内涵丰富MATLAB语言中最重要的成分是函数,其一般形式为:Function [a,b,c…]=fun(d,e,f…)其中,fun是自定义的函数名,只要不与库函数名相重,并且符合字符串的书写规则即可。

这里的函数既可以是数学上的函数,也可以是程序块或子程序,内涵十分丰富。

每个函数建立一个同名的M文件,如上述函数的文件名为fun.m。

这种文件简单、短小、高效,并且便于调试。

4.简便的绘图功能MATLAB具有二维和三维绘图功能,使用方法十分简便。

而且用户可以根据需要在坐标图上加标题。

坐标轴标记。

文本注释及栅格等,也可一指定图线形式(如实线、虚线等)和颜色,也可以在同一张图上画不同函数的曲线,对于曲面图还可以画出等高线。

5.丰富的工具箱由于MATLAB的开放性,许多领域的专家都为MATLAB编写了各种程序工具箱。

这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab 基本语句1.循环语句forfor i=s1:s3:s2循环语句组end解释:首先给i赋值s1;然后,判断i是否介于s1与s2之间;如果是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。

例:求1到100的和,可以编程如下:sum=0for 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(条件)语句endif(条件)语句else语句endif(条件)语句elseif语句end4.关系表达式:=,>,<,>=,<=,==(精确等于)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)。

compan():可以求矩阵的伴随矩阵.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 表达式;程序模块;endif语句的另一种用法为:if 表达式程序模块1else程序模块2end例1 使用if语句判断学生的成绩是否及格。

程序:clearn=input(’输入n= ’)m=60;if n<m,r=’不及格’elser=’及格’end练习一:将例1写入M-文件编辑器,然后在command window 调用这个程序。

当针对多个条件进行选择时,可以采用下面的格式:if 表达式1程序模块1elseif 表达式2程序模块2…………elseif 表达式n程序模块nelse程序模块n+1end例2 将百分之的学生成绩转换为五分制输出。

程序:clearn=input(’输入n= ’)if n>=90chji=’优秀’elseif n>=80chji=’良好’elseif n>=70chji=’中等’elseif n>=60chji=’及格’elsechji=’不及格’end练习二:将例2写入M-文件编辑器,然后在command window 调用这个程序。

(2)switch语句switch语句可以替代多分支的if语句,而且switch语句简洁明了,可读性更好。

其格式为:switch 表达式case 数值1程序模块1case 数值2程序模块2……otherwise程序模块nend其中的otherwise模块可以省略。

switch语句的执行过程是:首先计算表达式的值,然后将其结果与每一个case后面的数值依次进行比较,如果相等,则执行该case的程序模块;如果都不相等,则执行otherwise 模块中的语句。

如图3所示。

例3 用switch…case开关结构将百分制的学生成绩转换为五分制的成绩输出。

程序:clearx=58switch fix(x/10)case {10,9}y=’优秀’case 8y=’良好’case 7y=’中等’case 6y=’及格’otherwisey=’不及格’end练习三:将例3写入M-文件编辑器,然后在command window 调用这个程序。

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中写入上面的程序,并用notebook 菜单运行之。

循环结构里面还可以包含循环结构,形成多重循环。

例5 设计一个九九乘法表。

程序:clearfor i=1:9for j=1:9a(i , j)=i*j;endenda,练习五:①直接在命令窗编写上面的程序。

②试运行下面的程序,并加以分析:程序: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-12a=x/180*pi;y=sin(a).^2;将上面的文件保存之后即可随时调用。

命令:t=sinsd(45)t =0.5000命令:help sinsd命令:t=sinsd([45,60])t =0.5000 0.7500表明该函数对元素群运算有效。

上面的语句相当于命令:x=[45,60];t=sinsd(x)t =0.5000 0.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];for k=3:100,n(k)=n(k-1)+n(k-2);end,toc,elapsed_time =0.0100命令:n(1:26)ans =Columns 1 through 81 123 58 13 21Columns 9 through 1634 55 89 144 233 377610 987Columns 17 through 241597 2584 4181 6765 1094617711 28657 46368Columns 25 through 2675025 121393例9. 可变输入变量个数的函数MATLAB提供的conv( )函数可用来求两个多项式的乘积。

对于多个多项式的连乘,则不能直接使用此函数,需要用该函数嵌套使用,用起来很不方便。

相关文档
最新文档