求MATLAB大神帮我看看这段代码哪里错了 索引超出矩阵维度
Y=dlmread('Yale_32x32\StTestFile1.txt');size(Y)a=Y(12,1:end-1);Y=reshape(a,32,32);A=d...
Y=dlmread('Yale_32x32\StTestFile1.txt');
size(Y)
a=Y(12,1:end-1);
Y=reshape(a,32,32);
A=dlmread('Yale_32x32\StTrainFile1.txt');
size(A)
b=A(12,1:end-1);
A=reshape(b,32,32);
c=0;
for i=1:30
Yi=Y(i,1:4096);
D=1000000000;
t=0;
for j=1:135
Zj=A(j,1:4096);
yj=Zj'/(Zj*Zj')*Zj*Yi';
dj=norm(yj-Yi');
if dj<D
D=dj;
t=j;
end
end
if A(t,4097)-Y(i,4097)==0
c=c+1
zq=i
end
end
索引超出矩阵维度。
急求!!!!!!!!!! 展开
size(Y)
a=Y(12,1:end-1);
Y=reshape(a,32,32);
A=dlmread('Yale_32x32\StTrainFile1.txt');
size(A)
b=A(12,1:end-1);
A=reshape(b,32,32);
c=0;
for i=1:30
Yi=Y(i,1:4096);
D=1000000000;
t=0;
for j=1:135
Zj=A(j,1:4096);
yj=Zj'/(Zj*Zj')*Zj*Yi';
dj=norm(yj-Yi');
if dj<D
D=dj;
t=j;
end
end
if A(t,4097)-Y(i,4097)==0
c=c+1
zq=i
end
end
索引超出矩阵维度。
急求!!!!!!!!!! 展开
1个回答
展开全部
matlab最大的好处就是不用事先定义变量看你的意思是要按列存储数据,只要每一列的数据个数是不变的,就可以直接使用,直接使用的变量默认为矩阵,只要你存储了第一列数据,其行数就确定了,但列数是可变的,不会报错,放心使用,但前提是你的行数一旦确定就不能超过第一次使用的行数,否则会报错,需要另行编制程序
追问
什么??。。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询