Welcome I have a CF equation that performs a three-dimensional summation process and gives a two-dimensional result I did this process using (For Loops) in MATLAB. I want to c
1 回表示 (過去 30 日間)
古いコメントを表示
clc
xm(:,:,1)= [1 2 3 4;2 3 4 5;3 4 5 6;4 5 6 7 ]
xm(:,:,2)= [2 3 4 5;3 4 5 6;4 5 6 7;5 6 7 8]
tic
[cf] =coherence_factor(xm)
toc
function [cf] = coherence_factor(xm)
for i=1:size(xm,1);
for j=1:size(xm,2);
n=size(xm,3);
cf(i,j)=(abs (sum(xm(i,j,:))).^2) / (n* sum(abs(xm(i,j,:).^2)));
end
end
end
2 件のコメント
Dyuman Joshi
2023 年 3 月 30 日
"I want to c"
You want to what? Change the way questions on MATLAB Answers are asked?
採用された回答
Dyuman Joshi
2023 年 3 月 30 日
編集済み: Dyuman Joshi
2023 年 3 月 30 日
%Data
xm(:,:,1)= [1 2 3 4;2 3 4 5;3 4 5 6;4 5 6 7 ];
xm(:,:,2)= [2 3 4 5;3 4 5 6;4 5 6 7;5 6 7 8];
n=size(xm,3);
%Loop Method
for i=1:size(xm,1);
for j=1:size(xm,2);
cf1(i,j)=(abs (sum(xm(i,j,:))).^2) / (n* sum(abs(xm(i,j,:).^2)));
end
end
cf1
%Vectorized method
cf2 = abs(sum(xm,3).^2)./(n*sum(abs(xm.^2),3))
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!