How to make for loop to make various mathematical operations. Using matrices.

조회 수: 5 (최근 30일)
Darkhan Kenestegi
Darkhan Kenestegi 2016년 12월 15일
답변: Steven Lord 2016년 12월 16일
clear all
clc
magic=magic(5);
t = zeros(size(magic,1),1);
pi = zeros(size(magic,1),size(magic,2));
for i=1:size(magic,1)
    t(i)=sum(magic(i,:));
    pi(i)=magic(i,:)/t(i,1);
end

Above is my code I am currently using for testing. My idea is for every values in the row in magic, divide it by sum of that row (AKA it should be divided by 1 number).

답변 (3개)

Purushottama Rao
Purushottama Rao 2016년 12월 16일
편집: Purushottama Rao 2016년 12월 16일
If it is a magic matrix, then its fairly simple..
m=magic(5);
s=sum(m);
ans= m/s(1)

José-Luis
José-Luis 2016년 12월 16일
your_array = magic(5); %don't use a built-in function as a variable name
your_result = bsxfun(@rdivide,your_array, sum(your_array,2));

Steven Lord
Steven Lord 2016년 12월 16일
If you're using release R2016b or later, you can use implicit expansion.
M = magic(5);
Y = M./sum(M, 2);

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by