您可能需要检测并报告TLC代码中的错误情况。错误检测和报告最常用于库函数。虽然很少见,但如果S函数据code class="function">mdlCheckParameters据/code>功能不会检测到不可预见的条件。据/p>
要报告在TLC代码中检测到的错误条件,请使用据code class="function">LibBlockReportError据/code>或者据code class="function">LibBlockReportFatalError据/code>实用函数。下面是一个使用的例子据code class="function">LibBlockReportError据/code>在里面据code class="literal">paramlib.tlc据/code>函数据code class="function">libblockparameter.据/code>报告不恰当使用该功能的情况:据/p>
如果TYPE(param.Value) == "Matrix", %%退出,如果参数是一个真正的矩阵,即,有多行或多列。%if nRows > 1 %assign errTxt = "必须访问参数%使用“…“LibBlockMatrixParameter。”% %endif %endif . %据/pre>
浏览文件夹中的文件据code class="literal">matlabroot.据/code>
/ rtw / c /薄层色谱据/code>(据a href="matlab:cd(fullfile(matlabroot,'/rtw/c/tlc'))" target="_blank">开放据/a>),以了解更多使用的例子据code class="function">LibBlockReportError据/code>.据/p>
要生成TLC文件的错误,可以使用据code class="literal">%出口据/code>指令。或者,您可以使用下面描述的调用据code class="literal">%出口据/code>为你。这两种类型的错误是据/p>
使用错误据/p> |
这可能是由错误的模型造成的。据/p> |
致命(内部)TLC编码错误据/p> |
这些据span class="emphasis">不能据/em>由不正确的模型引起。据/p> |
使用据a class="indexterm" name="d123e22370">错误是由错误的模型或模型上定义的属性导致的错误。例如,假设您有一个S-Function块和一个针对特定D/ a设备的内联TLC文件。如果一个模型只能包含这个S-function块的一个副本,那么需要为包含这个S-function块的两个副本的模型生成一个错误。据/p>
使用库函数。据/strong>要生成与特定块相关的使用错误,请使用库函数据/p>
这据code class="literal">堵塞据/code>如果不是范围,则参数是块记录。如果块当前范围,则可以指定据code class="literal">堵塞据/code>作为 [ ]。据/p>
生成与特定块无关的一般使用错误,使用据/p>
这些库函数前缀字符串据code class="literal">金宝app仿真软件编码器误差:据/code>报告错误时提供的消息。据/p>
有关这些函数的用法示例,请参见据code class="literal">Gensfun.tlc.据/code>用于阻止错误和据code class="literal">commonsetup.tlc据/code>常见的错误。在TLC源文件夹中还有其他使用这些函数的文件据code class="literal">libblockreporterror(块,“错误字符串”)据/pre>
LibReportError(“错误字符串”)据/pre>
matlabroot.据/code>
/ rtw / c /薄层色谱据/code>(据a href="matlab:cd(fullfile(matlabroot,'/rtw/c/tlc'))" target="_blank">开放据/a>.据/p>
假设您有一个s函数,它有一个只接受数字的局部函数。你可能想加一个据em class="firstterm">断言据/em>要求输入只有数值数字。这些据a class="indexterm" name="d123e22412">断言可以指示致命的编码错误,对于这些错误,用户无法构建模型或指定可能导致错误发生的属性。据/p>
使用库函数。据/strong>两个可用的库函数是据/p>
在哪里据code class="literal"> 对于未块特定的错误消息。例如,要添加您可以使用的断言代码据/p>
这些库函数前缀字符串据code class="literal">金宝app仿真软件编码器致命的:据/code>到您提供的消息,并在报告错误时显示调用堆栈。据/p>
有关这些函数的用法示例,请参见据code class="literal">Gensfun.tlc.据/code>用于阻止错误和据code class="literal">commonsetup.tlc据/code>常见的错误。还有其他文件在文件夹中使用这些函数据code class="literal"> 使用%退出。据/strong>你可以打电话据code class="literal">%出口据/code>生成致命错误消息。但是,MathWorks建议您使用上述一个库函数。据/p>
直接使用据code class="literal">%出口据/code>,提供带有错误消息的堆栈跟踪是一种良好的实践。这让您可以看到导致错误的函数调用链。要生成堆栈跟踪,请使用以下格式生成消息:据/p>
LibBlockReportFatalError (据em class="replaceable">堵塞据/em>,“致命的编码错误消息”)据/pre>
堵塞据/code>
出错的块记录(或据code class="literal">[]据/code>如果块已经有作用域),并且据/p>
LibReportFatalError("致命的编码错误消息")据/pre>
%如果类型(参数)!=”数字“%
matlabroot.据/code>
/ rtw / c /薄层色谱据/code>(据a href="matlab:cd(fullfile(matlabroot,'/rtw/c/tlc'))" target="_blank">开放据/a>).据/p>
%setcommandswitch "-v1" %exit 金宝appSimulink Coder据/pre>
如果要显示格式化的多行错误消息,请创建一个包含消息文本的局部变量。例如:据/p>
%OpenFile留言我的消息文本与NewLines%CloseFile消息据/pre>
格式化错误消息后,使用上面描述的错误报告库函数之一,例如据code class="function">LibReportError据/code>,在发生时报告错误。例如:据/p>
% < LibReportError(消息)>据/pre>
错误报告库函数提供错误消息前缀,例如据code class="literal">金宝app仿真软件编码器误差:据/code>.据/p>
强烈建议您在发布新的TLC代码之前测试错误消息。要测试错误消息,请将相关代码复制到据code class="literal">test.tlc.据/code>文件和运行据/p>
tlc测试据/pre>
在MATLAB据sup>®据/sup>提示。据/p>
本节列出并描述了错误消息据a class="indexterm" name="d123e22494">由目标语言编译器生成。使用这个引用据/p>
确认已报告错误据/p>
确定错误的可能原因据/p>
确定修复错误的可能方法据/p>
在据code class="literal">%closefile.据/code>或者据code class="literal">%选择文件据/code>或者据code class="literal">% flushfile据/code>,参数必须是一个有效的文件变量据code class="literal">%打开文件据/code>.据/p>
不支持宏。金宝app您必须将宏重写为函数或将它们内联到代码中。据/p>
文本据/code>
代码包含据code class="literal">%错误据/code>指令生成此消息。它通常表示代码无法处理的一些条件,并显示以下文本据code class="literal">%错误据/code>指令。据/p>
文本据/code>
代码包含据code class="literal">%出口据/code>指令导致此消息。它通常表示代码无法处理的某些条件并显示以下文本据code class="literal">%出口据/code>指令。注意this directive causes the Target Language Compiler to terminate regardless of the据code class="literal remove_text_wrapping">-mnumber据/code>命令行选项。据/p>
用户试图使用据code class="literal">% filescope据/code>在文件中不止一次指令。据/p>
文本据/code>
这据code class="literal">%痕迹据/code>命令生成此错误消息并显示据code class="literal">%痕迹据/code>指令。仅当何时报告追踪指令据code class="literal remove_text_wrapping">-v.据/code>选项(详细模式)出现在命令行上。请注意,据code class="literal">%痕迹据/code>指令不会被认为是错误,也不会导致目标语言编译器停止处理。据/p>
文本据/code>
这据code class="literal">%警告据/code>命令生成此错误消息并显示据code class="literal">%警告据/code>指令。注意据code class="literal">%警告据/code>指令不会被认为是错误,也不会导致目标语言编译器停止处理。据/p>
找到块模板文件,但它不包含一个据code class="literal">%实现据/code>指令。一个据code class="literal">%实现据/code>指令是必需的,以便期望的语言和类型由该块模板文件实现。看据a href="//www.tatmou.com/jp/help/rtw/tlc/target-language-compiler-directives.html" class="a">用于生成目标代码的面向对象工具据/a>为更多的信息。据/p>
用户写了一个据code class="literal">%转变据/code>声明与多个据code class="literal">%默认据/code>案例,如下例所示:据/p>
%switch expr %case 1 code…%break %default more code…%break %default %% error甚至更多的代码…%打破% endswitch据/pre>
使用据code class="function">产生据/code>或者据code class="function">generate_type.据/code>在内置函数中,目标语言编译器要求您首先指定要生成的语言。这将导致块级目标文件实现与中指定的相同语言和类型据code class="literal">%的语言据/code>指令。据/p>
内置的据code class="function">generate_formatted_value.据/code>只能处理具有同质元素的向量(即所有元素具有相同类型的向量)。据/p>
标识符据/code>- 必须使用数组索引来引用多个范围之一据/h3>
在数据库文件的重复作用域标识符中,必须指定索引以消除引用的歧义。例如据/p>
数据库文件:块{name“abc2”参数{name“foo”值2}}块{name“abc3”参数{name“foo”value 3}} tlc文件:%据/pre>
在上面的例子中,引用据code class="literal">堵塞据/code>是模糊的,因为多个重复的范围命名据code class="literal">堵塞据/code>出现在数据库文件中。使用索引来消除引用的歧义,如:据/p>
% < GETFIELD([0],“名字”)>据/pre>
用户写了一个据code class="literal">%如果据/code>声明与多个据code class="literal">%别的据/code>块,如以下示例所示:据/p>
%如果expr代码…%其他更多代码…%else%%错误偶数模式代码…%恩迪夫据/pre>
标识符据/code>必须是字符串据/h3>
以下内置函数期望一个字符串,如果传入的参数不是字符串,则报告此错误。据/p>
投据/code>
GENERATE_FILENAME据/code>
存在据/code>
生成函数存在据/code>
Feval.据/code>
generate_type.据/code>
FILE_EXISTS据/code>
get_command _switch.据/code>
格式据/code>
innum.据/code>
产生据/code>
sysname.据/code>
指令据/code>必须记录据/h3>
参数据code class="literal">% mergerecord据/code>和据code class="literal">%CopyRecord.据/code>必须记录。此外,以下内置函数的第一个参数必须是一个记录:据/p>
Isalias.据/code>
REMOVEFIELD据/code>
字段名据/code>
ISFIELD据/code>
GETFIELD据/code>
SETFIELD据/code>
尝试从MATLAB调用目标语言编译器,但传递的一些参数不是字符串。据/p>
一个表达式据code class="literal">%断言据/code>语句求值为false。据/p>
标识符据/code>只允许使用+操作符添加成员据/h3>
范围分配必须是据code class="literal">Scope = Scope + variable据/code>.据/p>
一个函数不能被定义两次。确保没有在单独的TLC文件中定义相同的函数。据/p>
目标语言编译器不允许分区为零。据/p>
类型据/code>
目标语言编译器无法将此表达式从其当前类型转换为指定类型。例如,目标语言编译器不能将字符串投入到数字中据/p>
%assign x = "1234" %assign y = CAST("Number", x);据/pre>
目录名据/code>在O):据em class="replaceable">文档名称据/code>
这据code class="literal remove_text_wrapping">-O据/code>选项没有指定有效的文件夹。据/p>
内装式据/code>
期待类型的表达据em class="replaceable">类型据/code>,有一个类型的据em class="replaceable">类型据/code>
传递给内置函数的表达式类型不正确。据/p>
用户不允许拒绝删除TLC内置或变量。例如据/p>
%undef格式%%错误据/pre>
your_string.据/code>一个数字据/h3>
无法将字符串转换为数字。据/p>
标识符据/code>从RTW文件据/h3>
中显示的值已被覆盖据code class="literal">.rtw据/code>文件。据/p>
文档名称据/code>
目标语言编译器无法打开命令行上指定的文件。据/p>
错误据/code>
写入当前输出流时出错;据code class="literal">错误据/code>包含系统特定的错误信息。据/p>
此错误消息是报告的最后一个错误。它发生在据/p>
错误消息的数量超过错误消息阈值(默认情况下)。据/p>
处理完成和错误发生。据/p>
嵌套扩展指令是非法的。例如据/p>
% < foo (% < expr >) >据/pre>
相反,请执行以下操作:据/p>
%assign TMP = %% 据/pre>
扩展指令不能跨多行。要绕过这个限制,可以使用\行延续字符。以下是不正确的:据/p>
% < CompiledModel.System [Sysidx] .Block [BlkIdx]。名称+“Hello”>据/pre>
相反,使用:据/p>
% < CompiledModel.System [Sysidx] .Block [BlkIdx]。名称+ \“Hello”>据/pre>
函数名称据/code>忽略内置功能(警告)据/h3>
以下内置函数报告此警告时,当过多的参数传递给它们时:据/p>
投据/code>
NUMTLCFILES据/code>
存在据/code>
OUTPUT_LINES据/code>
FILE_EXISTS据/code>
尺寸据/code>
格式据/code>
字符串据/code>
GENERATE_FILENAME据/code>
STRINGOF据/code>
生成函数存在据/code>
sysname.据/code>
innum.据/code>
TLC文件据/code>
ISFINITE据/code>
类型据/code>
ISINF据/code>
WHITE_SPACE据/code>
isnan.据/code>
Will_roll.据/code>
目录名据/code>、名称=据em class="replaceable">文档名称据/code>)据/h3>
指定的据em class="replaceable">文档名称据/code>太长了。默认限制为256个字符据em class="replaceable">文档名称据/code>1024个字符据em class="replaceable">目录名据/code>,但限制可以更大,具体取决于平台。据/p>
格式据/code>
不是法律格式价值据/h3>
指定的格式不合法据code class="literal">% realformat据/code>指令。有效的格式字符串是据code class="literal">“指数”据/code>和据code class="literal">“简洁”据/code>.据/p>
函数名据/code>预计据em class="replaceable">数字据/code>争论据/h3>
调用函数时,将过多或太少的参数传递给它。据/p>
未声明的功能据code class="literal">无效据/code>或者据code class="literal">输出据/code>必须返回一个值。如果不需要返回值,请将函数声明为据code class="literal">无效据/code>,否则会返回一个值。据/p>
尝试使用TLC函数作为变量。据/p>
标识符据/code>多重定义。第二个和之后的定义被忽略了。据/h3>
与以下代码一样,用户正在尝试将相同的字段添加到记录中多次。据/p>
%cheaterecord err {foo 1;res {val 2}}%addtorecord err foo 2 %%错误据/pre>
标识符据/code>用于%foreach语句的范围(警告)据/h3>
对此的论点据code class="literal">%foreach.据/code>在输入前不能定义语句据code class="literal">%foreach.据/code>.据/p>
使用evals是非法的据code class="literal">.rtw据/code>文件。还有一些地方不允许指令。例如:据/p>
%function %(a, b, c) void %% error %endfunction据/pre>
在[]表达式中使用的索引必须是非负整数。据/p>
[]表达式中使用的索引必须是整数号码。据/p>
无效句柄将传递给目标语言编译器服务器模式。据/p>
string1.据/code>和据em class="replaceable">string2.据/code>必须匹配据/h3>
例如,在一系列信号中,据code class="literal">u1: u10据/code>,第一个参数中的标识符与第二个参数中的标识符不匹配。据/p>
跳跃据/code>)必须小于上限(据em class="replaceable">跳跃据/code>)据/h3>
例如,在一系列信号中,据code class="literal">u1: u10据/code>,下限高于上限。据/p>
操作符据/code>
一元运营商据code class="literal">-据/code>和据code class="literal">+据/code>需要数字类型。一元运算符据code class="literal">-据/code>需要一个积分类型。一元运算符据code class="literal">!!据/code>需要数字类型。据/p>
类型据/code>
将无效类型传递给内置函数。据/p>
函数值不能从函数调用中返回。据/p>
标识符据/code>已经存在于此内据em class="replaceable">作用域标识符据/code>;使用%assign更改值据/h3>
不能使用块加法运算符+来添加已经是指定块成员的值。使用据code class="literal">%分配据/code>更改现有值的值。这个例子产生了这样的错误:据/p>
%分配x=BLK{a 1;b 2}%分配a=3%分配x=x+a据/pre>
取代它可使用:据/p>
%assign x.a = 3据/pre>
出现在a内的陈述据code class="literal">%转变据/code>声明,但之前据code class="literal">%的情况据/code>语句被忽略,如下代码所示:据/p>
%switch expr %assign x = 2 %%此语句将被忽略据/pre>
只能从MATLAB转换到目标语言编译器的双倍和字符数组。如果MATLAB函数不返回值,则会发生此错误(请参阅据code class="literal">% matlab据/code>). 例如据/p>
%assign a = FEVAL("int8",3) %matlab disp(a)据/pre>
尝试从目标语言编译器的MATLAB版本接收多个输出。据/p>
使用[]运算符的字符串分配的右侧必须是长度1.您可以使用此表示法替换单个字符。据/p>
将包含非字符串数据的单元格作为第三个参数传递给据code class="function">查询据/code>或者据code class="function">执行字符串据/code>在服务器模式中。据/p>
在[]符号中,要替换矩阵的一行,行必须是与现有行长度相同的向量。据/p>
标识符据/code>用%openfile打开的文件没有关闭据/h3>
输出文件用据code class="literal">%打开文件据/code>必须关闭据code class="literal">%closefile.据/code>.这据code class="literal">标识符据/code>
变量的名称是否在据code class="literal">%打开文件据/code>指令。据/p>
请注意据/strong>
这也可能发生语法错误出现在代码段之间据code class="literal">openfile据/code>和据code class="literal">closefile据/code>,或者尝试为某个类型函数的输出赋值据code class="literal">无效据/code>或者据code class="literal">输出据/code>一个变量。据/p>
不能重复范围、标识符范围或重复值。这就防止了据code class="literal">[1@2@3]据/code>.据/p>
转变据/code>'据/code>
% setcommandswitch据/code>不能识别指定的开关,或不能修改它(例如,据code class="literal remove_text_wrapping">-R.据/code>不能修改)。据/p>
字符串据/code>
这个句柄的属性不是可识别的用户定义的据/h3>
在TLC服务器模式句柄上执行的查询正在查找未定义的属性。据/p>
所指示的行包含一个语法错误,有关语法的更多信息,请参阅据a href="//www.tatmou.com/jp/help/rtw/tlc/target-language-compiler-directives.html" class="a">目标语言编译器指令据/a>.据/p>
这据code class="literal">%打破据/code>指令只能在据code class="literal">%foreach.据/code>那据code class="literal">%的据/code>那据code class="literal">%卷据/code>, 或者据code class="literal">%转变据/code>陈述。据/p>
一种据code class="literal">%的情况据/code>或者据code class="literal">%默认据/code>指令只能出现在据code class="literal">%转变据/code>陈述。据/p>
这据code class="literal">%继续据/code>指令只能在据code class="literal">%foreach.据/code>那据code class="literal">%的据/code>, 或者据code class="literal">%卷据/code>陈述。据/p>
一个人的论点据code class="literal">%foreach.据/code>必须是数字类型。例如:据/p>
%foreach索引=[1 2 3 4]…%endforeach据/pre>
%foreach.据/code>无法接受向量作为输入。据/p>
一个论点据code class="literal">%如果据/code>语句必须是数字类型。例如,据/p>
if[1 2 3]…% endif据/pre>
%如果据/code>无法接受向量作为输入。据/p>
你可以使用据code class="literal">%实现据/code>指令为正在实现的语言指定字符串,或者指示它通过使用字符串向量来实现多种语言。您无法指定任何其他参数类型据code class="literal">%实现据/code>指令。据/p>
类型据/code>在哪里据em class="replaceable">类型据/code>预计据/h3>
指定的类型据code class="literal">%实现据/code>类中指定的类型必须完全匹配据code class="literal">generate_type.据/code>指令。如果要指定块接受多个输入类型,请使用据code class="literal">%实施*据/code>指令,如据/p>
%实现*“C”%%我接受任何类型并生成C代码据/pre>
语言据/code>)据/h3>
中指定的一种或多种语言据code class="literal">%实现据/code>指令必须完全匹配据code class="literal">%的语言据/code>指令。据/p>
一种据code class="literal">%返回据/code>语句只能在函数体中使用。据/p>
==和!= operator参数必须是相同的类型。你可以使用据code class="function">把()据/code>内置功能将它们更改为相同类型。据/p>
当您打开输出文件时,为文件指定的名称必须是一个有效的字符串。据/p>
论点据code class="literal">%,据/code>必须是有效的范围标识符。例如,据/p>
%x ...%端顶分配x = 1%据/pre>
在这个代码中,据code class="literal">%,据/code>语句参数是一个数字并生成此错误消息。据/p>
当使用[]操作符下标时,括号左边的表达式必须是向量、矩阵、字符串、数字常量或重复的作用域标识符。当在标量上使用数组索引时,将自动按标量展开常量并返回标量的值。例如,据/p>
%OpenFile X%指定Y = X [0]据/pre>
这个例子导致这个错误,因为据code class="literal">X据/code>是一个文件,对索引无效。据/p>
论点据code class="literal">%AddincludePath.据/code>必须是字符串。据/p>
输入文件控制指令的参数必须是一个有效的字符串,文件名用双引号给出。据/p>
这些目标语言编译器据code class="literal">开始据/code>指令必须以其相应的文件显示在同一文件中据code class="literal">结尾据/code>指令:据code class="literal">%的功能据/code>那据code class="literal">%转变据/code>那据code class="literal">%foreach.据/code>那据code class="literal">%卷据/code>, 和据code class="literal">%的据/code>.将构造完全放在一个目标语言编译器源文件中。据/p>
开始据/code>此行上的指令没有匹配项据em class="replaceable">结尾据/code>指令据/h3>
对于块作用域的指令,如果匹配据code class="literal">结尾据/code>缺少指令。以下块作用域目标语言编译器指令可能会发生此错误。据/p>
开始的指令据/th>
结束指令据/th>
描述据/th>
%如果据/code>
% endif据/code>
条件包含据/p>
%的据/code>
%endfor.据/code>
循环据/p>
%foreach.据/code>
%endforeach.据/code>
循环据/p>
%卷据/code>
% endroll据/code>
循环滚动据/p>
%,据/code>
% endwith据/code>
范围的指令据/p>
%转变据/code>
% endswitch据/code>
开关指令据/p>
%的功能据/code>
%Endfunction.据/code>
函数声明指令据/p>
{据/code>
}据/code>
创造记录据/p>
在打开范围的行上报告错误,并且没有匹配据code class="literal">结尾据/code>范围。据/p>
请注意据/strong>
嵌套的范围必须在父范围之前关闭。未能包含一个据code class="literal">结尾据/code>对于嵌套作用域通常会导致此错误,如据/p>
%if block.name ==“sin 3”%foreach idx = block.width%endif %%错误在此报告的是%foreach未终止据/pre>
函数名据/code>(…)在独立TLC中构造是非法的据/h3>
您无法从独立TLC调用matlab。据/p>
从MATLAB返回的值最多可以有两个维度。据/p>
传递给matlab的vectors可以是数字或字符串。看据a href="//www.tatmou.com/jp/help/rtw/tlc/target-language-compiler-directives.html" class="a">函数宏指令功能据/a>.据/p>
Feval.据/code>需要调用一个函数。这个错误只出现在MATLAB中。据/p>
当你使用据code class="literal">%卷据/code>,最后一个参数(在额外的用户指定参数之前)必须是一个有效的块范围。看据a href="//www.tatmou.com/jp/help/rtw/tlc/target-language-compiler-directives.html" class="a">%卷据/a>查询该命令的说明。据/p>
这据code class="literal">还是:据/code>操作符的第一个操作数必须是布尔表达式。据/p>
你打电话时据code class="function">产生据/code>或者据code class="function">generate_type.据/code>,第一个参数必须是有效的作用域。看到据a href="//www.tatmou.com/jp/help/rtw/tlc/target-language-compiler-directives.html" class="a">GENERATE和GENERATE_TYPE函数据/a>以获取更多信息和例子。据/p>
的名字据/code>至少需要据em class="replaceable">数字据/code>争论据/h3>
用户将参数太少传递给函数,如以下代码所示:据/p>
%function foo(a, b, c) %return a + b + c %endfunction % %%错误据/pre>
当你打电话的时候据code class="function">产生据/code>内置函数,前两个参数必须是块和函数的名称来调用。据/p>
当你打电话的时候据code class="function">generate_type.据/code>内置函数,前三个参数必须是块、要调用的函数名和类型。据/p>
这些函数期望据code class="literal">真实的据/code>或复杂的值作为输入参数。据/p>
您无法使用该语言更改据code class="literal">%的语言据/code>块模板文件中的指令。据/p>
古老的语言据/code>来据em class="replaceable">新语言据/code>(警告)据/h3>
正在实现的语言不应该在中途更改,因为据code class="function">产生据/code>函数调用出现在据code class="literal">%的语言据/code>指令可能导致据code class="function">生成据/code>要为先前语言加载的函数。给定文件中只能出现一个语言指令。据/p>
当你使用的时候据code class="literal">.据/code>操作员,左侧的左侧据code class="literal">.据/code>操作符必须是有效的作用域内标识符。例如:据/p>
%assign x = 1 %assign y = x.y据/pre>
在这段代码中,引用据code class="literal">X.Y.据/code>产生此错误消息,因为据code class="literal">X据/code>未定义为范围。据/p>
非法的左边赋值。据/p>
指定列据/code>)与行中的实际列数不匹配(据em class="replaceable">实际列据/code>)据/h3>
指定目标语言编译器矩阵时,指定的列数必须与矩阵中的实际列数匹配。例如,据/p>
%分配mat =矩阵(2,1)[[1,2]; [2,3]]据/pre>
在这种情况下,矩阵(1)声明中的列数与矩阵(2)中的列数不匹配。更改矩阵中的列数,或更改矩阵声明。据/p>
specified-rows据/code>)与矩阵中看到的实际行数不匹配(据em class="replaceable">实际行据/code>)据/h3>
当指定目标语言编译器矩阵时,行数必须与矩阵中的实际行数匹配。例如,据/p>
%分配mat =矩阵(1,2)[[1,2]; [2,3]]据/pre>
在这种情况下,矩阵声明(1)中的行的数量与矩阵(2)中所见的行数不匹配。要么更改矩阵中的行数或更改矩阵声明。据/p>
operator_name据/code>操作员仅适用于布尔参数据/h3>
这据code class="literal">&&据/code>和据code class="literal">||据/code>操作符只对布尔值有效。据/p>
operator_name据/code>运算符仅对整型参数有效据/h3>
这据code class="literal">&据/code>那据code class="literal">^据/code>那据code class="literal">|据/code>那据code class="literal"><<据/code>那据code class="literal">>>据/code>和据code class="literal">%据/code>操作员只处理数字。据/p>
operator_name据/code>运算符仅对数值参数有效据/h3>
以下操作符的实参必须是数字或实数:据code class="literal">据据/code>那据code class="literal"><=据/code>那据code class="literal">>据/code>那据code class="literal">> =据/code>那据code class="literal remove_text_wrapping">-据/code>那据code class="literal">*据/code>那据code class="literal">/据/code>.您使用时也会发生此错误据code class="literal">+据/code>作为一元运算符。此外,据code class="function">格式据/code>内置函数需要数值或实数参数。据/p>
当你使用据code class="literal">%卷据/code>,据code class="function">RollHeader ()据/code>指定的函数据code class="literal">Roller.tlc据/code>必须返回一个字符串值。看据a href="//www.tatmou.com/jp/help/rtw/tlc/target-language-compiler-directives.html" class="a">%卷据/a>的完整讨论据code class="literal">%卷据/code>构造。据/p>
当你使用据code class="literal">%卷据/code>,据code class="literal">卷据/code>Vector不能为空,必须包含数字或数字的范围。看据a href="//www.tatmou.com/jp/help/rtw/tlc/target-language-compiler-directives.html" class="a">%卷据/a>的完整讨论据code class="literal">%卷据/code>构造。据/p>
在一个范围内,例如,据code class="literal">1:10据/code>,下限高于上限。据/p>
指数据/code>)超出了范围据em class="replaceable">0-元素数-1据/code>
当索引到变量末尾以外的非标度时,会发生此错误。例如:据/p>
%分配x = [1 2 3]%指定y = x [3]据/pre>
此示例将导致此错误。请记住,在目标语言编译器中,数组索引从0开始,直到元素数减1为止。据/p>
这据code class="function">STRINGOF据/code>函数需要一个数字向量。该函数将每个数字视为有效字符的ASCII值。据/p>
xxx据/code>/据em class="replaceable">yyy据/code>
这据code class="function">sysname.据/code>函数采用单个表单据code class="literal">xxx据/code>/据code class="literal">yyy据/code>正如它出现在据code class="literal">.rtw据/code>文件并返回一个由两个字符串组成的向量,据code class="literal">xxx据/code>和据code class="literal">yyy据/code>.如果输入参数不匹配此格式,据code class="function">sysname.据/code>返回此错误。据/p>
当你使用据code class="literal">%卷据/code>,指定的卷阈值必须是单个数字。看据a href="//www.tatmou.com/jp/help/rtw/tlc/target-language-compiler-directives.html" class="a">%卷据/a>的完整讨论据code class="literal">%卷据/code>构造。据/p>
功能据/code>已弃用,在TLC的未来版本中将不支持。金宝app可参考TLC手册。据/h3>
这据code class="literal">%定义据/code>和据code class="literal">%生成据/code>不推荐使用指令,因为它们正在被替换。据/p>
这据code class="function">Will_roll.据/code>函数需要消息中引用的两个参数。据/p>
在使用TLC服务器模式时,全局上下文表已被填满。据/p>
指定的范围据code class="function">产生据/code>必须包括一个据code class="literal">类型据/code>参数,指示应该使用哪个模板文件为指定的作用域生成代码。例如:据/p>
%分配范围=块{name“foo”}%据/pre>
此示例生成错误消息,因为范围不包括参数据code class="literal">类型据/code>.看到据a href="//www.tatmou.com/jp/help/rtw/tlc/target-language-compiler-directives.html" class="a">GENERATE和GENERATE_TYPE函数据/a>以获取更多信息和例子。据/p>
用户正在尝试修改一个记录的字段据code class="literal">%,据/code>阻止而不限定左侧,如本例所示:据/p>
使用foo%createrecord foo {field 1}%,foo%分配字段= 2 %% error%endwith据/pre>
相反,使用据/p>
%createrecord foo {field 1} %with foo %assign foo。字段= 2%以据/pre>
数字据/code>符号。您可能已经创建了一个循环记录。如果不是这样,请将此泄漏报告给MathWorks。据/h3>
在运行TLC时发生了内存泄漏。最常见的原因是有循环记录。据/p>
标识符据/code>在据em class="replaceable">作用域标识符据/code>范围据/h3>
在指定的范围内找不到给定的标识符。例如,据/p>
%assign scope = scope {x 5} %assign y = scope.y据/pre>
在这段代码中,引用据code class="literal">范围..据/code>产生此错误消息。据/p>
文档名称据/code>
文件包含在据code class="literal">%包括据/code>在路上找不到指示。将文件移动到当前路径上的某个位置,或者使用据code class="literal remove_text_wrapping">-一世据/code>命令行选项或据code class="literal">%AddincludePath.据/code>指令指定包含该文件的文件夹。据/p>
文档名称据/code>从GENERATE或GENERATE_TYPE据/h3>
你指定了据code class="function">产生据/code>但在目标语言编译路径上找不到给定的文件名。你可以据/p>
将文件添加到该路径下的文件夹中。据/p>
使用据code class="literal">% generatefile据/code>指令指定路径上的此块类型的替代文件名。据/p>
使用使用的文件夹添加到搜索路径中的文件夹据code class="literal remove_text_wrapping">-一世据/code>命令行选项或据code class="literal">%AddincludePath.据/code>指令。据/p>
文档名称据/code>
无法打开指定的输出文件。指定了无效的文件名或仅读取文件。据/p>
标识符名称据/code>
该表达式中指定的标识符未定义。据/p>
类型据/code>在铸造表达式据/h3>
当你打电话的时候据code class="function">投据/code>内置函数,类型必须是据a href="//www.tatmou.com/jp/help/rtw/tlc/target-language-compiler-directives.html" class="a">目标语言值类型据/a>桌子据/p>
转变据/code>
查询交换机的当前状态,但指定的交换机无法识别。据/p>
指令名称据/code>看据/h3>
一个非法据code class="literal">%据/code>遇到指令。有效指令如下所示。据/p>
%AddincludePath.据/code>
%Addtorecord.据/code>
%断言据/code>
%分配据/code>
%break =.据/code>
%的情况据/code>
%closefile.据/code>
%继续据/code>
%CopyRecord.据/code>
%库馆据/code>
%默认据/code>
%定义据/code>
%别的据/code>
%elsif.据/code>
% endbody据/code>
%endfor.据/code>
%endforeach.据/code>
%Endfunction.据/code>
% endif据/code>
% endroll据/code>
% endswitch据/code>
% endwith据/code>
%错误据/code>
%出口据/code>
% filescope据/code>
%的据/code>
%foreach.据/code>
%的功能据/code>
%生成据/code>
% generatefile据/code>
%如果据/code>
%实现据/code>
%包括据/code>
%的语言据/code>
% matlab据/code>
% mergerecord据/code>
%打开文件据/code>
% realformat据/code>
%返回据/code>
%卷据/code>
%选择文件据/code>
% setcommandswitch据/code>
%转变据/code>
%痕迹据/code>
% undef据/code>
%警告据/code>
%,据/code>
输出类型据/code>对于功能据/h3>
功能类型修饰符不是据code class="literal">输出据/code>或者据code class="literal">无效据/code>. 对于不生成输出的函数,不带类型修饰符的默认值表示该函数不应生成输出。据/p>
多行注释(例如,/% %/)没有终止符,如下面的代码所示:据/p>
/% my comment %assign x = 2 %assign y = x * 7据/pre>
字符串必须在展开指令结束或行结束之前关闭。据/p>
发生了命令行问题。错误消息包含可用选项的列表。据/p>
功能据/code>引发绩效命中,请参阅TLC手册,以实现可能的解决方法。据/h3>
这据code class="literal">% undef据/code>和扩展(例如,据code class="literal">% < expr >据/code>)特性会降低性能。据/p>
类型据/code>类型无法比较据/h3>
指定的值据code class="literal">类型据/code>
无法比较。据/p>
指定类型据/code>类型无法展开据/h3>
不能在扩展指令上使用指定的类型。文件和作用域不能被扩展。当不带任何参数展开函数时也会发生此错误。如果你使用据/p>
%据/pre>
使用必需的参数调用它。据/p>
消息中列出的类型的值无法转换为MATLAB变量。据/p>
您可以指定据code class="literal">追加据/code>仅当变量当前以字符串形式存在时才为缓冲区流设置。请勿使用据code class="literal">追加据/code>选项如果变量不存在或不是字符串。此示例会产生此错误。据/p>
%assign x = 1 %openfile x, "a" %closefile x据/pre>
TLC函数库中的函数可以生成许多没有文档记录的错误消息。这些消息具有足够的自描述性,因此不需要额外的解释。但是,如果您遇到一个错误消息,它没有提供足够的描述来解决您的问题,请与我们的技术支持人员联系。金宝app据/p>