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

3 次查看(过去 30 天)
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 个评论
Chris
Chris 2013-11-24
I'm supposed to use loops and conditional statements - I can't use max/cond/sum/similar commands.
Matt J
Matt J 2013-11-24
编辑:Matt J 2013-11-24
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.

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2013-11-24
编辑:Matt J 2013-11-24
Hint:
B=abs(A);
accum=0;
for i=1:size(B,1)
accum=accum+B(i,:);
end

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by