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屏幕输出语句
matlab屏幕输出语句Matlab是一种强大的数学软件,可以用于高级数学计算、数据可视化和编程。
在编写Matlab程序时,程序员需要使用命令行输出语句将计算结果输出到屏幕上,以便在程序执行过程中监测程序的执行进度或结果是否正确。
本文将介绍Matlab程序中常用的屏幕输出语句。
一、disp函数disp是Matlab中常用的屏幕输出函数,可以输出各种类型的变量,如字符串、数字、逻辑值、数组等。
例如:disp('Hello World!'); % 输出字符串disp(123); % 输出数字disp(true); % 输出逻辑值disp([1,2,3;4,5,6]); % 输出数组使用disp函数可以将计算结果输出到Matlab命令窗口,方便程序员查看运行结果,特别是在程序调试时非常有用。
二、fprintf函数fprintf是一个更通用的格式化输出函数,可以将结果输出到文件或字符串中,并支持格式化输出。
它的语法为:fprintf(FileID,formatSpec,A1,...,An)其中FileID是要写入的文件ID(0代表屏幕),formatSpec是格式化字符串,A1, ..., An是要格式化的变量。
例如:fprintf('The value of pi isapproximately %4.2f.\n', pi);将输出以下结果:The value of pi is approximately 3.14.在此示例中,%4.2f是格式化字符串,表示输出一个浮点数,总共占4个位置(.代表小数点),保留2位小数。
fprintf函数支持所有标准的C语言格式化字符串。
三、disp和fprintf函数的区别disp函数将变量输出到命令窗口中,并按照Matlab 默认格式进行格式化输出。
而fprintf函数支持多种格式化方式,并且可以将结果输出到文件中。
主要的区别在于格式化输出的方式。
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常用语句大全
matlab常用语句大全Matlab 常用语句大全Matlab 是一款功能强大的数学计算和科学绘图软件,在工程、科学、金融等领域都有着广泛的应用。
掌握一些常用的 Matlab 语句,能够大大提高我们的工作效率。
下面就为大家介绍一些 Matlab 中常见且实用的语句。
一、数据类型与变量定义在 Matlab 中,常见的数据类型包括数值型(如整数、浮点数)、字符型、逻辑型等。
1、数值型变量定义```matlaba = 5; %定义一个整数变量b = 314; %定义一个浮点数变量```2、字符型变量定义```matlabstr ='Hello, Matlab!';%定义一个字符型变量```3、逻辑型变量定义```matlabflag = true; %定义一个逻辑型变量为真```二、矩阵与数组操作矩阵和数组是 Matlab 中处理数据的重要方式。
1、矩阵创建```matlabA = 1 2 3; 4 5 6; 7 8 9; %直接输入矩阵元素B = ones(3, 3);%创建一个 3×3 的全 1 矩阵C = zeros(2, 4);%创建一个 2×4 的全 0 矩阵```2、矩阵访问```matlaba = A(2, 3);%访问矩阵 A 中第 2 行第 3 列的元素```3、矩阵运算```matlabD = A + B; %矩阵加法E = A B; %矩阵乘法```三、循环语句循环语句用于重复执行一段代码。
1、 for 循环```matlabfor i = 1:5disp(i);end```2、 while 循环```matlabi = 1;while i <= 5disp(i);i = i + 1;end```四、条件语句条件语句用于根据不同的条件执行不同的代码。
1、 if 语句```matlaba = 5;if a > 3disp('a 大于 3');elseif a == 3disp('a 等于 3');elsedisp('a 小于 3');end```五、函数定义与调用我们可以自定义函数来实现特定的功能。
常用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的输出语句在编程领域,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 基本语句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”。
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常⽤语句解释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迭代循环语句迭代循环是编程中常用的一种控制结构,用于重复执行一段代码。
在MATLAB中,迭代循环有多种形式,可以根据需要选择不同的循环语句。
下面我将介绍十个常用的MATLAB迭代循环语句。
1. for循环:for循环是最常见的迭代循环语句,在MATLAB中使用较为广泛。
其基本语法为:```matlabfor 变量 = 起始值:步长:结束值循环体end```其中,变量是循环变量,起始值是循环变量的初始值,步长是循环变量每次增加或减少的值,结束值是循环变量的最终值。
在每次循环迭代时,循环体会执行一次。
2. while循环:while循环是另一种常见的迭代循环语句,在满足条件的情况下重复执行一段代码。
其基本语法为:```matlabwhile 条件循环体end```在每次循环迭代前,先判断条件是否满足,如果满足则执行循环体,否则跳出循环。
3. do-while循环:MATLAB中没有原生的do-while循环语句,但可以通过while循环和break语句来模拟实现。
do-while循环先执行一次循环体,然后再判断条件是否满足,如果满足则继续执行循环体,否则跳出循环。
4. 嵌套循环:嵌套循环是指在一个循环体中再嵌套另一个循环体。
在MATLAB中,可以使用for循环或while循环来实现嵌套循环。
嵌套循环常用于处理多维数组或进行复杂的计算。
5. break语句:break语句用于跳出当前循环,结束循环的执行。
在嵌套循环中,break语句只能跳出当前循环,而不能跳出外层循环。
6. continue语句:continue语句用于跳过当前循环的剩余代码,进入下一次循环的执行。
在循环体中遇到continue语句时,会立即跳过本次循环的剩余代码,开始下一次循环。
7. 循环计数器:循环计数器是一个变量,用于记录循环的次数。
在循环体中可以根据需要对计数器进行操作,以实现不同的功能。
8. 循环条件:循环条件是一个逻辑表达式,用于判断循环是否继续执行。
matlab 条件语句
matlab 条件语句matLAB 条件语句条件语句的任务是判断某个表达式是否成立,如果成立则允许程序继续进行,否则将改变程序执行路径。
matLAB 中常用的条件语句有三种:if-else 和 switch-case 语句,以及 ? : 运算符。
if-else 语句MATLAB 中的 if-else 语句的语法格式如下:if 条件语句语句1语句2……elseif 条件语句语句3……else语句4……endif-else 语句中,if 后面是等式或逻辑表达式,如果等式成立,就执行 if 后面的部分。
否则就执行 else if 后面的部分。
如果else if 后还有等式,继续判断,如果所有的等式都不成立,就执行else 后面的部分。
如果没有 else if,并且等式不成立,就执行 else后面的部分。
switch-case 语句switch-case 语句用于判定一个变量或表达式的值,根据值的不同作出不同的处理。
MATLAB 中 switch-case 语句的语法格式如下: switch 用于判定的变量或表达式case 具体值1语句1……case 具体值2语句2………………otherwise语句n…………endswitch-case 语句中,switch 后面是用于判定的变量或表达式,case 后面是值,如果满足 case 后面的值,就执行 case 后面的部分,如果都不满足,就执行 Otherwise 后面的部分。
: 运算符: 运算符用于改变程序的执行路径,不需要定义多个变量,就可以达到 if-else 和 switch-case 语句的效果,MATLAB 中 ?: 运算符的语法格式如下:变量名 = 条件表达式 ? 表达式1 : 表达式2其中,?: 运算符只针对条件表达式判定是否成立,如果条件表达式成立,变量名就被赋值为表达式1;如果条件表达式不成立,变量名就被赋值为表达式2。
以上就是 matLAB 中的三种常用条件语句,学会使用它们,可以使代码更加简洁、高效。
matlab画图常用命令
matlab画图常用命令clc 清理命令窗口历史内容clear 清除所有内存存储的变量值clf 清除图形whos 显示各变量信息sqrt 开方edit 开编辑窗口linspace(a,b,N) 定义等差数列,a初值,b末值,N步数(即数据个数)logspace(a,b,N) 定义等比数列,初值10^a,末值10^b,N步数(即数据个数)A.*B 矩阵点乘,对应项相乘A./B 矩阵点除A.^B 矩阵点方(指数相同也要用点方)A=[a:n:b] 定义以a为开始,步长为n的等差数列,最后一个数不超过b(n省略代表步长为1)A' 矩阵转置A=[B,C;D] 矩阵拼凑e *10^exp e^format long 后续数据显示小数点后15位format short 后续数据显示小数点后4位format bank 后续数据显示小数点后2位(不适用于复数)format long/short e 后续数据科学技术法显示,并且小数点后15位/4位format long/short eng 后续数据类似科学技术法显示,但指数保持为3的整数倍,并且有效位数(15位+1/4位+1)format + 矩阵中各元素只显示正负,零为空格format rat 以分数形式显示有理数format long/short g Matlab自定最优显示load/save +文件名载入/储存工作区数据rem(a,b) a/b的余数size(A) A矩阵的大小[行数列数]ylim([0,1])help 打开帮助界面help+帮助界面中对应标题查看对应函数的使用nthroot(x,n) x的n次实数根sign(x) x大于零输出1;x等于零输出0;x小于零输出-1log10(x) lg(x)log(x) ln(x)【注:logb(a)=ln(a)/ln(b)】fix(x) 取整round(x) 对x四舍五入floor(x) 对x向负取整ceil(x) 对x向正取整factor(x) 对x因式分解gcd(a,b) 求a,b最大公约数lcm(a,b) 求a,b最小公倍数rats(x) 用分数表示xfactorial(x) x!nchoosek(n,k) 组合数n选kprimes(x) 找出小于x的素数isprime(x) x是素数,返回1sin(),cos(),tan()... 自变量为弧度asin(),acos(),atan()... 结果为弧度max(x),min(x) x适量中的最大、最小值[a,b]=max(A) A为一行时,a为最大值,b为最大值单行位置A为m行n列时,a为m行向量,对应各列最大值,b为m行向量,对应各列最大值在该列位置多个最大值时,位置默认第一个max(A,B) A、B同大,结果为A,B中对应位置最大值的汇总矩阵mean()/median()/mode() 求平均值/中位数/众数(众数选最小值)cumsum/cumprod(A) 求A的累加/累乘结果,生成与A同大小矩阵,(列运算)单矩阵运算sum/prod(A) A矩阵列求和/求积或求行向量和/积sort(A)/sort(A,'descend') 将A升序/降序排列(行向量自身升序/降序,矩阵列升序/降序)sortrows(A,n) 按第n列排列各行,n正升序,n负降序,n省略第一列升序size(x)/[a,b]=size(x) 返回[行数,列数]/给a、b赋值length(A) 矩阵A的最大长度(行数和列数的最大值)std(A) 求A的标准差(行向量自身求解,矩阵列求解)var(A) 求A的方差(行向量自身求解,矩阵列求解)rand/randn(m,n) 生成(0,1)m×n随机数矩阵/生成均值为0,标准差为1的高斯随机数矩阵(正态分布)【通过randn(m,n)*std+mean可得到均值为mean,标准差为std的正态分布随机数矩阵】A+B*i(complex(A,B)) 生成复数或复数矩阵real(A)/imag(A) 求实部/虚部isreal(A) 实数返回1coni(A) 求共轭【或用A'也可,但会发生行列互换】x为复数时abs(x)/angle(x) 求复数的模,与水平方向的夹角realmax/realmin 返回MATLAB能够使用的最大/最小浮点数intmax/intmin 返回MATLAB能够使用的最大/最小整数pi/i/j 圆周率/虚数/虚数clock 当前时间(一般使用fix(clock)增加可读性)date 返回日期,以字符串形式eps 返回MATLAB最小间隔矩阵A(n,:)/(:,m)【A(n,end)/(end,m)】A矩阵的第n行【最后一列】/第m列【最后一行】[A,B]=meshgrid(a,b),A.*B a,b为行向量,运行结果得a*b的m*n 维矩阵【meshgrid(x)等价于meshgrid(x,x)】zeros(m)/(m,n) m*m/m*n全零矩阵ones(m)/(m,n) m*m/m*n全一矩阵diag(A) 取对角元素为列向量diag(x) 若x为行向量或列向量,结果为对角阵其他元素为零diag(A,n/-n) 对角线右上/左下第n斜线上的元素fliplr(A)/flipud(A) A矩阵列/行进行对称翻转magic(m) 创建m*m维魔方矩阵作图xlabel/ylabel('') 添加x/y轴坐标title('') 添加表头grid 使图像出现网格figure(x) 创建或打开figure x窗口,之后作图均在该窗口进行hold on 保持图像窗口中之前的图像,进而在此作图不会清除之前图像(hold off取消)plot(x1,y1,x2,y2) 同时做两个图像plot(x) x为行向量,则以点数1至n为横轴,x为纵轴作图,按顺序依次连线plot(A) A为m*n矩阵,则图像为那条曲线,每条曲线横轴均为1至m,纵轴为相应列对应值plot(x,A) 以x为横轴,A的每一列为纵轴作图(x与A同维)plot(A,B) A与B需同维,对应列分别作为横轴和纵轴作图plot('标识符') 线型:-实线:点-.点画线--虚线点型:.点o圆圈xx形状+加号*星号s方形d菱形v下三角^上三角<左三角>右三角p五角星h六角星颜色:b蓝色g绿色r红色c青色m洋红色y黄色k黑色w白色【注】,多重输出可多重设定axis([a,b,c,d]) 限制图像x轴在[a,b],y轴在[c,d]legend('string1','string2',etc) 按照作图顺序添加图注text(x,y,'string') 在(x,y)处添加文本‘string’gtext('string') 添加文本‘string’,位置由鼠标点击确定【注】(适用于string形式)输入希腊字母需要'\'+希腊字母读法;^ 可出现上标,_ 可出现下标若想输出_或^,可用\+相应符号subplot(m,n,k) 将图形窗口划分成m行n列,所有的绘图操作都在一行一行数的第k个子图中进行【注】clf针对消除一个figure窗口内的内容,而plot等一系列操作针对一个子图中,且hold on/off被限于特定一个子图中,不影响其他子图polar(x,y) 绘制极图semilogx/semilogy(x,y) x轴对数,y轴线性/x轴线性,y轴对数作图loglog(x,y) 双对数坐标作图bar(x)/barh(x) x为矢量时,按x绘制垂直/水平条形图x为矩阵时,按各行分组绘制垂直/水平条形图bar3(x)/bar3h(x) 同上,绘制三维条形图pie(x)/pie3(x) 绘制(三维)饼状图。
MATLAB之变量、函数及常用语句
1、变量命名规则:变量名的第一个字符必须是英文字母,最多包含31个字符(包括英文字母、数字和下画线),变量中不得包含空格和标点符号,不得包含加减号。
变量名和函数区别字母的大小写,如matrix和Matrix表示两个不同的变量。
要防止它与系统的预定义变量名(如i,j,pi,eps等)、函数名(如who,length等)、保留字(如for,if,while,end等)冲突。
变量赋值用“=”(赋值号)。
有一些变量永久驻留在工作内存中,不能再重新赋值。
这些变量见下表2、基本初等函数3、几个常用的函数4、数据文件的存储和调用在清除变量或退出MATLAB后,变量不复存在。
为了保存变量的值,可以把它们存储在数据文件中。
例如,在指令窗口中输入>>clear;x=pi/3;a=sin(x);b= cos(x);c=2*a+b执行以后,在File菜单中选Save Workspace As 存入数据文件(例如abc.mat)。
则在以后的操作中可以调用这个数据文件。
只要在File菜单中点Open操作,就可以打开这个文件。
4.1)M文件在进行复杂运算时,在指令窗口高度程序或修改指令是不方便的,因此需要从指令窗口工具栏的新建按钮或选择菜单File:New:M-Fil进入MATLAB的程序编辑器窗口,以编写自己的M文件。
M文件有二类:M脚本文件和M函数文件。
将多条MATLAB语句写在编辑器中,以扩展名为m的文件保存在某一目录中,就得到一个脚本文件。
例如在M文件编辑器中输入clear;n=1:100;s=sum%sum是求和命令(如下图),然后单击工具栏中的保存按钮,保存中选择Debug:run菜单,则会在指令窗口输出:s=5050*注:文件名与变量名的命名规则相同,M文件一般用小写字母。
尽管MATLA B区分变量名的大小写,但不区分文件名的大小写。
M 脚本文件没有参数传递功能,但M函数文件有些功能,所以M函数文件用得更为广泛。
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常用函数与常用指令大全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 复制一个数组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 三角网格图1 常用指令(General Purpose Commands) 1.1 通用信息查询(General information) demo 演示程序help 在线帮助指令helpbrowser 超文本文档帮助信息helpdesk 超文本文档帮助信息helpwin 打开在线帮助窗info MA TLAB 和MathWorks 公司的信息subscribe MA TLAB 用户注册ver MA TLAB 和TOOLBOX 的版本信息version MA TLAB 版本whatsnew 显示版本新特征1.2 工作空间管理(Managing the workspace)clear 从内存中清除变量和函数exit 关闭MA TLABload 从磁盘中调入数据变量pack 合并工作内存中的碎块quit 退出MA TLABsave 把内存变量存入磁盘who 列出工作内存中的变量名whos 列出工作内存中的变量细节workspace 工作内存浏览器1.3 管理指令和函数(Managing commands and functions) edit 矩阵编辑器edit 打开M 文件inmem 查看内存中的P 码文件mex 创建MEX 文件open 打开文件pcode 生成P 码文件type 显示文件内容what 列出当前目录上的M、MA T、MEX 文件which 确定指定函数和文件的位置1.4 搜索路径的管理(Managing the seach patli) addpath 添加搜索路径rmpath 从搜索路径中删除目录path 控制MA TLAB 的搜索路径pathtool 修改搜索路径1.5 指令窗控制(Controlling the command window) beep 产生beep 声echo 显示命令文件指令的切换开关diary 储存MA TLAB 指令窗操作内容format 设置数据输出格式more 命令窗口分页输出的控制开关1.6 操作系统指令(Operating system commands) cd 改变当前工作目录computer 计算机类型copyfile 文件拷贝delete 删除文件dir 列出的文件dos 执行dos 指令并返还结果getenv 给出环境值ispc MA TLAB 为PC(Windows)版本则为真isunix MA TLAB 为Unix 版本则为真mkdir 创建目录pwd 改变当前工作目录unix 执行unix 指令并返还结果vms 执行vms dcl 指令并返还结果web 打开web 浏览器! 执行外部应用程序2 运算符和特殊算符(Operators and special characters)2.1 算术运算符(Arithmetic operators)+ 加- 减* 矩阵乘.* 数组乘^ 矩阵乘方.^ 数组乘方\ 反斜杠或左除/ 斜杠或右除./或.\ 数组除张量积[注]本表第三栏括号中的字符供在线救助时help 指令引述用2.2 关系运算符(Relational operators)= = 等号~= 不等号< 小于> 大于<= 小于或等于>= 大于或等于2.3 逻辑操作(Logical operators) & 逻辑与| 逻辑或~ 逻辑非xor 异或any 有非零元则为真all 所有元素均非零则为真2.4 特殊算符(Special characters) :冒号( ) 圆括号[ ] 方括号{ } 花括号@ 创建函数句柄. 小数点. 构架域的关节点.. 父目录续行号, 逗号; 分号% 注释号! 调用操作系统命令= 赋值符号ˊ引号ˊ复数转置号.ˊ转置号[,] 水平串接[;] 垂直串接( ),{ },. 下标赋值( ),{ },. 下标标识subsindex 下标标识3 编程语言结构(Programming language constructs) 3.1 控制语句(Control flow)break 终止最内循环case 同switch 一起使用catch 同try 一起使用continue 将控制转交给外层的for 或while 循环else 同if 一起使用elseif 同if 一起使用end 结束for,while,if 语句for 按规定次数重复执行语句if 条件执行语句otherwise 可同switch 一起使用return 返回switch 多个条件分支try try-cathch 结构while 不确定次数重复执行语句3.2 计算运行(Evaluation and execution)assignin 跨空间赋值builtin 执行内建的函数eval 字符串宏指令evalc 执行MA TLAB 字符串evalin 跨空间计算串表达式的值feval 函数宏指令run 执行脚本文件3.3 脚本文件、函数及变量(Scripts,function,and variables) exist 检查变量或函数是否被定义function 函数文件头global 定义全局变量isglobal 若是全局变量则为真iskeyword 若是关键字则为真mfilename 正在执行的M 文件的名字persistent 定义永久变量script MA TLAB 命令文件3.4 宗量处理(Augument handling) inputname 实际调用变量名nargchk 输入变量个数检查nargin 函数输入宗量的个数nargout 函数输出宗量的个数nargoutchk 输出变量个数检查varagin 输入宗量varagout 输出宗量3.5 信息显示(Message display)disp 显示矩阵和文字内容display 显示矩阵和文字内容的重载函数error 显示错误信息fprintf 把格式化数据写到文件或屏幕lasterr 最后一个错误信息lastwarn 最后一个警告信息sprintf 按格式把数字转换为串warning 显示警告信息3.6 交互式输入(Interactive input)input 提示键盘输入keyboard 激活键盘做为命令文件pause 暂停uicontrol 创建用户界面控制uimenu 创建用户界面菜单4 基本矩阵函数和操作(Elementary matrices and matrix manipulation)4.1 基本矩阵(Elementary matrices)eye 单位阵linspace 线性等分向量logspace 对数等分向量meshgrid 用于三维曲面的分格线坐标ones 全1 矩阵rand 均匀分布随机阵randn 正态分布随机阵repmat 铺放模块数组zeros 全零矩阵: 矩阵的援引和重排4.2 矩阵基本信息(Basic array information)disp 显示矩阵和文字内容isempty 若是空矩阵则为真isequal 若对应元素相等则为1islogical 尤其是逻辑数则为真isnumeric 若是数值则为真length 确定向量的长度logical 将数值转化为逻辑值ndims 数组A 的维数size 确定矩阵的维数4.3 矩阵操作(Matrix manipulateion)blkdiag 块对角阵串接diag 创建对角阵,抽取对角向量end 数组的长度,即最大下标find 找出非零元素1 的下标fliplr 矩阵的左右翻转flipud 矩阵的上下翻转flipdim 交换对称位置上的元素ind2sub 据单下标换算出全下标reshape 矩阵变维rot90 矩阵逆时针90°旋转sub2idn 据全下标换算出单下标tril 抽取下三角阵triu 抽取上三角阵4.4 特殊变量和常数(Special variables and constants) ans 最新表达式的运算结果eps 浮点相对误差i,j 虚数单位inf 或Inf 无穷大isfinite 若是有限数则为真isinf 若是无穷大则为真isnan 若为非数则为真NaN 或nan 非数pi 3.1415926535897?.realmax 最大浮点数realmin 最小正浮点数why 一般问题的简明答案4.5 特殊矩阵(Specialized matrices) compan 伴随矩阵gallery 一些小测试矩阵hadamard Hadamard 矩阵hankel Hankel 矩阵hilb Hilbert 矩阵invhilb 逆Hilbert 矩阵magic 魔方阵pascal Pascal 矩阵rosser 典型对称特征值实验问题toeplitz T oeplitz 矩阵vander V andermonde 矩阵wilkinson Wilkinson’s 对称特征值实验矩阵5 基本数学函数(Elementary math functions)5.1 三角函数(T rigonometric) acos 反余弦acosh 反双曲余弦acot 反余切acoth 反双曲余切acsc 反余割acsch 反双曲余割asec 反正割asech 反双曲正割asin 反正弦asinh 反双曲正弦atan 反正切atanh 反双曲正切atan2 四象限反正切cos 余弦cosh 双曲余弦cot 余切coth 双曲余切csc 余割csch 双曲余割sec 正割sech 双曲正割sin 正弦sinh 双曲正弦tan 正切tanh 双曲正切5.2 指数函数(Exponential)exp 指数log 自然对数log10 常用对数log2 以2 为底的对数nestpow2 最近邻的2 的幂pow2 2 的幂sqrt 平方根5.3 复数函数(Complex)abs 绝对值angle 相角complex 将实部和虚部构成复数conj 复数共轭cplxpair 复数阵成共轭对形式排列imag 复数虚部isreal 若是实数矩阵则为真real 复数实部unwrap 相位角360°线调整5.4 圆整和求余函数(Rounding and remainder)ceil 朝正无穷大方向取整fix 朝零方向取整floor 朝负无穷大方向取整mod 模数求余rem 求余数round 四舍五入取整sign 符号函数6 特殊函数(Specialized math functions)cart2pol 直角坐标变为柱(或极)坐标cart2sph 直角坐标变为球坐标cross 向量叉积dot 向量内积isprime 若是质数则为真pol2cart 柱(或极)坐标变为直角坐标sph2cart 球坐标变为直角坐标7 矩阵函数和数值线性代数(Matrix functions-numerical linear algebra) 7.1 矩阵分析(Matrix analysis)det 行列式的值norm 矩阵或向量范数normest 估计2 范数null 零空间orth 值空间rank 秩rref 转换为行阶梯形trace 迹subspace 子空间的角度7.2 线性方程(Linear equations)chol Cholesky 分解cholinc 不完全Cholesky 分解cond 矩阵条件数condest 估计1-范数条件数inv 矩阵的逆lu LU 分解luinc 不完全LU 分解lscov 已知协方差的最小二乘积nnls 非负二乘解pinv 伪逆qr QR 分解rcond LINPACK 逆条件数\、/ 解线性方程7.3 特性值与奇异值(Eigenvalues and singular values) condeig 矩阵各特征值的条件数eig 矩阵特征值和特征向量eigs 多个特征值gsvd 归一化奇异值分解hess Hessenberg 矩阵poly 特征多项式polyeig 多项式特征值问题qz 广义特征值schur Schur 分解svd 奇异值分解svds 多个奇异值7.4 矩阵函数(Matrix functions)expm 矩阵指数expm1 矩阵指数的Pade 逼近expm2 用泰勒级数求矩阵指数expm3 通过特征值和特征向量求矩阵指数funm 计算一般矩阵函数logm 矩阵对数sqrtm 矩阵平方根7.5 因式分解(Factorization utility)cdf2rdf 复数对角型转换到实块对角型balance 改善特征值精度的平衡刻度rsf2csf 实块对角型转换到复数对角型8 数据分析和傅里叶变换(Date analysis and Fourier transforms)8.1 基本运算(Basic operations) cumprod 元素累计积cumsum 元素累计和cumtrapz 累计积分hist 统计频数直方图histc 直方图统计max 最大值mean 平均值median 中值min 最小值prod 元素积sort 由小到大排序sortrows 由小到大按行排序std 标准差sum 元素和trapz 梯形数值积分var 求方差8.2 有限差分(Finite differentces) del2 五点离散Laplaciandiff 差分和近似微分gradient 梯度8.3 相关(Correlation)corrcoef 相关系数cov 协方差矩阵subspace 子空间之间的角度8.4 滤波和卷积(Filtering and convoluteion) conv 卷积和多项式相乘conv2 二维卷积convn N 维卷积detrend 去除线性分量deconv 解卷和多项式相除filter 一维数字滤波器fliter2 二维数字滤波器8.5 傅里叶变换(Fourier transforms)fft 快速离散傅里叶变换fft2 二维离散傅里叶变换fftn N 维离散傅里叶变换fftshift 重排fft 和fft2 的输出ifft 离散傅里叶反变换ifft2 二维离散傅城叶反变换ifftn N 维离散傅里叶反变换ifftshift 反fftshift9 音频支持(Audio support)9.1 音频硬件驱动(Audio hardware drivers)sound 播放向量soundsc 自动标刻并播放waveplay 利用系统音频输出设配播放waverecor 利用系统音频输入设配录音9.2 音频文件输入输出(Audio file import and export) auread 读取音频文件(.au)auwrite 创建音频文件(.au)wavread 读取音频文件(.wav)wavwrite 创建音频文件(.wav)9.3 工具(Utilities)lin2mu 将线性信号转换为μ 一律编码的信号mu2lin 将μ 一律编码信号转换为线性信号10 插补多项式函数(Interpolation and polynomials) 10.1 数据插补(Data Interpolation)griddata 分格点数据griddata3 三维分格点数据griddatan 多维分格点数据interpft 利用FFT 方法一维插补interp1 一维插补interp1q 快速一维插补interp2 二维插补interp3 三维插补intern N 维插补pchip hermite 插补10.2 样条插补(Spline Interpolation)ppval 计算分段多项式spline 三次样条插补10.3 多项式(Polynomials)conv 多项式相乘deconv 多项式相除poly 由根创建多项式polyder 多项式微分polyfit 多项式拟合polyint 积分多项式分析polyval 求多项式的值polyvalm 求矩阵多项式的值residue 求部分分式表达roots 求多项式的根1#caidaoyiba11 数值泛函函数和ODE 解算器(Function functions and ODE solvers) 11.1 优化和寻根(Optimization and root finding)fminbnd 非线性函数在某区间中极小值fminsearch 单纯形法求多元函数极值点指令fzero 单变量函数的零点11.2 优化选项处理(Optimization Option handling)optimget 从OPTIONS 构架中取得优化参数optimset 创建或修改OPTIONS 构架11.3 数值积分(Numerical intergration)dblquad 二重(闭型)数值积分指令quad 低阶法数值积分quadl 高阶法数值积分11.4 绘图(Plotting)ezcontour 画等位线ezcontourf 画填色等位线ezmesh 绘制网格图ezmeshc 绘制含等高线的网格图ezplot 绘制曲线ezplot3 绘制3 维曲线ezpolar 采用极坐标绘图ezsurf 画曲面图ezsurfc 画带等位线的曲面图fplot 画函数曲线图11.5 内联函数对象(Inline function object) argnames 给出函数的输入宗量char 创建字符传输组或者将其他类型变量转化为字符串数组formula 函数公式inline 创建内联函数11.6 差微分函数解算器(Differential equation solvers) ode113 变阶法解方程ode15s 变阶法解刚性方程ode23 低阶法解微分方程ode23s 低阶法解刚性微分方程ode23t 解适度刚性微分方程odet23tb 低阶法解刚性微分方程ode45 高阶法解微分方程12 二维图形函数(Two dimensional graphs)12.1 基本平面图形(Elementary X-Y graphs) loglog 双对数刻度曲线plot 直角坐标下线性刻度曲线plotyy 双纵坐标图polar 极坐标曲线图semilogx X 轴半对数刻度曲线semilogy Y 轴半对数刻度曲线12.2 轴控制(Axis control)axes 创建轴axis 轴的刻度和表现box 坐标形式在封闭式和开启词式之间切换grid 画坐标网格线hold 图形的保持subplot 创建子图zoom 二维图形的变焦放大12.3 图形注释(Graph annotation)gtext 用鼠标在图上标注文字legend 图例说明plotedit 图形编辑工具text 在图上标注文字texlabel 将字符串转换为T ex 格式title 图形标题xlabel X 轴名标注ylabel Y 轴名标注12.4 硬拷贝(Hardcopy and printing)orient 设置走纸方向print 打印图形或把图存入文件printopt 打印机设置13 三维图形函数(Three dimensional graphs) 13.1 基本三维图形(Elementary 3-D plots) fill3 三维曲面多边形填色mesh 三维网线图plot3 三维直角坐标曲线图surf 三维表面图13.2 色彩控制(Color control)alpha 透明色控制brighten 控制色彩的明暗caxis (伪)颜色轴刻度colordef 用色风格colormap 设置色图graymon 设置缺省图形窗口为单色显示屏hidden 消隐shading 图形渲染模式whitebg 设置图形窗口为白底13.3 光照模式(Lighting)diffuse 漫反射表面系数light 灯光控制lighting 设置照明模式material 使用预定义反射模式specular 漫反射surfnorm 表面图的法线surfl 带光照的三维表面图13.4 色图(Color maps)autumn 红、黄浓淡色bone 蓝色调灰度图colorcube 三浓淡多彩交错色cool 青和品红浓淡色图copper 线性变化纯铜色调图flag 红-白-蓝黑交错色图gray 线性灰度hot 黑-红-黄-白交错色图hsv 饱和色彩图jet 变异HSV 色图lines 采用plot 绘线色pink 淡粉红色图prism 光谱色图spring 青、黄浓淡色summer 绿、黄浓淡色vga 16 色white 全白色winter 蓝、绿浓淡色13.5 轴的控制(Axis control)axes 创建轴axis 轴的刻度和表现box 坐标形式在封闭式和开启式之间切换daspect 轴的DataAspectRatio 属性grid 画坐标网格线hold 图形的保持pbaspect 画坐标框的PlotBoxAspectRatio 属性subplot 创建子图xlim X 轴范围ylim Y 轴范围zlim Z 轴范围zoom 二维图形的变焦放大13.6 视角控制(V iewpoint control)rotate3d 旋动三维图形view 设定3-D 图形观测点viewmtx 观测点转换矩阵13.7 图形注释(Graph annotation)colorbar 显示色条gtext 用鼠标在图上标注文字plotedit 图形编辑工具text 在图上标注文字title 图形标题xlabel X 轴名标注ylabel Y 轴名标注zlabel Z 轴名标注13.8 硬拷贝(Hardcopy and printing)orient 设置走纸方向print 打印图形或把图存入文件printopt 打印机设置verml 将图形保存为VRML2.0 文件14 特殊图形(Specialized graphs)14.1 特殊平面图形(Specialized 2-D graphs) area 面域图bar 直方图barh 水平直方图comet 彗星状轨迹图compass 从原点出发的复数向量图errorbar 误差棒棒图ezplot 画二维曲线ezpolar 画极坐标曲线feather 从X 轴出发的复数向量图fill 多边填色图fplot 函数曲线图hist 统计频数直方图pareto Pareto 图pie 饼形统计图plotmatrix 散点图阵列scatter 散点图stairs 阶梯形曲线图stem 火柴杆图14.2 等高线及二维半图形(Contour and 2-1/2D graphs) clabel 给等高线加标注contour 等高线图contourf 等高线图contour3 三维等高线ezcontour 画等位线ezcontourf 画填色等位线pcolor 用颜色反映数据的伪色图voronoi V oronoi 图14.3 特殊三维图形(Specialized 3-D graphs)bar3 三维直方图bar3h 三维水平直方图comet3 三维彗星动态轨迹线图ezgraph3 通用指令ezmesh 画网线图ezmeshc 画等位线的网线图ezplot3 画三维曲线ezsurf 画曲面图ezsurfc 画带等位线的曲面图meshc 带等高线的三维网线图meshz 带零基准面的三维网线图pie3 三维饼图ribbon 以三维形式绘制二维曲线scatter3 三维散点图stem3 三维离散杆图surfc 带等高线的三维表面图trimesh 三角剖分网线图trisurf 三角剖分曲面图waterfall 瀑布水线图14.4 内剖及向量视图(V olume and vector visualization) coneplot 锥体图contourslice 切片等位线图quiver 矢量场图quiver3 三维方向箭头图slice 切片图14.5 图像显示及文件处理(Image display and file I/O) brighten 控制色彩的明暗colorbar 色彩条状图colormap 设置色图contrast 提高图像对比度的灰色图gray 线性灰度image 显示图像imagesc 显示亮度图像imfinfo 获取图像文件的特征数据imread 从文件读取图像的数据阵(和伴随色图))imwrite 把强度图像或真彩图像写入文件14.6 影片和动画(Movies and animation)capture 当前图的屏捕捉frame2im 将影片动画转换为编址图像getframe 获得影片动画图像的帧im2frame 将编址图像转换为影片动画movie 播放影片动画moviein 影片动画内存初始化rotate 旋转指令14.7 颜色相关函数(Color related function)spinmap 颜色周期性变化操纵14.8 三维模型函数(Solid modeling)cylinder 圆柱面patch 创建块sphere 球面Surf2patch 将曲面数据转换为块数据15 句柄图形(Handle Graphics)15.1 图形窗的产生和控制(Figure window creation and control) clf 清除当前图close 关闭图形figure 打开或创建图形窗口gcf 获得当前图的柄openfig 打开图形refresh 刷新图形shg 显示图形窗15.2 轴的产生和控制(Axis creation and control) axes 在任意位置创建轴axis 轴的控制box 坐标形式在封闭式和开启式之间切换caxis 控制色轴的刻度cla 清除当前轴gca 获得当前轴的柄hold 图形的保持ishold 若图形处保持状态则为真subplot 创建子图15.3 句柄图形对象(Handle Graphics objects) axex 在任意位置创建轴figure 创建图形窗口image 创建图像light 创建光line 创建线patch 创建块rectangle 创建方surface 创建面text 创建图形中文本uicontextmenu 创建现场菜单对象uicontrol 用户使用界面控制uimenu 用户使用菜单控制15.4 句柄图形处理(Handle Graphics operations) copyobj 拷贝图形对象及其子对象delete 删除对象及文件drawnow 屏幕刷新findobj 用规定的特性找寻对象gcbf “正执行回调操作”的图形的柄gcbo “正执行回调操作”的控件图柄指令gco 获得当前对象的柄get 获得对象特性getappdat 获得应用程序定义数据isappdata 检验是否应用程序定义数据reset 重设对象特性rmappdata 删除应用程序定义数据set 建立对象特性setappdata 建立应用程序定义数据15.5 工具函数(Utilities)closereq 关闭图形窗请求函数ishandle 若是图柄代号侧为真newplot 下一个新图16 图形用户界面工具(Graphical user interface tools) align 对齐用户控件和轴cbedit 编辑回调函数ginput 从鼠标得到图形点坐标guide 设计GUImenu 创建菜单menuedit 菜单编辑propedit 属性编辑uicontrol 创建用户界面控制uimenu 创建用户界面菜单2#caidaoyiba17 字符串(Character string)17.1 通用字符串函数(General)blanks 空格符号cellstr 通过字符串数组构建字符串的元胞数组char 创建字符传输组或者将其他类型变量转化为字符串数组deblank 删除最后的空格double 把字符串变成ASCII 码值eval 执行串形式的MATLAB 表达式17.2 字符串查询(String tests)iscellstr 若是字符串组成的元胞数组则为真ischar 若是字符串则为真isletter 串中是字母则为真isspace 串中是空格则为真isstr 若是字符串则为真17.3 字符串操作(String operations)base2dec X-进制串转换为十进制整数bin2dec 二进制串转换为十进制整数dec2base 十进制整数转换为X 进制串dec2bin 十进制整数转换为二进制串dec2hex 十进制整数转换为16 进制串findstr 在一个串中寻找一个子串hex2dec 16-进制串转换为十进制整数hex2num 16-进制串转换为浮点数int2str 将整数转换为字符串lower 把字符串变成小写mat2str 将数组转换为字符串num2str 把数值转换为字符串strcat 把多个串连接成长串strcmp 比较字符串strcmpi 比较字符串(忽略大小写)strings MA TLAB 中的字符串strjust 字符串的对齐方式strmatch 逐行搜索串strnomp 比较字符串的前N 个字符strncmpi 比较字符串的前N 个字符(忽略大小写)strrep 用另一个串代替一个串中的子串strtok 删除串中的指定子串strvcat 创建字符串数组str2mat 将字符串转换为含有空格的数组str2num 将字符串转换为数值upper 把字符串变成大写18 文件输入/输出(File input/output)clc 清除指令窗口disp 显示矩阵和文字内容fprintf 把格式化数据写到文件或屏幕home 光标返回行首input 提示键盘输入load 从磁盘中调入数据变量pause 暂停sprintf 写格式数据到串sscanf 在格式控制下读串19 时间和日期(T ime and dates)clock 时钟cputme MA TLAB 战用CPU 时间date 日期etime 用CLOCK 计算的时间now 当前时钟和日期pause 暂停tic 秒表启动toc 秒表终止和显示20 数据类型(Data types and structures)20.1 数据类型(Data types)cell 创建元胞变量char 创建字符传输组或者将其他类型变量转化为字符串数组double 转化为16 位相对精度的浮点数值对象function handle 函数句柄inline 创建内联函数JavaArray 构建Java 数组JavaMethod 调用某个Java 方法JavaObject 调用Java 对象的构造函数single 转变为单精度数值sparse 创建稀疏矩阵struct 创建构架变量uint8(unit16、unit32) 转换为8(16、32)位无符号整型数int8(nit16、nit32) 转换为8(16、32)位符号整型数20.2 多维数组函数(Multi-dimensional array functions) cat 把若干数组串接成高维数组ndims 数组A 的维数ndgrid 为N-D 函数和插补创建数组ipermute 广义反转置permute 广义非共轭转置shiftdim 维数转换squeeze 使数组降维20.3 元胞数组函数(Cell array functions)cell 创建元胞变量celldisp 显示元胞数组内容cellfun 元胞数组函数cellplot 图示元胞数组的内容cell2struct 把元胞数组转换为构架数组deal 把输入分配给输出is cell 若是元胞则为真num2 cell 把数值数组转换为元胞数组struct2 cell 把构架数组转换为元胞数组20.4 构架函数(Structure functions)fieldnames 获取构架的域名getfield 获取域的内容isfield 若为给定构架的域名则为真isstruct 若是构架则为真rmfield 删除构架的域setfield 指定构架域的内容struct 创建构架变量20.5 函数句柄函数(Function handle functions)@ 创建函数句柄functions 列举函数句柄对应的函数func2str 将函数句柄数组转换为字符串str2func 将字符串转换为函数句柄20.6 面向对象编程(Object oriented programming functions) dlass 查明变量的类型isa 若是指定的数据类型则为真inferiorto 级别较低isjava 若是java 对象则为真isobject 若是对象则为真methods 显示类的方法名substruct 创建构架总量superiorto 级别较高21 示例(E xamples and demonstrations)demo 演示程序flow 无限大水体中水下射流速度数据intro 幻灯演示指令peaks 产生peaks 图形数据22 符号工具包(Symbolic Math T oolbox) 22.1 微积分(Calculus)diff 求导数limit 求极限int 计算积分jacobian Jacobian 矩阵symsum 符号序列的求和trylor T rylor 级数22.2 线性代数(Linear Algebra)det 行列式的值diag 创建对角阵,抽取对角向量eig 矩阵特征值和特征向量expm 矩阵指数inv 矩阵的逆jordan Jordan 分解null 零空间poly 特征多项式rank 秩rref 转换为行阶梯形svd 奇异值分解。
Matlab 常用命令
Matlab 常用命令1.窗口命令clf:清除当前图形窗口中的所有非隐藏图形对象。
close:光比当前的图形窗口。
close all:关闭所有的图形窗口。
clc:清除命令窗口中的内容,光标回到窗口的左上角。
home:光标回到窗口左上角。
2.工作空间管理命令Who:列出当前工作空间里的所有变量。
Who(‘global’):列出全局变量。
Whos:列出当前工作空间里的所有变量及大小,类型和所占储存空间。
Whos(‘global’):列出全局变量及大小,类型和所占储存空间。
Clear:从工作空间清除所有变量。
Clear global:从工作空间清除所有全局变量。
Clear all:从工作区间清除所有变量,函数和MEX文件。
Pack:将所有变量保存到磁盘,然后清除内存从磁盘恢复变量,有利于提高内存的利用率。
Save:将工作空间里的变量保存到磁盘文件。
Load:将磁盘工作变量加载到工作空间。
Workspace:现实工作空间浏览器。
Quit:推出MATLAB系统。
3.显示格式设置命令Format type:输出格式设置显示控制命令。
Echo on(off):显示(不显示)正在执行的M文件用语句。
More on(off):屏幕显示内容多少的控制(不控制)。
4.路径编辑命令Path:显示所有的MATLAB路径。
Path(path,‘newpath’)表示把一个新的路径附加到当前搜索路径后。
Path(‘newpath’,path)表示把一个新路径附加到当前搜索路径前。
Addpath:讲一个新目录添加到MATLAB的搜索路径里。
调用格式为:addpath(‘directory’)。
Rmpath:从MATLAB搜索路径里清除某个目录。
5.调试命令Dbclear:清除断点。
Dbcont:重新开始运行。
Dbdown:改变局部工作空间上下文,但在此之前必须运行过一次dbup命令。
Dbquit:推出调试。
Dbstack:显示当前运行程序的行号和M文件。
matlab中的if判断语句
matlab中的if判断语句在Matlab中,if判断语句是一种常用的条件控制结构,用于根据条件的真假来执行不同的代码块。
下面将介绍一些常见的if判断语句,并说明它们的用法和示例。
1. 单个if语句单个if语句用于在条件为真时执行特定的代码块。
例如,下面的代码将根据变量x的值来打印不同的消息。
```matlabx = 10;if x > 0disp('x是正数');end```2. if-else语句if-else语句用于在条件为真时执行一个代码块,条件为假时执行另一个代码块。
例如,下面的代码将根据变量y的值来打印不同的消息。
```matlaby = -5;if y > 0disp('y是正数');elsedisp('y是负数');end```3. if-elseif-else语句if-elseif-else语句用于在多个条件下执行不同的代码块。
例如,下面的代码将根据变量z的值来打印不同的消息。
```matlabz = 0;if z > 0disp('z是正数');elseif z < 0disp('z是负数');elsedisp('z是零');end```4. 嵌套if语句在一个if语句块内部可以嵌套另一个if语句块,以实现更复杂的条件控制。
例如,下面的代码判断变量a的奇偶性和正负性。
```matlaba = -3;if a > 0if mod(a, 2) == 0disp('a是正偶数');elsedisp('a是正奇数');endelseif a < 0if mod(a, 2) == 0disp('a是负偶数');elsedisp('a是负奇数');endelsedisp('a是零');end```5. 多重条件判断可以使用逻辑运算符(如&&、||)结合多个条件来实现复杂的条件判断。
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)。
当x<0时,sign(x)=-1;当x=0时,sign(x)=0;当x>0时,sign(x)=1。
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为底的对数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):反超越正切函数变数也可用来存放向量或矩阵,并进行各种运算,如下例的列向量(Row vector)运算:x = [1 3 5 2];y = 2*x+1y =3 7 11 5小提示:变数命名的规则1.第一个字母必须是英文字母2.字母间不可留空格3.最多只能有19个字母,MATLAB会忽略多馀字母用於向量的常用函数有: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的内积cross(x, y): 向量x和y的外积(大部份的向量函数也可适用於矩阵,详见下述。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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)。
end
例1 使用if语句判断学生的成绩是否及格。
程序:
clear
n=input(’输入n= ’)
m=60;
if n<m,
r=’不及格’
else
r=’及格’
end
练习一:将例1写入M-文件编辑器,然后在command window 调用这个程序。
(2) switch语句
switch语句可以替代多分支的if语句,而且switch语句简洁明了,可读性更好。其格式为:
switch 表达式
case 数值1
程序模块1
case 数值2
程序模块2
1 顺序结构
顺序结构是由两个程序模块串接构成。一个程序模块是完成一项独立功能的逻辑单元,它可以是一段程序、一个函数,或者是一条语句。
看图可知,在顺序结构中,这两个程序模块是顺序执行的,即先执行<程序模块1>,然后执行<程序模块2>。
实现顺序结构的方法非常简单,只需将程序语句顺序排列即可。
……
otherwise
程序模块n
end
其中的otherwise模块可以省略。
switch语句的执行过程是:首先计算表达式的值,然后将其结果与每一个case后面的数值依次进行比较,如果相等,则执行该case的程序模块;如果都不相等,则执行otherwise模块中的语句。如图3所示。
例8. 在MATLAB中,一个函数可以调用其它函数,也可以调用自身,即递归调用。下面利用递归算法编写一个函数,用来计算Fibonacci数列的第k项。
循环结构的流程图如图4所示它可以多次重复执行某一组语句。循环是计算机解决问题的主要手段。
在MATLAB中,循环结构可以由两种语句结构实现。
(1) for…end 循环结构。其格式为:
for i=V,循环体结构,end
其中V为一个行向量,循环变量i每次从V中取一个数值,执行一次循环体的内容,如此下去,直到完成V中的所有分量,就自动结束循环体的执行。
elseif n>=80
chji=’良好’
elseif n>=70
chji=’中等’
elseif n>=60
chji=’及格’
else
chji=’不及格’
end
练习二:将例2写入M-文件编辑器,然后在command window 调用这个程序。
例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)
三、M-文件
M文件是包含MATLAB代码的文件。M文件按其内容和功能可分为脚本M文件和函数M文件这两大类。
1、脚本M文件
脚本M文件是许多MATLAB代码按顺序组成的命令集合,不接受参数的输入和输出,与MATLAB工作区共享变量空间。脚本文件一般用来实现一个相对独立的功能,比如对某个数据集进行某种分析、绘图,求解方程等等。
程序模块n
else
程序模块n+1
end
例2 将百分之的学生成绩转换为五分制输出。
程序:
clear
n=input(’输入n= ’)
if n>=90
chji=’优秀’
前面的几个例题都是脚本文件的类型。
2、函数M文件
MATLAB的M-函数是由function语句引导的,其基本格式如下:
function [输出形参列表] = 函数名 (输入形参列表)
注释说明语句段,由%引导;
函数体语句
函数文件需要在M-文件编辑器中编写。写完以后,按照当前的搜索路径保存。以后就可以随时调用这个函数了。
练习四:建立MATLAB与word的连接,在新建的m-book中写入上面的程序,并用notebook菜单运行之。
循环结构里面还可以包含循环结构,形成多重循环。
例5 设计一个九九乘法表。
程序:
clear
for i=1:9
for j=1:9
例3 用switch…case开关结构将百分制的学生成绩转换为五分制的成绩输出。
程序:
clear
x=58
switch fix(x/10)
case {10,9}
y=’优秀’
case 8
y=’良好’
与脚本M文件不同的是,调用函数M文件时需要输入自变量的实际值。
随便打开一个M-文件看一看:
open lsqlin
编程实例
例7. 定义一个函数 f(x)=[sin(x)]2, 其中x以“度”为单位。然后再调用该函数。
解:在M-文件编辑器内写入下面的文件:
当针对多个条件进行选择时,可以采用下面的格式:
if 表达式1
程序模块1
elseif 表达式2
程序模块2
…… ……
elseif 表达式n
MATLAB编程环境有很多。常用的有:
1. 命令窗口
2. word窗口
3. M-文件编辑器,这是最好的编程环境。
M-文件的扩展名为“.m”。M-文件的格式分为两种:
①l M-脚本文件,也可称为“命令文件”。
② M-函数文件。这是matlab程序设计的主流。l
(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
a(i , j)=i*j;
end
end
a,
练习五:①直接在命令窗编写上面的程序。
②试运行下面的程序,并加以分析:
程序: disp(’ 九九乘法表 ’),for i=1:9,
for j=1:i,p{i}(j)=j*i;end,disp(p{i}),end
compan():可以求矩阵的伴随矩阵.
sin()等三角函数。
MATLAB在数学建模中的应用(3)
一、程序设计概述
MATLAB所提供的程序设计语言是一种被称为第四代编程语言的高级程序设计语言,其程序简洁,可读性很强,容易调试。同时,MATLAB的编程效率比C/C++语言要高得多。
for i=1:1:100
sum=sum+i
end
这个程序也可以用while语句编程。
注:for循环可以通过break语句结束整个for循环.
2.循环语句while
例:sum=0;i=1;
while(i<=100)
sum=sum+i;i=i+1;
2 选择结构
在MATLAB中,选择结构可由两种语句来实现。
(1) if语句
if语句的最简单用法为:
if 表达式;
程序模块;
end
if语句的另一种用法为:
if 表达式
程序模块1
else
程序模块2
end
3.if语句
if(条件)
语句
end
if(条件)
语句
else
语句
end
if(条件)
语句
elseif
语句
end
4.关系表达式:
=,>,<,>=,<=,==(精确等于)
function y=sinsd(x)
%自变量x以“度”为单位。
%
%白城师院
%数学建模协会,2007-5-12
a=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)
保存后的文件可以随时调用。
二、MATLAB程序结构
按照现代程序设计的观点,任何算法功能都可以通过三种基本程序结构来实现,这三种结构是:顺序结构、选择结构和循环结构。其中顺序结构是最基本的结构,它依照语句的自然顺序逐条地执行程序的各条语句。如果要根据输入数据的实际情况进行逻辑判断,对不同的结果进行不同的处理,可以使用选择结构。如果需要反复执行某些程序段落,可以使用循环结构。