??? Undefined function or variable 'd'.
1.1.2 下标越界
clear all
a=rand(1,100);
for i=1:100,
a(i)=i^2;
end
for j=2:101,
b(j)=a(j);
end
??? Index exceeds matrix dimensions.
1.1.3 维数不同赋值
?clear all
a=[1 2 3 4];
b=zeros(1,5);
for i=1:10,
b(i,=a.^i;
end
??? In an assignment A(matrix, = B, the number of columns in A and B
must be the same.
1.2 逻辑错误
1.2.1 变量未初始化
a=fix(10*rand(1,10));
m = length(a);
for i=1:m-1,
for j=i+1:m,
it=it+1;
%error code
b(it)=a(i)*a(i);%right code: b(it)=a(i)*a(j)
end
end
计数器变量it没有初始化
1.2.2 变量名误用
例子1:获得向量a中任取2个元素相乘的所有结果
a=fix(10*rand(1,10));
m = length(a);
it=0;
for i=1:m-1,
for j=i+1:m,
it=it+1;
%error code
b(it)=a(i)*a(i);%right code: b(it)=a(i)*a(j)
end
end
1.2.3 程序实现错误
没有按照模型(或算法)本身的意图实现编程。这种错误可能出现在程序的任何地方。
1.3 如何查找程序中的错误
有两类错误:
语法错误;
运行错误