一个MATLAB编程问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 17:26:24
已知一个数组[1 2 3 4 5 6 7 8 9];现在从中任意拿走几个数获得一个新数组,例如已知新数组[1 3 5 6 7];如何用MATLAB编程得知缺少的那几个数是什么? 求详细MATLAB程序,感激!

A=1:9
B=[1 3 5 6 7]
C=setdiff(A,B)

b=[1 2 3 4 5 6 7 8 9]
c=[1 3 5 6 7]
e=1;
q=1;
for a=1:1:9
if b(a)==c(q)
q=q+1;
continue;
else d(e)=b(a);
e=e+1;
end
end
e
自己想的,不对的话,你自己调试一下

a=1:9
x=a(logical(fix(2*rand(1,9))))
y=[];
for i=1:9
if isempty(find(x==i))
y=[y,i];
end
end
y

clc
clear
a=1:9;
n=1; %%用于标记随机新数组b,下面的For循环用来产生随机数组
for i=1:9
if rand(1)*15>7.5
b(n)=i;
n=n+1;
end
end
result=setdiff(a,b); %%应用setdiff函数判断不同

二楼的太精辟了!赞