matlab中如何设置代码提示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中如何设置代码提示相关的知识,希望对你有一定的参考价值。
在M文件中输入某个命令后按某一个键会出现这个命令的帮助提示
matlab代码编辑器的智能提示功能很简单,就是通过Tab键来实现。下面我们在代码串口输入下面的代码:
aassd=0;
然后我们现在想调用aassd,我们不用一次输完,直接在下面输入一个a,然后按Tab键,可以看到matlab的自动提示功能出来了,一个列表框。我们可以看见aassd在第5个。
这时,我们可以按键盘上的向下箭头跳到aassd,然后回车即可。
也可以继续输入后面的字符,当跳到aassd再回车。可以看到我们输入到s是就已经到aassd了,现在回车即可。
上面是只写了一个字符a就按Tab键,这样会出现很多。我们也可以输入几个字符后才Tab键,同样的,比如我先知道我们想写的变量的前三个字符为aas,然后我们输入aas,只是再按Tab键,那么matlab只找到一个符合的变量就是aassd,在这种情况下matlab直接自动补齐,这样效率就搞了。
同样Tab也会自动补齐函数,比如我们现在想调用permute函数,但是我们只记得前三个字符,后面的不是很清楚,我们在编辑框中输入per,再按tab键,如图,出现一个列表,permute在最后面。
这是我们就可以知道permute函数怎么写的了,
继续敲入mu,在回车即可。
参考技术Atab键实现代码补全功能:
在忘记函数名称的时候或者函数未完全输入时,按tab键会给出用户可能想输入的函数名称,用户选择想要的函数,代码自动补全;
F1键实现代码提示:
当不确定函数参数个数及类型时,可以按F1键,会弹出帮助提示浏览器。
也可以按Cltr+F1,弹出简洁帮助窗口。
参考技术B 不知道你的是什么版本的,但是2014a版的有代码提示,,将鼠标放在那就有提示,有时候还是中文,马上就出下一个版本了,建议安装下一版。 参考技术C 你要的代码提示指的是什么?输入某个命令后按 F1 键会出现帮助 参考技术D fprintf('这个命令的作用是。。。。')本回答被提问者采纳
EXE崩溃时如何避免提示
【中文标题】EXE崩溃时如何避免提示【英文标题】:How to avoid prompt when EXE crashes 【发布时间】:2013-09-02 19:04:38 【问题描述】:我正在 MATLAB 中运行优化算法,并且正在调用批处理文件(调用 EXE 文件)来为 MATLAB 中的每次迭代执行任务。我希望这个 EXE 在 MATLAB 中的代码继续下一次迭代之前运行并关闭。到目前为止,我已经使用了批处理文件中的 START /WAIT 命令并且它们可以工作。这是我的例子:
@echo off
@TITLE Ostrich - Optimizaton Software Toolkit
REM Launch Ostrich,wait until it completes
START /WAIT "OSTRICH" /MIN Ostrich.exe
echo Done! > OstDone.txt
现在这是我的问题。如果 Ostrich.exe 崩溃,我会收到一个提示,要求我调试或关闭程序。这意味着当我运行这个算法时,我必须在场并观看屏幕(不方便,我在有时很慢的 EXE 上运行超过 1000 次迭代)。我必须先关闭程序,然后 MATLAB 代码才能继续运行。
现在,如果我去掉 /WAIT 部分,添加一个计时器并执行以下操作:
@echo off
@TITLE Ostrich - Optimizaton Software Toolkit
REM Launch Ostrich
START "OSTRICH" /MIN Ostrich.exe
REM Wait 2 seconds
ping localhost -n 2 -w 2500 > nul
REM If it takes more than 2 seconds it has probably crashed. Exit:
if %errorlevel% neq 0 exit /b %errorlevel%
上面的代码引入了新问题。首先,我必须估计每次运行EXE所需的时间(它不是一个恒定的时间,所以我必须设置一个上限)并且错误检查行只是无法关闭EXE (可能只是关闭了不理想的批处理文件)。
在第二个代码下,如果 EXE 崩溃,则会出现提示。但是,MATLAB 循环继续,EXE 的新实例在新窗口中运行。如果我遇到足够多的崩溃,我最终会在 MATLAB 循环结束时打开几个提示。在整体算法的背景下,这不是什么大问题,但也不是很理想。
基本上,我想编写一些代码来关闭并在 EXE 文件崩溃时重新运行它,或者只是关闭它(没有调试或关闭提示),同时仍然使用 /WAIT 命令,因为它允许我采取一些快速 EXE 运行的优势(EXE 的速度取决于我可能在其输入文件中修改的许多因素)。
我是使用批处理文件的新手,非常感谢任何帮助。
【问题讨论】:
【参考方案1】:@echo off
@TITLE Ostrich - Optimization Software Toolkit
for /L %%a in (1,1,1000) do (
REM Launch Ostrich
START "OSTRICH" /MIN Ostrich.exe
REM Wait 2 seconds
ping -n 2 localhost>nul
REM kill ostrich if it is running or not, and pause for 2 more seconds
taskkill /f /im "ostrich.exe" >nul 2>&1
ping -n 2 localhost>nul
)
【讨论】:
谢谢,这确实消除了额外的 EXE 实例,这些实例已经崩溃并且不会关闭,但它不会抑制错误提示,所以最后我仍然会收到几个错误提示。另外仅供参考,我的 for 循环在 MATLAB 中,批处理文件的目的是只运行一次。我想这是我能做的最好的了。在 START 中使用 /WAIT 命令时有没有办法做到这一点(如检查错误然后使用没有计时器的 taskkill)? 我不知道 Matlab。将它作为标签包含可能会很有用。【参考方案2】:如果 Ostrich.exe 是您的,您通常会在代码中使用 SetErrorMode()
。
否则,除了一般禁用错误报告外,您还可以使用 WerAddExcludedApplication()
禁用每个应用程序的错误报告。
【讨论】:
Ostrich.exe 不是我的,我对 C++ 也不是很熟悉。我试图通过操作中心并禁用 Ostrich.exe 的错误报告,但当它崩溃时我仍然得到提示。有没有办法从批处理文件中检测到崩溃并关闭它并重新运行它?以上是关于matlab中如何设置代码提示的主要内容,如果未能解决你的问题,请参考以下文章