Finding the norm of a matrix using for-loops and conditional statements

10 views (last 30 days)
Alright, so I'm having a bit of trouble with an example for MATLAB. I'm trying to find the conditional number of any square matrix, which normally isn't too difficult. However, instead of using the norm function to find the norm of the matrix, I am to use loops and conditional statements. I'm not completely sure where to start.
I know how to find the norm on paper - I take the absolute value of each number of the matrix, then add up the columns. The largest number, then, is the norm of the matrix. How might I translate that over into MATLAB?
EDIT: This is how what I've gotten thus far. The sums make sense, but I don't know how to edit it so that it'll work for any square matrix.
A= [2 3 4; 4 7 6; -11 85 9;];
invA= inv(A);
mn=size(A);
n=length(A);
for i=1:1:n-2
for j=1:1:n-2
sum_1=abs(A(i,1)) + abs(A((i+1),1) + abs(A((i+2),1)))
sum_2=abs(A(i,2)) + abs(A((i+1),2)) + abs(A((i+2),2))
sum_3=abs(A(i,3)) + abs(A((i+1),3)) + abs(A((i+2),3))
end
end
  3 Comments
Chris
Chris on 24 Nov 2013
I'm supposed to use loops and conditional statements - I can't use max/cond/sum/similar commands.
Matt J
Matt J on 24 Nov 2013
Edited: Matt J on 24 Nov 2013
I know how to find the norm on paper - I take the absolute value of each number of the matrix, then add up the columns.
That is the L1 norm, not the more standard L2 norm.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 24 Nov 2013
Edited: Matt J on 24 Nov 2013
Hint:
B=abs(A);
accum=0;
for i=1:size(B,1)
accum=accum+B(i,:);
end

More Answers (1)

Chris
Chris on 25 Nov 2013
I greatly appreciate that little hint you gave me - that little nudge in the right direction was just what I needed.

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!