0
このスクリプトは、本の第2版の438ページにあります。ここでは、次のとおりです。matlabで* quick sort *スクリプトを実行できません(Engineering Computation with matlab book - Smith)
function a = quicksort(a, from, to)
clear, clc, close all
if (from < to)
[a p] = partition(a, from, to);
a = quicksort(a, from, p);
a = quicksort(a, p+1, to);
end
function [a lower] = partition(from,to)
pivot = a(from); i = from - 1; j = to + 1;
while (i<j)
i = i + 1;
while lt(a(i),pivot)
i = i + 1;
end
j = j - 1;
while gt(a(j), pivot)
j = j - 1;
end
if (i<j)
temp = a(i);
a(i) = a(j);
a(j) = temp;
end
end
lower = j;
a
私は結果を見るためにスクリプトを実行するために失敗すると、私は次のエラー(でも私は入力を変更した場合)受信し続ける:
??? Error using ==> quicksort>partition
Too many input arguments.
Error in ==> quicksort at 9
[a p] = partition(a, from, to);
を誰かが私を助けてくださいことはできますか?私はこれらのMatlabソート手法に非常に興味があります。ありがとう。
あなたの答えをありがとう。今私は関数atmを使用することに非常に自信があります。 – Pegasus99
@ Pegasus99:嬉しいです!自分自身については、私はまだこれらの年を経て新しいことを学び続けています。 – Jonas