做图形界面设计时,为了给某操作绑定一个“响应函数”→大多时,为了方便并非专门去设计一个函数文件,而是用一组MATLAB命令代替。那如何在程序中优雅地“就地”嵌入一组命令呢?
上述所谈及的GUI设计对象的属性值大都是“string”类型,在MATLAB中即“一对单引号引起来的字符串”。但如果字符串中原本就存在单引号时,则需连续书写两个。再者,如需将多个字符串赋予同一个变量,应使用中括号“[]”括起来→构成字符串向量(向量元素间逗号“,”分隔)。因此,书写规则如下:
- 赋予此类属性的属性值→→MATLAB命令组是“string”类型,应单引号引之。
- *多个MATLAB命令,引成一个字符串,位于一行中:*书写完多个命令后,首尾各一引号引之,字符串位于一行中。
C='figure(''name'',''tangent(x)'');plot(x,t);axis([0,2*pi,-40,40]);';
(外层可加一个())。 - 多个MATLAB命令,引成多个字符串,加[]位于一行中:一个命令一对引号一个字符串,多个字符串加[]构成字符串向量位于一行中。
C=['figure(''name'',''cos(x)'' );','plot(x,z);','axis([0,2*pi,-1,1]);'];
(一定要加[],而()不行)。 - 多个MATLAB命令,引成多个字符串,加[]位于多行中:MATLAB续行符为“…”;以行为单位加引号(哪怕某个语句未结束),最后[]括之。
C=['figure(''name'',''cotangent(x)'',''numbertitle'',',...
' ''off'');plot(x,ct);',...
'axis([0,2*pi,-40,40]);'];
或者:
C=['figure(''name'',''tangent(x)'',''deletefcn'',',...
'C4,','''numbertitle'',''off'');','plot(x,t);',... %这行有3个字符串
'axis([0,2*pi,-40,40]);'];