开发者

MATLAB: A reference about error messages

Does anyone know of any reference about err开发者_运维知识库or messages in MATLAB? Error messages in MATLAB are often very short and occasionally I don´t what they mean.


Some of the more common ones are explained in this MathWorks Technical Note.


Here are some of the most common errors:

%# create two arrays, one 3-by-3, one 4-by-4 (see 'help magic' for details about them)
>> m3 = magic(3);
>> m4 = magic(4);

%# matrix multiplication error. Arrays must be X-by-Y and Y-by-Z
>> m3*m4
??? Error using ==> mtimes
Inner matrix dimensions must agree.

%# cannot multiply (add, subtract...) element-wise if not the same number of elements 
>> m3.*m4
??? Error using ==> times
Matrix dimensions must agree.

%# m3 is 3-by-3, and thus has only 9 elements. There is no element #10
>> m3(10)
??? Index exceeds matrix dimensions.

%# there is also no element #-1 
>> m3(-1)
??? Index exceeds matrix dimensions.

%# can only index with integers or logicals
>> m3(2.2)
??? Subscript indices must either be real positive integers or logicals.

%# m5 has not been defined yet. This is the "probably a typo"-error
>> m5(3)
??? Undefined function or method 'm5' for input arguments of type 'double'.

%# Cannot assign the elements of m4 to m3, because they don't have the same number of elements.
%# m3(:) = m4(1:9) would work.
>> m3(:) = m4(:)
???  In an assignment  A(:) = B, the number of elements in A and B
must be the same

In addition, whenever there is a cryptic error inside of a Matlab built-in function it's usually because you called the function wrong (e.g. with a cell array where it expected strings, or with NaN where it expected finite-only vectors).


This guide is better than nothing... http://en.wikibooks.org/wiki/MATLAB_Programming/Error_Messages

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜