回 帖 发 新 帖 刷新版面

主题:[讨论]matlab循环语句

请问大家,如何用matlab中的循环语句获取一个维数很大的矩阵的每一行的行向量? 例如,一个900*20的矩阵,如何取得它的每一行的行向量?

回复列表 (共6个回复)

沙发

写一个循环可以实现;例如:a为1000*1998矩阵,得到第678行
b=a(678,:);b为678行向量,所以全部行向量可以
for i=1:1000
    b(i)=(i,:);
end
即得到所有行向量

板凳

在不知道行列数时,可以先测试行列的长度。这个由你自己完成,学习愉快!

3 楼

谢谢1楼 2楼帮助,但是1楼的方法我试过,好象不行啊,它会提示 说a和b维数不同。我是这样做的:
 a是一个900*17的矩阵,for i=1:900
                           b1=a(1,:)
                          i=i+1
                            bi=a(i,:)
                          end
这样运行结果形式是:
               i=2    bi=a(2,:)
               i=3    bi=a(3,:)
          .......................
         ........................
这样一直到 i=900     bi=a(900,).
我怎样调用每一个行向量啊? 








 
                           

4 楼

你是不是要先提取一个举证的行向量,然后对行向量作作处理,得出一个数阿。
如果是这样的话,你没有必要把每个行向量都取出来存储下来,你可以写一个处理函数,在循环内部,每提取一个行向量,处理一次,存储处理结果,就行了


5 楼


a=[1 2 3;4 5 6;7 8 9;7 4 1;8 5 2;9 6 3];
for i=1:3
    fprintf('a(3,%d)=',i)
    disp(a(3,i));
end

>> a(3,1)=     7

a(3,2)=     8

a(3,3)=     9
应该这样可以,希望对你有一丝的帮助!

6 楼

谢谢以上楼主的帮助,小女子感激不尽

我来回复

您尚未登录,请登录后再回复。点此登录或注册