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

1 次查看(过去 30 天)
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 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by