/ / комбинират две стойности на масив в Matlab - MATLAB

комбиниране на две стойности на масив в Matlab - MATLAB

Пример, имам масив:

a = [2 3 1 2 4 5 6 4];
b = sort(a);
b = [1 2 2 3 4 4 5 6];

Сега искам да комбинирам две стойности на a и b:

c = [21 32 12 23 44 54 65 46]

тогава аз правя нещо като c:

d = [12 21 23 32 44 46 54 65]

и отново се комбинирам от c и d (първо от c, същата стойност от втората c и първата d, последна d):

e = [212 321 123 232 444 546 654 465]

тогава аз правя нещо като:

f = [123 212 232 321 444 465 546 654]

и отново комбинирам от e и f:

g = [2123 3212 1232 2321 4444 5465 6546 4654]

така че докато дължината на една се равнява на 8.

Моля, помогни ми.

Отговори:

3 за отговор № 1

Опитайте тази:

a = [2 3 1 2 4 5 6 4]
for m=2:8
b = sort(a)
t = round(b-10*floor(b/10))
a = 10*a+t
end

Струва ми се, че алгоритъмът просто добавя последната цифра от всеки сортиран списък към съответния номер в несортирания списък. t е само последната цифра в b, тогава 10*a+t премества съществуващите цифри в a и поставя t накрая. Извинявам се, ако не съм разбрал правилно целта и това е грешен алгоритъм, но работи с вас примерно. Предполагам, че ще трябва да убедите себе си дали кодът е в съответствие с правилата ви.