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

1 visualización (últimos 30 días)
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).

Respuestas (3)

Purushottama Rao
Purushottama Rao el 16 de Dic. de 2016
Editada: Purushottama Rao el 16 de Dic. de 2016
If it is a magic matrix, then its fairly simple..
m=magic(5);
s=sum(m);
ans= m/s(1)

José-Luis
José-Luis el 16 de Dic. de 2016
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 el 16 de Dic. de 2016
If you're using release R2016b or later, you can use implicit expansion.
M = magic(5);
Y = M./sum(M, 2);

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by