آموزش متلب

مرتب سازي رشته در متلب

مرتب سازي رشته

يك رشته اگر با كالن (بدون استفاده از گيومه) تعريف شود، كاراكترهاي عضو آن كد اسكي (عدد) خواهند بود. مرتب شده ي چنين رشته اي به صورت عددي نمايش داده ميشود، براي نمايش آن به صورت كاركتر از تابع ()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 ,

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *