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

1 vue (au cours des 30 derniers jours)
Darkhan Kenestegi
Darkhan Kenestegi le 15 Déc 2016
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).

Réponses (3)

Purushottama Rao
Purushottama Rao le 16 Déc 2016
Modifié(e) : Purushottama Rao le 16 Déc 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 le 16 Déc 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 le 16 Déc 2016
If you're using release R2016b or later, you can use implicit expansion.
M = magic(5);
Y = M./sum(M, 2);

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by