matlab基本语句
matlab常用指令
![matlab常用指令](https://img.taocdn.com/s3/m/eaaac72c640e52ea551810a6f524ccbff021ca4c.png)
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 编程语言](https://img.taocdn.com/s3/m/9b727a5059fafab069dc5022aaea998fcc2240fb.png)
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条件语句](https://img.taocdn.com/s3/m/5c8cdabedc88d0d233d4b14e852458fb770b38c3.png)
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 指令大全](https://img.taocdn.com/s3/m/2b67af2a647d27284b7351f4.png)
分享我的分享当前分享返回分享首页»分享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语句](https://img.taocdn.com/s3/m/2e22a1116edb6f1aff001f16.png)
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基本语句及语法](https://img.taocdn.com/s3/m/dd59f2b803d276a20029bd64783e0912a2167cf2.png)
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基础语句句法和举例](https://img.taocdn.com/s3/m/2f132144fe4733687e21aa1d.png)
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的输出语句](https://img.taocdn.com/s3/m/864ccfc3760bf78a6529647d27284b73f24236f1.png)
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函数用于将格式化文本输出到字符串中,而不是文件。
这在需要将输出结果传递给其他函数或保存到变量中时非常有用。
MATLAB常用语句解释
![MATLAB常用语句解释](https://img.taocdn.com/s3/m/ffe4d510df80d4d8d15abe23482fb4daa58d1d97.png)
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操作命令大全](https://img.taocdn.com/s3/m/103b355f58eef8c75fbfc77da26925c52cc591cd.png)
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基本语句及语法](https://img.taocdn.com/s3/m/cbd1edc3bb0d4a7302768e9951e79b8968026823.png)
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基本操作命令](https://img.taocdn.com/s3/m/dcff23fafab069dc50220194.png)
复数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基本语句
![matlab基本语句](https://img.taocdn.com/s3/m/d3cd912d4b35eefdc8d33321.png)
第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语法](https://img.taocdn.com/s3/m/8714f21beffdc8d376eeaeaad1f34693daef100e.png)
matlab语法MATLAB是一种强大而又灵活的计算机语言,最初由美国的研究机构开发而成,并已得到广泛应用。
在科学、工程、金融和医学等领域应用广泛。
MATLAB语法相对来说比较容易学习,本文将分步骤介绍MATLAB语法的相关内容。
1. 基础数学运算MATLAB最基础的数学运算包括加法、减法、乘法、除法和求幂,可以使用如下的操作符实现:加法: +减法: -乘法: *除法: /求幂: ^例如,要计算3的4次幂,可以输入3^4,计算结果会显示在MATLAB命令窗口中。
2. 变量和数据类型在MATLAB中,可以使用变量来存储数值和其他数据类型。
变量名可以是字母、数字或下划线,以字母开头。
MATLAB支持的数据类型包括数值、字符和逻辑值。
数值类型包括整数和浮点数,例如:整数:5浮点数:3.14字符类型用单引号括起来表示,例如:字符:'Hello World!'逻辑类型包括true和false。
3. 条件语句在MATLAB中,可以使用条件语句来根据条件执行不同的代码块。
常见的条件语句包括if语句和switch语句。
if语句根据一个条件判断执行哪些代码块,例如:if x > 0disp('x is positive')elseif x == 0disp('x is zero')elsedisp('x is negative')endswitch语句根据一个变量的值执行不同的代码块,例如:switch xcase 1disp('x is equal to 1')case 2disp('x is equal to 2')otherwisedisp('x is not equal to 1 or 2')end4. 循环语句在MATLAB中,可以使用循环语句来重复执行一组代码。
常见的循环语句包括for循环和while循环。
matlab if的用法
![matlab if的用法](https://img.taocdn.com/s3/m/17979c29eef9aef8941ea76e58fafab069dc449e.png)
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命令汇总](https://img.taocdn.com/s3/m/2dad1093250c844769eae009581b6bd97e19bc58.png)
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基本语法](https://img.taocdn.com/s3/m/3697a63976c66137ee06199f.png)
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编写了各种程序工具箱。
这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。
MATLAB的基本语句结构
![MATLAB的基本语句结构](https://img.taocdn.com/s3/m/4e829e06b307e87101f696e3.png)
ones(N); ones(M,N): 产生全1矩阵(幺矩阵)
eye(N); eye(M,N); eye(size(A)):产生单位矩阵
rand:
产生0~1间均匀分布的随机矩阵。
例:生成在区间[20,50]内均匀分布的5阶随机矩阵; x=20+(50-20)*rand(5)
(2) 当参与比较的量是两个维数相同的矩阵时,比 较是对两矩阵相同位置的元素按标量关系运算 规则逐个进行,并给出元素比较结果。最终的 关系运算的结果是一个维数与原矩阵相同的 矩阵,它的元素由0或1组成。
(3) 当参与比较的一个是数量,而另一个是矩 阵 时,则把标量与矩阵的每一个元素按标量关系运 算规则逐个比较,并给出元素比较结果。最终的 关系运算的结果是一个维数与原矩阵相同的矩 阵,它的元素由0或1组成。
M=100+magic(5)
(2) 范得蒙矩阵 vander(V) 生成以向量V为基础向量的范得蒙矩阵。 例 A=vander([1;2;3;5])
A(:,end:-1:1)
(3) 希尔伯特矩阵 hilb(n) 生成希尔伯特矩阵。 invhilb(n)专门求希尔伯特矩阵的逆矩阵。
什么矩阵是希尔伯特矩阵? Help hilb
ascii选项使文件以ASCII格式处理,省略该选项时文件将以 二进制格式处理。save命令中的append选项控制将变量追加 到MAT文件中。
2.2 MATLAB矩阵 2.2.1 矩阵的建立
1.直接输入法 从键盘直接输入矩阵的元素。 将矩阵的元素用方括号括起来,按矩阵行的 顺序输入各元素,同一行的各元素之间用空 格或逗号分隔,不同行的元素之间用分号隔。
例 求4阶希尔伯特矩阵及其逆矩阵。 format rat %以有理形式输出 H=hilb(4) H=invhilb(4)
MATLAB基本语法
![MATLAB基本语法](https://img.taocdn.com/s3/m/382e00eaa8956bec0875e37a.png)
在MATLAB中,变量和常量的标识符最长允许19个字符,标识符中第一个字符必须是英文字母。
MATLAB区分大小写,默认状态下,A和a被认为是两个不同的字符。
(case sensitive)一、数组和矩阵(一)数组的赋值数组是指一组实数或复数排成的长方阵列。
它可以是一维的“行”或“列”,可以是二维的“矩形”,也可以是三维的甚至更高的维数。
在MATLAB中的变量和常量都代表数组,赋值语句的一般形式为变量=表达式(或数)如键入a=[1 2 3; 4 5 6; 7 8 9]则将显示结果:a=1 2 34 5 67 8 9数组放置在[ ]中;数组元素用空格或逗号“,”分隔;数组行用分号“;”或“回车”隔离。
(二)复数MATLAB中的每一个元素都可以是复数,实数是复数的特例。
复数的虚部用i或j表示。
复数的赋值形式有两种:z=[1+1i ,2+2i ;3+3i ,4+4i]z=[1,2;3,4]+[1,2;3,4]*i得 z=1.000+1.000i 2.000+2.000i3.000+3.000i4.000+4.000i以上两式结果相同。
注意,在第二式中“*”不能省略。
在复数运算中,有几个运算符是常用的。
运算符“′”表示把矩阵作共轭转置,即把矩阵的行列互换,同时把各元素的虚部反号。
函数conj表示只把各元素的虚部反号,即只取共轭。
若想求转置而不要共轭,就把conj和“′”结合起来完成。
例如键入w=z′,u=conj(z),v=conj(z)′可得 w=1.000-1.000i 3.000-3.000i2.000-2.000i 4.000-4.000iu=1.000-1.000i 2.000-2.000i3.000-3.000i4.000-4.000iv=1.000+1.000i 3.000+3.000i二、逻辑判断与流程控制 (一)关系运算关系运算是指两个元素之间数值的比较,一共有六种可能。
如表M-8所列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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( )函数可用来求两个多项式的乘积。