Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

How to save data

2 visualizzazioni (ultimi 30 giorni)
Fateme Jalali
Fateme Jalali il 10 Dic 2015
Chiuso: MATLAB Answer Bot il 20 Ago 2021
Hi; I have two data sets
A=[0 6 7 0 3 9 6 8 2 0 3 5];
B=[104 76 54 98 100 23 10 670 123 56 93 90];
when I see 0 in A, I should put its concurrent value from B to a cell till previous 0. for example when I see second 0 in A I should put 765498 in a cell. I need a code to do it. thanks
  1 Commento
per isakson
per isakson il 11 Dic 2015
I don't get it!

Risposte (1)

Image Analyst
Image Analyst il 11 Dic 2015
What does "to a cell till previous 0" mean? Also, the first 0 in A is at index 1 and the value of B at index 1 is 104, not 765498 so I don't know how your example works.
Just taking a SWAG, maybe this is what you want:
A=[0 6 7 0 3 9 6 8 2 0 3 5];
B=[104 76 54 98 100 23 10 670 123 56 93 90];
indexesToReplace = (A==0);
A(indexesToReplace) = B(indexesToReplace)
It's replacing 0's in A with the value of B at the same index. Is that what you want???
  2 Commenti
Fateme Jalali
Fateme Jalali il 11 Dic 2015
i mean where 0 happened in A, i should align data in B from this 0 index to previous zero index.I actually want to correct this code:
w0=find(A,'0');
cel=cell(size(w0,2),1);
for i2=1:size(w0,2);
cel{i2}=B(w0(i2):w0(i2+1));
end
Fateme Jalali
Fateme Jalali il 11 Dic 2015
for example for second zero in A '76 54 98' should be saved in cel. for third 0 in A i should store ' 100 23 10 670 123 56' in cel.thanks

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by