Filter löschen
Filter löschen

How can I solve this issue?

3 Ansichten (letzte 30 Tage)
RADWAN A F ZEYADI
RADWAN A F ZEYADI am 27 Nov. 2021
Bearbeitet: Image Analyst am 27 Nov. 2021
Unable to perform assignment because the size of the left side is 153-by-1 and the size of the right side is 51-by-1-by-3.
I should run for loop 500 times.
d_pred=zeros(153*500);
ne=500
for i = 1 : ne
d_pred(:,i) = calcola_dati_pre_stack(Vpsim(:,i), Vssim(:,i), Rhosim(:,i), wavelet, ang);
end
  3 Kommentare
RADWAN A F ZEYADI
RADWAN A F ZEYADI am 27 Nov. 2021
Bearbeitet: RADWAN A F ZEYADI am 27 Nov. 2021
@Rik yes the output 51*1*3 because i am apllying an algorithm and i should run it at least 500 so iam confused however i have uploaded the functions so what i have to do
regards
DGM
DGM am 27 Nov. 2021
Bearbeitet: DGM am 27 Nov. 2021
I think you might have attached the wrong file. calcola_dati_pre_stack() calls CMP_zoepprtiz(), which is not included. You included applico_RPM_II(), which does not appear to be needed by any of these calculations.
You also might want to make the usage example above complete enough that it can actually replicate the error. As it is, the preallocation is bogus and there are missing variables.
This may be as simple as fixing some indexing issues in the function files, or if nothing else, simply reshaping the output to be a vector.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 27 Nov. 2021
You can use squeeze() to get rid of the singleton dimension:
m = calcola_dati_pre_stack(Vpsim(:,i), Vssim(:,i), Rhosim(:,i), wavelet, ang);
% m is 51x1x3. Use squeeze to make it 51x3.
m = squeeze(m); % Now m is 51x3.
Now, what does each of the 3 columns of this new m represent? Is it OK if we just take all the columns and stack them on top of each other? Like
d_pred=zeros(153*500);
ne=500
for i = 1 : ne
m = calcola_dati_pre_stack(Vpsim(:,i), Vssim(:,i), Rhosim(:,i), wavelet, ang);
% m is 51x1x3. Use squeeze to make it 51x3.
m = squeeze(m); % Now m is 51x3.
% Turn m from 51x3 into 153x1 column vector by using (:),
% and assign to the i'th column of d_pred.
d_pred(:,i) = m(:);
end
  2 Kommentare
RADWAN A F ZEYADI
RADWAN A F ZEYADI am 27 Nov. 2021
@Image Analystthank you so much
Image Analyst
Image Analyst am 27 Nov. 2021
Bearbeitet: Image Analyst am 27 Nov. 2021
OK, but I guess it didn't solve your problem since you haven't accepted my Answer. So what else is wrong with it?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with Wavelet Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by