updated:

Matlab学习笔记(1)


一.符号对象

1.符号对象(Symbolic Objects 不同于普通的数值计算)是Matlab中的一种特殊数据类型,它可以用来表示符号变量、表达式以及矩阵,利用符号对象能够在不考虑符号所对应的具体数值的情况下能够进行代数分析和符号计算(symbolic math operations),例如解代数方程、微分方程、进行矩阵运算等。符号对象需要通过sym或syms函数来指定, 普通的数字转换成符号类型后也可以被作为符号对象来处理

2.Matlab支持将一个数字转换成符号对象,转换得到的符号数(Symbolic Numbers)仍然具有数字值的含义,只是之后Matlab不会对它进行浮点运算。 

利用符号数也可以完成一些较为复杂的工作,如求极限,求导,因式分解等:

二.函数句柄

1.函数句柄是一种存储指向函数的关联关系的 MATLAB® 数据类型。它存储了函数的路径,这使得解释器不需要每次调用函数时在路径中搜索,从而提高运行速度,并且用户在调用函数时不需要考虑被调用函数的位置。

2.函数句柄也可以用以创建匿名函数。正如它的名字,匿名函数是一种没有函数名的函数,它可以使用fhandle_name = @(arglist) expr的形式来创建,创建后可以直接通过fhandle_name()来调用。

3.多重匿名函数的变量作用域

先定义一个函数plot_handle(fhandle, data),它接受一个函数句柄和一个数组

1
2
function plot_handle(fhandle, data)
plot(data, fhandle(data))

然后看如下示例

可以看到,a, b的作用域包括了后面的匿名函数,这使得我们可以直接通过修改a, b的值来生成任意一条直线。


← Prev 从C语言的函数调用谈起 | ADWorldCTF-Web(4) Next →