Hello everyone. How to make a matrix with unequal number of rows and columns, and make the number of rows and columns the same by adding zeros. Thank you very much.
    7 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
How to make a matrix with unequal number of rows and columns, and make the number of rows and columns the same by adding zeros.
0 Commenti
Risposta accettata
  Rik
      
      
 il 31 Mag 2021
        This isn't too difficult, as Matlab automatically fills an array with zeros as it is expanded.
S=load(websave('dataA.mat','https://www.mathworks.com/matlabcentral/answers/uploaded_files/637390/dataA.mat'));
dataA=S.dataA;size(dataA)
S=load(websave('dataB.mat','https://www.mathworks.com/matlabcentral/answers/uploaded_files/637385/dataB.mat'));
dataB=S.dataB;size(dataB)
%Store them in a cell:
c={dataA,dataB};
max_sz=max(cellfun('size',c(:).',1));
for n=find(cellfun('size',c(:).',1) < max_sz)
    c{n}(max_sz,1)=0;
end
max_sz=max(cellfun('size',c(:).',2));
for n=find(cellfun('size',c(:).',2) < max_sz)
    c{n}(1,max_sz)=0;
end
c
What you do from here is up to you.
0 Commenti
Più risposte (2)
  Image Analyst
      
      
 il 31 Mag 2021
        Try this:
a = rand(5, 2);
% Get longest dimension.
longestDimension = length(a)
% Make rows and columns of a both be longestDimension by adding zeros:
a(longestDimension, longestDimension) = 0 % Expand shortest dimension.
whos a % Show size in command window
0 Commenti
  Mathieu NOE
      
 il 31 Mag 2021
        hello
see example code below
clearvars;
load('dataA.mat')
[m,n] = size(dataA);
if m>=n
    out = zeros(m,m);
    out(1:m,1:n) = dataA;
else
    out = zeros(n,n);
    out(1:m,1:n) = dataA;
end
5 Commenti
  Image Analyst
      
      
 il 31 Mag 2021
				Ha - no Rik.  Actually last time I looked there were only two Answers - yours was not there.  Actually I admire people who know the cryptic ways of doing things because they're often something I cannot do or understand.  It's just that often/usually I give code that looks longer because I have long descriptive variable names and lots of comments and I usually lose out to those who come along with a one liner of alphabet soup because the poster liked that it was very short.  However they often come back with something like "well it works but I don't understand it so can you explain it?".
Vedere anche
Categorie
				Scopri di più su Spline Postprocessing in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!