刚才运行了一下,结果是
>> find (ylxx.cw==20)
??? Error using ==> eq
Too many input arguments.
demo.a = [1 2 2];
K>> find(demo.a==2)
ans =
2 3
你给我看下你的ylxx和cw都是什么吧
可能是我没说清楚,
demo(1).a=2 demo(1).b=3 demo(1).c=3
demo(2).a=3 demo(2).b=5 demo(2).c=6
demo(3).a=3 demo(3).b=4 demo(3).c=6
.
.
.
我的意思是我想找a==3时,b c 的值,或者直接返回给我整个demo(2)也可以。
M = cell2mat(struct2cell(demo));
m = reshape(m,size(m,1),[]);
A = m(m(:,1)==3,2:end)
或者你可以用循环
B = []; C = [];
for i = 1 : length(demo)
if a==3
B = [B demo(i).b];
C = [C demo(i).c];
end
end
我上面的做法就是为了避免循环。可读性差一些