作业帮 > 综合 > 作业

matlab 怎么修改下面的程序 a=[1 1 2;1 2 3]; for i=1:2 b(:,i)=find(a==i

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/24 05:55:23
matlab 怎么修改下面的程序 a=[1 1 2;1 2 3]; for i=1:2 b(:,i)=find(a==i); end
你i=1时find(a==i) 有1 2 3,你i=2时find(a==i) 有4 5 两者不能同时放在b中,数组维数不同;如果你一定要放在一个变量里面,可以这样
b=zeros(6);
for i=1:2
t=find(a==i)
if length(t)>0
for j=1:length(t)
b(j,i)=t(j)
end
end
end
结果:
b =
1 4 0 0 0 0
2 5 0 0 0 0
3 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
再问: 这个问题我解决了,谢谢了。