trying to write matlab code for Frobenius norm of an mxn matrix
8 ビュー (過去 30 日間)
古いコメントを表示
Hello, hoping someone can guide me, i asked my question on another forum, but realised this place could have better help,....with matlab, I have provided the link below, cause I cannot write the mathematical formula on here,
any help greatly appreciated.
the code i have written so far is
function w = frobeniusnorm(a,m,n) for i =1:m sm = 0 for j =1:n sm = sm+A(i,j)*a^2(i,j); end
which does not work
2 件のコメント
Muthu Annamalai
2013 年 2 月 23 日
The problem with your code, Shelly, seems to be
function w = frobeniusnorm(a,m,n)
for i =1:m
sm = 0
for j =1:n
sm = sm+A(i,j)*a^2(i,j);
end
end
end
you have sm = 0, reinitialized every time. You need to move it out of the first for-loop.
A better solution without using the built-in norm() function is to write out sums,
sm = sqrt( sum(sum(A.^2)) )
I would strongly recommend you read the MATLAB tutorial on matrix indexing http://www.mathworks.com/help/matlab/math/matrix-indexing.html and use what is called 'vectorized code'
SARATHKUMAR
2025 年 2 月 14 日
i need to find the Pulsatile velocity profile using frobenius method if any one have code for that please send on this question comment
回答 (3 件)
Wayne King
2013 年 2 月 23 日
Why not just use:
norm(X,'fro')
For example:
X = randn(8,8);
norm(X,'fro')
0 件のコメント
Rolando Molina
2018 年 4 月 13 日
I think that this code was the original intention, and works:
function fn = frobenius_norm_mn_matrix(A,m,n) si=0; for i =1:m sj = 0; for j =1:n sj = sj+A(i,j)^2; end si=si+sj; end fn=sqrt(si) end
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Linear Algebra についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!