Main Content

创建运行函数的超链接

使用特殊关键字 matlab: 可以在其他函数中嵌入命令。最常见的情形是,包含特殊关键字的函数会显示超链接,这样当您点击超链接文本时便会执行相应的命令。支持 matlab: 语法的函数包括 disperrorfprintfhelpwarning

使用 matlab: 语法可在命令行窗口中创建一个超链接,以此运行一个或多个函数。例如,您可以使用 disp 将单词 Hypotenuse 显示为一个可执行的超链接,如下所示:

disp('<a href="matlab:a=3; b=4;c=hypot(a,b)">Hypotenuse</a>')
点击该超链接可执行 matlab: 后的三个命令,这将生成
c =
     5
执行该链接将在基础工作区中创建或重新定义变量 abc

disp 的参量是一个 <a href> HTML 超链接。将从 '<a href=</a>' 的完整超链接文本包括在一行中,即:不要在新行上继续长文本。开头的 < 之后及结尾的 > 之前不允许使用任何空格。ahref 之间需要使用一个空格。

您不能直接执行 matlab: 语法。即,如果您键入

matlab:a=3; b=4;c=hypot(a,b)
则会收到错误,这是因为 MATLAB® 将非法上下文中的冒号解释为数组运算符:
??? matlab:a=3; b=4;c=hypot(a,b)
            |
Error: The expression to the left of the equals sign 
       is not a valid target for an assignment.

您无需使用 matlab: 即可显示指向 Web 的活动超链接。例如,如果您希望链接到外部网页,可以使用 disp,如下所示:

disp('<a href="http://en.wikipedia.org/wiki/Hypotenuse">Hypotenuse</a>')
命令行窗口中的结果与上一示例看似相同,但却打开 en.wikipedia.org 上的一个页面:

使用 matlab:,您可以:

运行单个函数

使用 matlab: 可在您点击命令行窗口中的超链接时运行指定的语句。例如,运行此命令:

disp('<a href="matlab:magic(4)">Generate magic square</a>')

它在命令行窗口中显示以下链接:

当您点击该链接时,MATLAB 运行 magic(4)

运行多个函数

您可以使用单个链接运行多个函数。例如,运行此命令:

disp('<a href="matlab: x=0:1:8;y=sin(x);plot(x,y)">Plot x,y</a>')

它在命令行窗口中显示以下链接:

当您点击该链接时,MATLAB 运行此代码:

x = 0:1:8;
y = sin(x);
plot(x,y)

在基础工作区中重新定义 x

x = -2*pi:pi/16:2*pi;

再次点击超链接 Plot x,y,它会将 x 的当前值更改回 0:1:8matlab: 在您点击 Plot x,y 时运行的代码会在基础工作区中定义 x

提供命令选项

在文件中使用多个 matlab: 语句提供选项,例如

disp('<a href = "matlab:state = 0">Disable feature</a>')
disp('<a href = "matlab:state = 1">Enable feature</a>')

命令行窗口显示跟随的链接。根据您点击的链接,MATLAB 将 state 设置为 01

包括特殊字符

MATLAB 可正确解释包括特殊字符(例如大于号 (>))在内的大多数文本。例如,以下语句包括大于号 (>)。

disp('<a href="matlab:str = ''Value > 0''">Positive</a>')

并生成以下超链接。

某些符号的解释可能不正确,因而您可能需要使用该符号的 ASCII 值。例如,运行前面的语句的替代方法是使用 ASCII 62 而不是大于号。

disp('<a href="matlab:str=[''Value '' char(62) '' 0'']">Positive</a>')