【Matlab】基础教程

@TOC


基本操作命令

1.设置计算显示结果的格式

  • format short 显示格式是默认的显示格式 。

2. 常用指令

3. 数据类型

  • MATLAB的构造型数据基本上与C++的构造型数据相衔接,但它的数组却有更加广泛的含义和不同于一般语言的运算方法。符号对象是MATLAB所特有的一类为符号运算而设置的数据类型。严格地说,它不是某一类型的数据,它可以是数组、矩阵、字符等多种形式及其组合,但它在MATLAB的工作区中的确又是另类的一种数据类型。

4. 数学运算

4.1 取整函数

4.2 复数函数

4.3 符号常量

5. 函数

5.1 匿名函数(lemba表达式)

匿名函数通常是简单的函数,不需要编写m文件。匿名函数是面向命令行代码的函数形式,通常是由一句简单的声明语句组成。创建的标准形式是:

  • fhandle=@(arglist)expr

  • arglist为参数列表,指出了函数的参数列表,用“,”分隔

  • expr为关于参数列表的表达式形式,前缀@是固定的,等号右边表示将该函数句柄赋值到变量fhandle。

下面这个例子定义了一个匿名函数来计算x^3^ +y^3^的值

fhandle=@(x, y)(x.\^3+y.^3)

此处定义了一个匿名函数来计算x3+y3的值,其中x和y可以是矩阵。运行如下:

fhandle=@(x, y)(x.\^3+y.^3);
a=5; b=8;
fhandle(a,b)
ans =
637

5.2 内联函数

内联函数是MATLAB中的另一种可以实现函数功能的对象,它的创建形式非常简单。其调用格式如下所示:

  • inline(‘string’,arg1,arg2,…)

  • ‘string’必须是不带赋值号“=”的字符串,arg1, arg2等是函数的输入变量。

下面这个例子创建内联函数实现f(x,y)=cos(x)e^xy^

f =inline('cos(x)*exp(x*y)','x','y')
f=
inline function;
f(x,y)=cos(x)*exp(x*y)

如果输入变量设置为x=1,y=2,即输入形式和结果如下所示:

Z=f(1,2)
Z=
3.9923

5.3 函数指针(函数句柄)

函数句柄实际上提供了一种函数调用的间接方法,创建函数句柄要用到操作符@。前面所讲的匿名函数实际上创建了一种函数句柄。MATLAB中的各种函数都可以创建函数句柄。创建函数句柄的方法如下:

  • fhandle=@filename;

  • filename就是所对应的m函数文件名或者是库函数名

  • fhandle保存了该m文件或者库函数的句柄,通过句柄fhandle即可调用相应的m文件或者库函数。

下面这个例子创建函数cos的句柄

a=@cos;
a(pi)
ans =
-1

该例中,将内置函数cos(x)的句柄赋值到变量a,然后通过a可以实现对函数cos的间接调用。

下面这个例子在SumMax.m文件中自定义SumMax函数

function [a,b] = SumMax(X)
m=max(size(X));
a=0;
for n=1:m
a=a+X(n);
end
b=max(X);
end

将上述程序保存为SumMax.m。采用函数句柄的方法来实现

b=@SumMax;
y=[3,2,10,12,6];
 [c,d]=b(y)
c =
33
d =
12

Last updated