MATLAB循环得到的数据如何存入数组或矩阵?
我有一文件,里面有3000*6个数据,每行前三个是坐标,后三个是该坐标的法向量。我编写如下程序:a=load('yeshen.txt');b=load('yeshen.t...
我有一文件,里面有3000*6个数据,每行前三个是坐标,后三个是该坐标的法向量。我编写如下程序:
a=load('yeshen.txt');
b=load('yeshen.txt');
a(:,[4,5,6])=[];
b(:,[1,2,3])=[];
M=zeros(6,6);
for i=1:3000
x=a(i,:);
y=b(i,:);
z=cross(x,y);
h=[y,z];
G=h'*h;
M=M+G;
end
for i=1:3000
x=a(i,:);
y=b(i,:);
z=cross(x,y);
h=[y,z];
pjj(i)=h*M'*h';
m=zeros(1,3000);
m(1,i)=m(1,i)+pjj(i);
end
disp(m)
程序已经可以算出3000个pjj,但是程序最终只是给最后一个0加上pjj,前2999个数全是0。
请问我要实现把算出的3000个pjj存入数组或矩阵中如何实现?因为后续还要找这3000个数中的最小值并返回它的位置 展开
a=load('yeshen.txt');
b=load('yeshen.txt');
a(:,[4,5,6])=[];
b(:,[1,2,3])=[];
M=zeros(6,6);
for i=1:3000
x=a(i,:);
y=b(i,:);
z=cross(x,y);
h=[y,z];
G=h'*h;
M=M+G;
end
for i=1:3000
x=a(i,:);
y=b(i,:);
z=cross(x,y);
h=[y,z];
pjj(i)=h*M'*h';
m=zeros(1,3000);
m(1,i)=m(1,i)+pjj(i);
end
disp(m)
程序已经可以算出3000个pjj,但是程序最终只是给最后一个0加上pjj,前2999个数全是0。
请问我要实现把算出的3000个pjj存入数组或矩阵中如何实现?因为后续还要找这3000个数中的最小值并返回它的位置 展开
3个回答
2015-07-09 · 知道合伙人教育行家
关注
展开全部
m=zeros(1,3000);
在循环里,每次循环都初始化为全0
应该把这句语句放在循环外
在循环里,每次循环都初始化为全0
应该把这句语句放在循环外
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询