Matlab中矩阵元素的提取

Matlab中矩阵元素的提取,matlab,extract,zero,Matlab,Extract,Zero,我试图使用for循环从下面矩阵的第一列中提取元素 [1.0000 1.0000; 0.4401 4.0000; 0.0000 2.0000; 0.0000 3.0000] 但是我得到的零值不准确(例如:6.2421e-010而不是零) 如何解决这个问题 代码: 提取第一列不需要for循环。您可以这样做: a = [1.0000 1.0000; 0.4401 4.0000; 0.0000 2.0000; 0.0000 3.0000]; b = a(:,1); 给予: b

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

代码:


提取第一列不需要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

根据我目前所读到的:

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));
如果vpa(x(i,1))<0.0000003
求和=求和+x(i,1);
其他的
求和=求和+vpa(x(i,1));
  • 如果你的矩阵数是整数,你不需要把所有的零都写在点后面
  • 要提取矩阵的列,请使用
    M(:,j)
    其中M是矩阵,j是要提取的列
  • 如果要对该列的元素求和,只需执行
    sum(M(:,j))


  • 请为h=1:K总和=0发布代码
    code
    ;对于i=1:fx(i,1)求和=求和+x(i,1);结束但请注意,x是另一个的输出function@AmiraAkra你能清楚你面对的问题是什么吗?@AmiraAkra求和的部分是什么,你只是想提取还是也在求和。请定义你的问题fullyOk,这刚刚引起我的注意:x是一个由CVX方法生成的解矩阵,当元素值为指数(ex:9.052969485168205e-11)时,它们显示为0.000…..为什么会这样?你希望它仍然是ex:9.052969485168205e-11吗?vpa工作得很好,但是如果我想把这些值设为零呢?不仅显示为零?如果数字是0.0000003,我需要将其设置为零
    if vpa(x(i,1)) < 0.0000003
      summation=summation+x(i,1);
    else
     summation=summation+vpa(x(i,1));
    
    M= [1 1; 0.4401 4; 0 2; 0 3]
    
    c1=M(:,1)
    
    summation = sum(c1)