مرتب سازي رشته
يك رشته اگر با كالن (بدون استفاده از گيومه) تعريف شود، كاراكترهاي عضو آن كد اسكي (عدد) خواهند بود. مرتب شده ي چنين رشته اي به صورت عددي نمايش داده ميشود، براي نمايش آن به صورت كاركتر از تابع ()char استفاده ميكنيم.
مرتب سازي با تابع كتاب خانه اي ()sort
مثال ها:
تعريف رشته به صورت آرايه كاراكتري
>> xs = [‘b’ ‘d’ ‘a’ ‘c’]
xs = bdac
>> sort(xs)
ans = abcd
تعريف رشته به صورت معمول
>> xs = ‘bdac’
xs = bdac
>> sort(xs)
ans = abcd
رشته به صورت اعداد (اسكي)
>> ss = ‘z’ : -1 : ‘r’
ss = 122 121 120 119 118 117 116 115 114
>> stn = sort(ss)
stn = 114 115 116 117 118 119 120 121 122
>> st = char(stn)
st = rstuvwxyz
مرتب سازي رشته با تابع حبابي و مقايسه با ()sort
روش bubble sort كه برنامه آن را نوشتهايم، يكي از كندترين روتينهاي مرنبسازي است، اما مرتب سازي داخلي متلب ()sort از روتينهاي مدرنتر و سريعتر مانند quick sort استفاده ميكند.
مثال: تابع مرتب سازي حبابي bubble sort را بنويسيد. سرعت اجراي آن را با سرعت تابع داخلي متلب ()sort مقايسه كنيد. تابع مرتب سازي حبابي به طريق زير نوشته ميشود:
% Function M-File bubbles.m
function y = bubbles(x)
n = length(x);
for k = 1 : n;
% count the passes
for j = 1 : n – k
if x(j) > x(j+1)
temp = x(j);
x(j) = x(j+1);
x(j+1) = temp;
% swap
end
end
end
y = x;
در ام- فايلي به نام bsrt.m يك آرايه از كاراكترها (يك رشته) كه شامل a تا z (كد اسكي 97 تا 122) به طور معكوس است را تعريف ميكنيم. به اين ترتيب، چون نامرتب ترين سامانه را دارد، بيشترين عبور (تكرار) براي مرتب سازي آن انجام خواهدشد.
% Script M-File bsrt.m, calls the function bubbles.m
clc, clear
يك آرايه بزرگ توليد ميكند % ;’x = ‘z’ : -1 : ‘a
;(xr = repmat(x,1,200 tic xrs = char(sort(xr));
tc = toc;
fprintf(‘for MATLAB sort: %f Secs\n’,tc)
tic
xrs = char(bubbles(xr)) ;
tc = toc;
fprintf(‘for bubble sort: %f Secs’,tc)
>> bsrt for MATLAB sort: 0.060000 Secs
for bubble sort: 2.213000 Secs
نویسنده: مصطفی همت آبادی
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,
