MATLAB: MATRICES with customized sum for rows and columns

MATLABmatrices with customized sum for rows and columns

I want to create 4 matrices (6×10) with sums of rows and columns as following; in a single program/code.
mat1: sum_row1=sum_row2=……=sum_row6=r(say) sum_col1=sum_col2=……=sum_col6=c(say)&&&&&&& r=c
mat2: sum_row1=sum_row2=……=sum_row sum_col1≠sum_col2≠……≠sum_col6
mat3: sum_row1≠sum_row2≠……≠sum_row6 sum_col1=sum_col2=……=sum_col6
mat4: sum_row1≠sum_row2≠……≠sum_row6 sum_col1≠sum_col2≠……≠sum_col6
Kindly suggest some logic/program
Thanks

Best Answer

To get mat1, you can use the magic function:
>> mat1=magic(4)
mat1 =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> sum(mat1,1)
ans =
34 34 34 34
>> sum(mat1,2)
ans =
34
34
34
34
mat2, mat3 and mat4 are easy, for instance use randoms and normalize the columns/rows:
>> matrand=rand(4);
>> mat2=bsxfun(@rdivide,matrand,sum(matrand));
>> sum(mat2)
ans =
1 1 1 1
>> mat3=bsxfun(@rdivide,matrand,sum(matrand,2));
>> sum(mat3,2)
ans =
1.0000
1.0000
1.0000
1.0000
mat4=matrand;