愚蠢的错误使我们与MATLAB。
61(30天)
显示旧的评论
好吧,admit it. Who has done this (or something that resulted in the same loss of info) before?
> >上鞋楦
? ? ?未定义的函数或变量的持久之人。
> > lasterr
ans =
未定义的函数或变量的持久之人。
分析!我需要一个ERRORBEFORELASTERR函数。
你的愚蠢的MATLAB的错误是什么?
接受的答案
更多的答案(34)
安德烈亚斯•戈斯
2011年2月23日
覆盖命令和变量:
情节= 1:10;
情节(1:10)
ans =
1 2 3 4 5 6 7 8 9 10
或命令和命令创建和自己的对比。m函数,然后利用MATLAB的对比功能。
所有这typicall导致错误消息不仅有助于检测原因,如果你觉得-,你找到它
2的评论
奥利弗·伍德福德
2011年2月22日
清晰的
哦,我想把其中的一个变量。
2的评论
肖恩·德Wolski
2011年2月22日
我几乎从不使用清晰。我下载“保持”FEX要好得多。
那是当然,除非我把“核从轨道”的方法;我写了一个脚本:“慢性淋巴细胞白血病。m > >明确;关闭所有clc
马特Tearle
2011年2月22日
更符合OP,另一个“医生治愈你自己”的类别:
(小提琴在命令行中,试图找出一些问题在一个算法)
x1, x2%看起来主要是接近于零,但大向量,所以:
马克斯(ans)%哦,我的意思是……
马克斯(abs (ans))%不,不是* *答!::叹息::
1月
2011年2月22日
旧的EVAL bug,只有一点隐藏:
={标志“瘦的”,“排名”};%的脚踝标记
轨迹=兰德(100、3、2);
MagicAutoAssign(标记,轨迹);
情节(等级);%失败
% - - - - - - - - - - - - - - - - - -
函数MagicAutoAssign(标记,轨迹)
为i = 1:元素个数(标记)
assignin (“来电”标记{我},轨迹(:,:,i));
结束
现在策划“排名”失败,因为Matlab调用工具箱函数而不是排名。但它的工作原理,如果“排名”是使用索引访问:
情节(1:10 0,排名(:1));%好
更糟糕的是在Matlab < 2008:甚至在大写字母是“等级”转发到函数在调试模式下,但在调试模式下大写“排名”被认为是变量。所以您可以创建一个错误,消失在调试——最糟糕的情况!
简单的结论:
从来没有
动态地创建变量。
安德鲁·纽厄尔
2011年2月22日
喜乐——现在你可以做到面向对象风格!
> >我= MException
? ? ?错误使用= = > MException
不足够的输入参数
> >我= MException.last
我=
MException
属性:
标识符:“MATLAB: minrhs”
信息:没有足够的输入参数。
原因:{0 x1细胞}
堆栈(0 x1结构):
方法
2的评论
汪东城Doke
2011年2月22日
甚至,你可以犯同样的错误:
> > MException.lst
? ? ?没有适当的方法、属性或字段lst类MException。
> > MException.last
ans =
MException
属性:
标识符:“MATLAB: noSuchMethodOrField”
信息:“不适当的方法、属性或字段lst类MException。”
原因:{}
堆栈(0 x1结构):
方法
1月
2011年3月3日
我试着开始另一个Matlab版本的实例,但当前目录是一个工具箱偶然文件夹:
在Matlab 6.5中,窗口:
cd (fullfile (matlabroot,“matlab工具箱\ \ strfun”);
系统(Matlab的C: \计划\ \ R2009a \ bin \ win32 \ Matlab。exe &’)
= = > 2009 Matlab始于对发现M-files很多警告,这是内装式函数。然后脚本STRNCMP(帮助文本只!)是试图执行一个函数。因为这个失败,Matlab路径包含\工具箱\当地。没有工具箱功能诊断是乏味的。
我有一个相似的分解,重载比较字符串后受损的版本。
2的评论
1月
2011年3月3日
我很高兴听到这个消息。这是一个混乱和愚蠢的浪费时间。另一个版本的缺点:
M-script借助文本只有在一个文件夹:
\ \ MyFun.m MFiles \文件夹
编译功能在不同的平台特定的文件夹,这包括在动态的路径:
\ MFiles \ ForMatlab6 \ MyFun.dll
\ MFiles \ ForMatlab7 \ MyFun.mexw32
现在从命令行调用MyFun或其他辅助功能失败,如果当前文件夹\ \ MFiles \文件夹:“试图调用脚本MyFun功能”。解决方案:CD中性文件夹。
1月
2011年4月4日
我想添加优化标志/拱:在我的墨西哥人叫SSE2 Matlab 2009:
墨西哥人- o OPTIMFLAGS = " $ OPTIMFLAGS /拱:SSE2”func.c
对于一个批处理我需要的函数形式(或EVAL ? !):
墨西哥人(“o”,' OPTIMFLAGS = " $ OPTIMFLAGS /拱:SSE2”,“func.c”)
> >错误:国旗/拱:SSE2并不认可。
丑陋的解析器!过于复杂的蝙蝠PERL - > - > - >编译器管道的墨西哥人命令试图是聪明的。如此:
墨西哥人(“o”,“OPTIMFLAGS = " $ OPTIMFLAGS”,' /拱:SSE2”,“func.c”)
双引号中的字符串必须分割部分,尽管这些双引号是用来避免分裂!
0评论
Grzegorz Knor
2011年9月15日
有时我在打错结构字段名,例如:
my_struct。field1 = 1
然后:
my_struct。filed1 = 2
它产生:
my_struct =
field1: 1
filed1: 2
而不是:
my_struct =
field1: 2
2的评论
1月
2011年9月15日
@Walter:我们可以。我使用一个自我测试功能,扫描源代码并检查所有符号,其中包含一个点。dedicted创建结构体的功能,没有其他的功能是允许添加进一步的字段。
我照顾最小编辑距离,例如避免年代。mvc和S。”,这将是太容易输入错误。当然我从来没有创建字段通过复杂的EVAL命令或加载结构直接工作区。
使用OO方法将是一个更方便的方法来限制领域的定义。但即使对于功能程序,OO写作策略是重要的可靠的软件。
1月
2011年10月31日
process-first-non-singelton特性可以比用户更聪明:
m =兰迪(4);
n =兰迪(4);
M =兰德(M, n);
ColumnSum = (M)之和;%的危险
如果m等于1,总数calulated羊年第二维度。好:
ColumnSum = (M, 1)之和;%的安全
注意:对于
最小值
,
马克斯
和
性病
第二个输入
不
尺寸!
马克斯([1、2;3、4),2)% > > [2 2;3、4),elementwise最大值
马克斯([1、2;3、4],[],2)% > > [2;4),沿着第二维度最大值
1月
2012年2月4日
清晰的所有
b = 1;
= 2;
清晰的所有
谁
%的名字大小字节类属性
% b 1 x1 8双
如果一个变量“所有”,这是清除,但另一个变量
不
感动了。
[编辑]“全部清除”行为是一个典型的例子不好编程practize使用
神奇的数字
。这里的字符串的所有魔法,因为它触发一个完全失忆,如果没有这个名字的变量。是聪明的使用无效符号为特殊命令,如“美元”。看到
Wiki:神奇的数字
和
Wiki:神奇的字符串
。
9日评论
埃里克·桑普森
2013年4月24日
注:我最近还要求TMW考虑使用“清除所有”M-lint /分析仪警告,因为它有副作用,旅行的人(像清除断点和全局,冲洗m文件缓存,等等)。如果你喜欢这个想法,电话/电子邮件支持和借给你的投票这改进请求!万博1manbetx:)