在Matlab中从矩阵中提取元素

时间:2014-08-28 12:27:48

标签: matlab extract zero

我尝试使用for循环从以下矩阵的第一列中提取元素     [1.0000 1.0000;     0.4401 4.0000;     0.0000 2.0000;     0.0000 3.0000] 但我得到的零值不准确(例如:6.2421e-010而不是零) 如何解决这个问题?

代码:

for h=1:K 
  summation=0; 
  for i=1:F 
   x(i,1) 
   summation=summation+x(i,1); 
  end
end

3 个答案:

答案 0 :(得分:0)

您不需要for循环来提取第一列。你可以这样做:

a = [1.0000 1.0000; 0.4401 4.0000; 0.0000 2.0000; 0.0000 3.0000];
b = a(:,1);

,并提供:

b =

    1.0000
    0.4401
         0
         0

答案 1 :(得分:0)

从我到目前为止所读到的内容:

A = [1.0000 1.0000; 0.4401 4.0000; 0.0000 2.0000; 0.0000 3.0000];
B = A(:,1);

不需要循环..

if vpa(x(i,1)) < 0.0000003
  summation=summation+x(i,1);
else
 summation=summation+vpa(x(i,1));

答案 2 :(得分:0)

  1. 如果你的矩阵数是整数,你不需要在点之后写出所有零。
  2. 要提取矩阵的列,请使用M(:,j),其中M是矩阵,j是要提取的列。
  3. 如果您想对该列的元素求和,只需执行sum(M(:,j))

    M= [1 1; 0.4401 4; 0 2; 0 3]
    
    c1=M(:,1)
    
    summation = sum(c1)