1樓:匿名使用者
用find函式。
假設第一個陣列是x,第二個陣列是y。有**如下:
i=find(x~=y); %該命令返回所有對應x元素不等於y元素的下標。
x(i),y(i) %顯示所有不同元素
測試結果:
擴充套件:如果x,y是同型號矩陣也可以。這是候傳回的引數可以是1個(矩陣線性化以後的下標),或者2個(行下標、列下標),或者3個(前3者都有)。
呼叫格式:[i,j,v] = find(x) i行下標,j列下標,v線性化下標
2樓:來自動物園驕傲的合歡花
ab兩個陣列,可以用for迴圈,將a陣列裡的每一個值find()函式去b陣列裡找,找到了就返回1,沒找到就說明這個數屬於不同元素,就把這個元素儲存下來。
3樓:
%沒有什麼好的函式了,只能老實的寫程式了,我給你寫了一個clear;
clc;
a=[1,5,7,19,35,51,61,73,85,95,111,127,139,141,145];
b=[7,19,51,61,73,85,95,127,139];
la=length(a);
lb=length(b);
n=1;
for i=1:la
isequal=0;
for j=1:lb
if a(i)==b(j)
isequal=1;
break;
endend
if isequal==0
c(n)=a(i);
n=n+1;
endendc
4樓:匿名使用者
使用setdiff函式
例子: >>x=[1:10]; y=[6:8]; c = setdiff(x,y)
輸出結果:
c =1 2 3 4 5 9 10
(@wisdomay正解)
matlab中如何根據某種規則將一個陣列中的元素分配兩個不同的陣列
5樓:匿名使用者
直接用隨機排序
x=randperm(5);
b=a(x([1 2]));
c=a(x([3 4 5]));
6樓:奮鬥
資料是隨機分的嗎?只要滿足2:3的比例就行?
matlab 從陣列中隨機取幾個下標不同的元素
7樓:匿名使用者
原陣列a,假設是一維的。取n個元素。
rand=randperm(length(a));
index=rand(1:n);
index=sort(index);
b=a(index);
b就是你要的。如果不要求下標按順序排列,將第三行(index=sort(index);)去掉。
8樓:天雲一號
在matlab中,可以用rand函式來取隨機值,由於下標為整數,所以用randi函式取正整數隨機值。其具體實現過程為:
% a為陣列
% n為隨機取值的個數
% out為取出的元素陣列
function out = fun(a, n)[row, col] = size(a);
if(n > row*col)
error("n超出陣列元素個數");
return;
endx0 = 1 : row; % 下標陣列y0 = 1 : col; % 下標陣列for i = 1 : n
x = randi(row,1); % 隨機取下標值y = randi(col,1); % 隨機取下標值% 如果隨機取的下標在下標陣列中,那麼沒重複,將其對應元素取出if(sum(repmat(x,1,row)==x0)>0 || sum(repmat(x,1,row)==x0)>0)
out(i) = a[x, y];
endx0(x) = ; % 刪除剛才取出元素所對應的下標y0(y) = ; % 刪除剛才取出元素所對應的下標end
9樓:稅鶯韻楚好
如果這n個二維陣列維數相等,那就簡單,做一個陣列的陣列alls把這n個資料都做成陣列,當成行放進去,取的時候計算一下行就行了,但是必須sn都是同維數矩陣.s1=
[1,2;3,4];
alls
=[s1];
s2=[5,6;7,8];
alls
=[alls;
s2];s3=
[9,10;11,12];
alls
=[alls;
s3];
取s2,這樣,先根據2計算行下標,
(2-1)*size(s2,1)+1:2*size(s2,1)列全取就是:
alls((2-1)*size(s2,1)+1:2*size(s2,1),
:);**********====
同理,去sn就是
alls((n-1)*size(sn,1)+1:n*size(sn,1),:);
php如何刪除兩個陣列中相同的元素
a 1,2,3 b 2,3,4 c array diff a,b 1 d array merge array diff a,b array diff b,a 1,4 var dump c,d 一騎當後 如何去除陣列中相同的元素?在php手冊中有這樣寫 array unique php 4 4.0.1...
怎麼把結構一樣的兩個陣列合併成乙個陣列
vbs的陣列操作比較麻煩。比個方法你吧。dim arr1 1,2,3 dim arr2 4,5,6 dim arr length arr1 length arr2 1 新陣列的長度為兩個陣列長度的和。dim i 0 for i,iend for dim j length arr1 1 dim k 0...
c語言,兩個將兩個陣列中的相同元素全部刪去,輸出刪去後的兩個陣列。如1,1,1,2,2,2,0,2,1,
不懂多來問問 include using namespace std 去掉陣列中為a的資料 int main int a2 10 int j 0,i while j l1 else cout l1 去掉陣列中為a的資料 寫好了 include int main printf 請輸入第二個陣列的元素個...