愚蠢的错误使我们与MATLAB。

61(30天)
马特无花果
马特无花果 2011年2月22日
好吧,admit it. Who has done this (or something that resulted in the same loss of info) before?
> >上鞋楦
? ? ?未定义的函数或变量的持久之人。
> > lasterr
ans =
未定义的函数或变量的持久之人。
分析!我需要一个ERRORBEFORELASTERR函数。
你的愚蠢的MATLAB的错误是什么?
5个评论
马特无花果
马特无花果 2011年2月25日
最好的答案是一个难以定夺的顶部两个getter投票。

登录置评。

接受的答案

骑自行车的人
骑自行车的人 2011年2月22日
进入
> >兰德(100000)
而不是
> >兰德(100000 1)
嗯。为什么我的整个机器来戛然而止?
8的评论
史蒂文的主
史蒂文的主 2016年9月21日
数组大小限制的偏好 介绍了释放R2015a可以帮助避免这样做。

登录置评。

更多的答案(34)

安德鲁·纽厄尔
安德鲁·纽厄尔 2011年2月22日
试图编辑一个命令已经在命令窗口中可见:
> > x = 3
x =
3
现在把光标放在旁边x = 3,试图改变4:
> > 4
哦,对了,我应该在这里!
8的评论
安德鲁·纽厄尔
安德鲁·纽厄尔 2011年2月22日
这是一个贪婪算法。

登录置评。


保罗席尔瓦
保罗席尔瓦 2011年2月22日
忘记把;在向量数组操作和命令行骚扰。
2的评论
肖恩·德Wolski
肖恩·德Wolski 2011年2月22日
我所有的时间。只是忘记了‘;’一次,不是坏的部分。我使用向上箭头,然后我重新运行相同的命令w /该死的';'。一个失去了分号可以逗留一段时间。

登录置评。


安德烈亚斯•戈斯
安德烈亚斯•戈斯 2011年2月23日
覆盖命令和变量:
情节= 1:10;
情节(1:10)
ans =
1 2 3 4 5 6 7 8 9 10
或命令和命令创建和自己的对比。m函数,然后利用MATLAB的对比功能。
所有这typicall导致错误消息不仅有助于检测原因,如果你觉得-,你找到它
2的评论
1月
1月 2011年10月31日
x = 1:10;eval(“阴谋= x;”);情节(1:10);
这给不同的结果在命令窗口中运行时或者在一个函数。

登录置评。


奥利弗·伍德福德
奥利弗·伍德福德 2011年2月22日
清晰的
哦,我想把其中的一个变量。
2的评论
肖恩·德Wolski
肖恩·德Wolski 2011年2月22日
我几乎从不使用清晰。我下载“保持”FEX要好得多。
那是当然,除非我把“核从轨道”的方法;我写了一个脚本:“慢性淋巴细胞白血病。m > >明确;关闭所有clc

登录置评。


马特Tearle
马特Tearle 2011年2月22日
我一直在使用MATLAB为15年左右,我教人们如何使用它,当然,我压力的重要区别*。*……
所以猜测一旦让我几个小时沮丧的图像重建算法的调试……
医生,医治你自己!(不要测试算法在平方图片)

马特Tearle
马特Tearle 2011年2月22日
更符合OP,另一个“医生治愈你自己”的类别:
(小提琴在命令行中,试图找出一些问题在一个算法)
x1, x2%看起来主要是接近于零,但大向量,所以:
马克斯(ans)%哦,我的意思是……
马克斯(abs (ans))%不,不是* *答!::叹息::
4评论
丹尼尔Armyr
丹尼尔Armyr 2011年6月20日
是的,我被一些想法不使用ans老师了。使用ans只是让你陷入麻烦。

登录置评。


马特无花果
马特无花果 2011年2月22日
错误的骑自行车的流行,我经常做这个:
x =兰德(1:10 0);%我的意思:x =兰德(1100);
? ? ?错误使用= = >兰德
最大变量的大小超过所允许的程序。
3评论
1月
1月 2011年2月23日
@Matt图:使用一个德国键盘的键是相邻的。我使用它来创建“零(1:10 0)”频繁。

登录置评。


Aurelien Queffurust
Aurelien Queffurust 2011年9月15日
当我说口头同行类型
重新处理toolboxcache
100年在99例类型
重新处理toolboxcash

1月
1月 2011年2月22日
旧的EVAL bug,只有一点隐藏:
={标志“瘦的”,“排名”};%的脚踝标记
轨迹=兰德(100、3、2);
MagicAutoAssign(标记,轨迹);
情节(等级);%失败
% - - - - - - - - - - - - - - - - - -
函数MagicAutoAssign(标记,轨迹)
i = 1:元素个数(标记)
assignin (“来电”标记{我},轨迹(:,:,i));
结束
现在策划“排名”失败,因为Matlab调用工具箱函数而不是排名。但它的工作原理,如果“排名”是使用索引访问:
情节(1:10 0,排名(:1));%好
更糟糕的是在Matlab < 2008:甚至在大写字母是“等级”转发到函数在调试模式下,但在调试模式下大写“排名”被认为是变量。所以您可以创建一个错误,消失在调试——最糟糕的情况!
简单的结论: 从来没有 动态地创建变量。
1评论
里克
里克 2018年8月14日
这真的是一个可怕的调试情况……

登录置评。


马特无花果
马特无花果 2011年5月1日
与MATLAB的没有那么多,但与MATLAB的答案。这个已经咬了我好几次了。
我要编辑一个答案我之前给的,为了应对更多的问题或意见相机会经常编辑将会相当漫长,所以需要一些时间。当我完成我检查拼写错误(通常)然后点击提交按钮——至少,这是我应该做的。有时我点击Edit链接,导致页面刷新!所有输入丢失.....啊呀!
就好了如果根本没有编辑链接可用在编辑(它是什么了吗?),像我这样的假人!
4评论
安德鲁·纽厄尔
安德鲁·纽厄尔 2011年5月2日
必须……抵制……

登录置评。


史蒂文
史蒂文 2011年11月4日
我经常使用! ~ = =而不是不寻常的
2的评论
1月
1月 2011年11月4日
我有一个“如果一个~ = b”而不是“如果一个!= b”C-mex函数。它甚至——通常产生正确的结果。

登录置评。


安德鲁·纽厄尔
安德鲁·纽厄尔 2011年2月22日
错误的转置的情况下:
v1’* v2
而不是
v1 * v2’
2的评论
安德鲁·纽厄尔
安德鲁·纽厄尔 2011年2月22日
至少如果没有分号,你马上通知!

登录置评。


1月
1月 2011年2月22日
编辑:1月 2017年10月2日
c = {“一个”,“b”,“c”}
c (2) =
> > c = {“一个”,“c”}
Ups。我的意思是C {2} = "。另一个变体:
c =细胞(100);
c: =
> > c = {}
好:c(,) ={}得到细胞的空字符串。

迈克尔·奎因
迈克尔·奎因 2011年3月4日
> >退出
而不是
> >编辑
2的评论
史蒂文的主
史蒂文的主 2017年10月2日
去偏好和展开MATLAB >一般>确认对话框部分。有一个入口,“在退出前确认MATLAB”,如果你选择它将弹出一个对话框MATLAB(通常每次尝试戒烟。如果你从任务管理器强行杀死它,或如果MATLAB崩溃了,它无法显示对话框)。

登录置评。


克努特
克努特 2013年3月5日
i = 1:3
disp (exp(我*π));
结束
而不是:
i = 1:3
我*π)disp (exp (1);
结束

Kye泰勒
Kye泰勒 2013年4月24日
> >关闭基地
错误使用接近(111行)
指定的窗口不存在。
该死的!

亚当
亚当 2016年9月21日
自从我发生在这个古老的线程,一个不断抓住我因为我工作很多与策划的复杂信号的影响
图;情节(mySignal)
hilbSignal =希尔伯特(mySignal)
持有;
情节(hilbSignal);
哎!漂亮的蜘蛛网,但不是我在寻找什么。有一天我会记得我有复杂的数据,我真正想要的真实的或虚构的部分!在这种情况下,我一直想的希尔伯特变换结果的虚部只补充道。

安德鲁·纽厄尔
安德鲁·纽厄尔 2011年2月22日
喜乐——现在你可以做到面向对象风格!
> >我= MException
? ? ?错误使用= = > MException
足够的输入参数
> >我= MException.last
我=
MException
属性:
标识符:“MATLAB: minrhs”
信息:没有足够的输入参数。
原因:{0 x1细胞}
堆栈(0 x1结构):
方法
2的评论
汪东城Doke
汪东城Doke 2011年2月22日
甚至,你可以犯同样的错误:
> > MException.lst
? ? ?没有适当的方法、属性或字段lst类MException。
> > MException.last
ans =
MException
属性:
标识符:“MATLAB: noSuchMethodOrField”
信息:“不适当的方法、属性或字段lst类MException。”
原因:{}
堆栈(0 x1结构):
方法

登录置评。


安德鲁·纽厄尔
安德鲁·纽厄尔 2011年2月22日
在调试器,打字 辞职 而不是 dbquit 杀死了Matlab !
(我这个答案或许过于神秘的早期版本)。

1月
1月 2011年2月22日
工作:
n = datenum (datestr (29), 29)
2009失败(Matlab):
n = datenum (datestr (30), 30)
> >没有查找的一个月。
DATENUM (S、F)需要一个 字符串 格式说明符F .如果F 数值 ,它被解释为支点。与F = 29 DATENUM工作事故。

1月
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月
1月 2011年3月3日
我很高兴听到这个消息。这是一个混乱和愚蠢的浪费时间。另一个版本的缺点:
M-script借助文本只有在一个文件夹:
\ \ MyFun.m MFiles \文件夹
编译功能在不同的平台特定的文件夹,这包括在动态的路径:
\ MFiles \ ForMatlab6 \ MyFun.dll
\ MFiles \ ForMatlab7 \ MyFun.mexw32
现在从命令行调用MyFun或其他辅助功能失败,如果当前文件夹\ \ MFiles \文件夹:“试图调用脚本MyFun功能”。解决方案:CD中性文件夹。

登录置评。


1月
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”)
双引号中的字符串必须分割部分,尽管这些双引号是用来避免分裂!

1月
1月 2011年5月27日
检查是否一个路径名包含某个文件夹名称
如果任何(中(路径名,“/子/”))
因为FINDSTR短字符串的时间越长,路径名的条件为真‘/’。
现代Matlab版本使用STRFIND(字符串、模式)和中会被弃用的。但创造出包含示例程序在Matlab 5.3。修复bug通过改变中STRFIND不是微不足道的,如果字符串是动态创建,例如中({我},(‘@’,b {j}))。
2009年至少在Matlab工具箱函数包含很多缺陷,例如信号\ PMEM:“如果~ isempty(中(国旗,CORR)),……”,也为”或“触发。

本米奇
本米奇 2011年5月27日
进入图窗口,但在一个类似的精神兰德(100000)的事情,我用这个当我需要休息的借口……
data = randn (2, 1) e6);
情节(数据)
当我说这个……
情节(数据)

Grzegorz Knor
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月
1月 2011年9月15日
@Walter:我们可以。我使用一个自我测试功能,扫描源代码并检查所有符号,其中包含一个点。dedicted创建结构体的功能,没有其他的功能是允许添加进一步的字段。
我照顾最小编辑距离,例如避免年代。mvc和S。”,这将是太容易输入错误。当然我从来没有创建字段通过复杂的EVAL命令或加载结构直接工作区。
使用OO方法将是一个更方便的方法来限制领域的定义。但即使对于功能程序,OO写作策略是重要的可靠的软件。

登录置评。


1月
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),沿着第二维度最大值
2的评论
1月
1月 2011年10月31日
交换()?我希望重塑()相当于操作没有维度的明智选择。

登录置评。


Shatrughan
Shatrughan 2011年11月4日
有人试过输入命令提示符的“为什么”?MATLAB给出了有趣的反应。只是继续打字为了好玩. .:)
1评论
图像分析
图像分析 2012年2月4日
我列出一些复活节彩蛋在//www.tianjin-qmedu.com/matlabcentral/answers/2001-what-matlab-easter-eggs-do-you-know

登录置评。


1月
1月 2012年2月4日
尽管我从来没有使用 清除所有 (见 答案:清除所有不好 ),它经常出现在用户提供的代码。如果 所有 被定义为一个变量,这种行为可能意想不到的:
清晰的所有
b = 1;
= 2;
清晰的所有
%的名字大小字节类属性
% b 1 x1 8双
如果一个变量“所有”,这是清除,但另一个变量 感动了。
[编辑]“全部清除”行为是一个典型的例子不好编程practize使用 神奇的数字 。这里的字符串的所有魔法,因为它触发一个完全失忆,如果没有这个名字的变量。是聪明的使用无效符号为特殊命令,如“美元”。看到 Wiki:神奇的数字 Wiki:神奇的字符串
9日评论
埃里克·桑普森
埃里克·桑普森 2013年4月24日
注:我最近还要求TMW考虑使用“清除所有”M-lint /分析仪警告,因为它有副作用,旅行的人(像清除断点和全局,冲洗m文件缓存,等等)。如果你喜欢这个想法,电话/电子邮件支持和借给你的投票这改进请求!万博1manbetx:)

登录置评。


1月
1月 2012年5月8日
编辑:1月 2012年9月16日
字符串“违约”,“删除”,“工厂”不允许 uimenu 标签,看到 裁判:uimenu_props 。得到字符串的默认标签,“\违约”必须使用。
这是另一个例子的坏 神奇的字符串 。假设您希望创建一个堆 uimenu 自动使用一个单词列表。那么这三个字的异常处理将丑陋和增加程序的大小没有一个真正的好处。
[编辑]指定的字符串对其他处理图形对象也有特殊的意义,如uicontrol:
uicontrol (“字符串”,“默认”)
这和 在一个按钮显示“默认”,但一个空字符串,因为这是默认值:
get (0,“defaultUIControlString”)
显示“默认”,“工厂”,或“删除”,一家领先的反斜杠是必需的,看到的 道格:setting-default-property-values :
uicontrol (“字符串”,“\违约”)
是聪明的使用反斜杠的特殊命令,但这不能改变没有打破向后兼容性。
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2013年4月24日
或许\ \违约?

登录置评。


杰夫
杰夫 2012年5月10日
腐蚀多年的经验在其他语言……
使用MatLab现在几个月后,我发现当我回到写C代码我发现我忘记给我的括号 如果 声明和使用单引号字符串。
4评论
肖恩·德Wolski
肖恩·德Wolski 2012年5月10日
它还是!

登录置评。


1月
1月 2017年10月3日
我需要一个简短的演示和令人困惑的命令:
eval = 1:255
evaleval
错误:“eval”曾作为一个变量,冲突与它的使用作为一个函数或命令的名称。
如此:
eval (“eval”)
> > 100 117 96 107

迈克尔。理查兹
迈克尔。理查兹 2020年9月15日
无花果=图(“CloseReqFcn”@error_prone_fcn)
按x按钮
错误
alt-f4
错误
尝试关闭matlab
错误
任务管理器>结束任务
错误
1评论
史蒂文的主
史蒂文的主 2020年9月15日
指定的“力量” 关闭 命令将迫使图近,绕过CloseRequestFcn。
无花果=图(“CloseRequestFcn”@(变长度输入宗量)错误(“没有关闭这个图!”));
关闭(图)%将不会关闭图
关闭(图,“力”)%将关闭图
无花果%这现在是一个处理删除图

登录置评。


为副总经理
为副总经理 2022年6月1日
编辑:为副总经理 2022年6月1日
今天我花了时间试图找出原因
outarray =逻辑(大小(inarray));% preallocate
没有创建一个逻辑数组inarray大小一样。
我发誓我一定是脑损伤和口径的额头耳光我需要,我可以看到它会发生。

布鲁诺陈德良
布鲁诺陈德良 2022年6月1日
使用“结束”指数一个空数组。
1评论
布鲁诺陈德良
布鲁诺陈德良 2022年6月1日
一个= [];
(结束)= 3
数组索引必须是正整数或逻辑值。
丑陋的解决
一个= [];
(max(1:结束):结束)= 3

登录置评。

类别

找到更多的在桌面帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!