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

 采纳的回答

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)

更多回答(2 个)

Nick
Nick 2013-5-23

1 个投票

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.
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);

类别

帮助中心File Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by