Matlab中矩阵元素的提取
我试图使用for循环从下面矩阵的第一列中提取元素 [1.0000 1.0000; 0.4401 4.0000; 0.0000 2.0000; 0.0000 3.0000] 但是我得到的零值不准确(例如:6.2421e-010而不是零) 如何解决这个问题 代码: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循环。您可以这样做:
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)