MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by Light on 6 Jun 2013

Hello my matrix problem?? I tried it in week. But no success!

Here is the matrix

A=[-1,-1,0,0,0;0,0,0,-1,0;0,1,-1,0,-1;0,0,1,0,0;1,0,0,1,1]

Every column has only one 1, one -1 and i have to add them with whole row. Then that column will be 0. It is the first step.. Result must be like that A matrix must be changed A=[-1,-1,0,0,0;0,0,0,-1,0;0,1,0,0,-1;0,0,0,0,0;1,0,0,1,1] 4th row added to the 3rd row. and 4th elements changed 0

Then that operation will be continued until all row changed 0. I think if i write iterate Code, it will be more easier. But failed, some help!

I couldn't write a CODE. How can i write CODE. Please tell me a CODE or structure...

*No products are associated with this question.*

Answer by Iain on 6 Jun 2013

Edited by Iain on 6 Jun 2013

I think you are asking how to make your entire matrix zero, by adding columns of data that already exist.

while any(A) & ~some error for i = 1:size(A,2) % each column col = A(:,i); [plus indp] = max(col); [nega indn] = min(col); if ~(nega => 0 || plus =< 0 ) A(row_no,:) = A(indp,:) - A(indn,:)*plus/nega; end end some error = some check for infinite loops etc. end

Show 1 older comment

Light on 6 Jun 2013

A=[-1,-1,0,0,0;0,0,0,-1,0;0,1,-1,0,-1;0,0,1,0,0;1,0,0,1,1];

while any(A) & ~ some error

for i = 1:size(A,2) % each column col = A(:,i); [plus indp] = max(col); [nega indn] = min(col); if ~(nega >= 0 || plus <= 0 ) A(row_no,:) = A(indp,:) - A(indn,:)*plus/nega; end end some error = some check for infinite loops etc. end

Undefined function or variable 'some'.

:-(

## 1 Comment

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/78170#comment_153201

your explanation is not clear, could you please rewrite your question in a way it be clearer?