Save data from for-loop and their use

1 view (last 30 days)
Hello,
I have the following problems. I have matrices: SatTrDatax_Norm (4X200) and SatTrDatay_Norm (4x50). I want to apply wavelet decomposition(wavedec) to each line separately. Next, I try to save the results to new matrices (C1,L1,C2,L2). Use for-loop but save the last value in C1,L1,C2,L2.How do I store all values resulting from the for-loop? The second problem concerns reconstruction (wrcoeff). The matrices C1,L1,C2,L2 according to the documentation must be a vector. How is this going to be done? Your help is invaluable.
for i=1:4
[C1,L1]=wavedec(SatTrDatax_Norm(i,:),3,'db1');
[C2,L2]=wavedec(SatTrDatay(i,:),3,'db1');
end
AppTrDxNorm_Sat=wrcoef('a',C1,L1,'db5',3);
D1TrDxNorm_Sat=wrcoef('d',C1,L1,'db5',1);
D2TrDxNorm_Sat=wrcoef('d',C1,L1,'db5',2);
D3TrDxNorm_Sat=wrcoef('d',C1,L1,'db5',3);
%
AppTrDySat=wrcoef('a',C2,L2,'db5',3);
D1TrDySat=wrcoef('d',C2,L2,'db5',1);
D2TrDySat=wrcoef('d',C2,L2,'db5',2);
D3TrDySat=wrcoef('d',C2,L2,'db5',3);

Accepted Answer

Shae Morgan
Shae Morgan on 10 Aug 2020
Edited: Shae Morgan on 10 Aug 2020
You just need to index your output and then reference the appropraite index
for i=1:4
[C1(i,:),L1(i,:)]=wavedec(SatTrDatax_Norm(i,:),3,'db1');
[C2(i,:),L2(i,:)]=wavedec(SatTrDatay(i,:),3,'db1');
end
  5 Comments
Shae Morgan
Shae Morgan on 10 Aug 2020
Edited: Shae Morgan on 10 Aug 2020
I'm not sure what the problem is: Below works just fine for me in version 2020a
I noticed in your for-loop you call SatTrDatay rather than SatTrDatay_Norm (like you state in your question). That might be part of the problem
SatTrDatax_Norm=rand(4,200);
SatTrDatay_Norm=rand(4,50);
for i=1:4
[C1(i,:),L1(i,:)]=wavedec(SatTrDatax_Norm(i,:),3,'db1');
[C2(i,:),L2(i,:)]=wavedec(SatTrDatay_Norm(i,:),3,'db1'); %Make sure you use the right variable here
end
AppTrDxNorm_Sat=wrcoef('a',C1(1,:),L1(1,:),'db5',3);
Since you didn't provide me any of your data, I had to make up data of my own, so perhaps that's where the problem lies.
stelios loizidis
stelios loizidis on 10 Aug 2020
It is OK. There was an error in the calculations. Now everything works. Thank you very much for your valuable help !!!

Sign in to comment.

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!