How to Merge two structures.

I'm trying to merge two structures together and can't figure out how to do it. I have one with data [x, x, 0, 0, x, x] and one with data [0, 0, y, y, 0 0] and I would like [x, x, y, y, x, x]. I have tried using union and that just joins the two front to back, I was told to try using "&" but that also didn't work. Any ideas would be great. I don't mind using the help feature in matlab, just not sure what to search for or what functions to use.
Thank you,
Nick

 Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 23 Mag 2013
x=10;
y=20;
data1=[x, x, 0, 0, x, x]
data2= [0, 0, y, y, 0 0]
data=data1;
data(data1==0)=data2(data2~=0)

Più risposte (2)

Nick
Nick il 23 Mag 2013

1 voto

Thank you for the help. I also found that I could just do "x = y + z" and it gave me the same results and in my situation that works fine.
Sean de Wolski
Sean de Wolski il 23 Mag 2013
So:
x.data = [1 1 0 0 1];
y.data = [pi pi pi pi pi];
z.data = x.data;
idx = ~z.data;
z.data(idx) = y.data(idx);

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by