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.
8 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!