آموزش نرم افزار matlab

33
ار ز ف رم ا ن ش ور م اMATLAB ش ن ی دا عل ور ن ام ی پ گاه ش ن دا! ک ی# پ ا& زوه رب گ م ي حّ ز ل ن/ ا م حّ ز ل ه ا ل ل م ا س& ن

Upload: thetis

Post on 05-Jan-2016

68 views

Category:

Documents


14 download

DESCRIPTION

بسم الله الرّحمن الرّحيم. آموزش نرم افزار MATLAB. علی دانش گروه رباتیک دانشگاه پیام نور. چند نکته. امکان کامنت چندخطی (بلوکی) در نسخه 7 %{ %} امکانات دیباگ کردن امکان Cell Mode در Script نویسی (نسخه 7) دموهای جالب و مفید demo. توابع تو در تو ( nested function ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: آموزش نرم افزار MATLAB

آموزشنرم افزار

MATLABدانش علی

نور پیام دانشگاه رباتیک گروه

حيم الر� حمن الر� الله بسم

Page 2: آموزش نرم افزار MATLAB

نکته چند

) نسخه ) در بلوکی چندخطی کامنت 7امکان%{

%} کردن دیباگ امکانات امکانCell Mode درScript ( نسخه (7نویسی مفید و جالب دموهای

demo

Page 3: آموزش نرم افزار MATLAB

تو ) در تو (nested functionتوابع

ها داده گذاری اشتراک سفارشی توابع ساختن داخلی حالت داشتن با سفارشی توابع ساختن

Page 4: آموزش نرم افزار MATLAB

ها داده گذاشتن اشتراک به

>> type taxDemo.mfunction y = taxDemo(income)% Calculate the tax on income:

AdjustedIncome = income - 6000;y = computeTax;function y = computeTax

% Can see the variable 'AdjustedIncome'

y = 0.28 * AdjustedIncome;end

end

Page 5: آموزش نرم افزار MATLAB

سفارشی توابع ساختن

>> type makefcn.m

function fcn = makefcn(a, b, c)

% Return handle to nested function:

fcn = @parabola;

function y = parabola(x)

% Can see the variables 'a','b', and 'c'

y = a * x .^ 2 + b .* x + c;

end

end

Page 6: آموزش نرم افزار MATLAB

] سفارشی] توابع ادامه

f = makefcn)3, 2, 10(; g = makefcn)0, 5, 25(;

دو ( handleاین متفاوت ) ضرایب متفاوت تابع دو بهرا کدام هر مقدار توان می که کنند می اشاره

دیگر توابع به پارامتر عنوان به یا و کرد محاسبه. کرد منتقل

y = f)2( % = 26 y = g)2( % = 35 minimum = fminbnd)f, -5, 5(; % = -0.3333

Page 7: آموزش نرم افزار MATLAB

] سفارشی] توابع ادامه

ezplot)f(; % Plot f over a range of x

hold on;

plot)2, f)2(, 'd'(; % Plot a marker at )2, f)2((

plot)minimum, f)minimum(, 's'(;

text)minimum, f)minimum( - 2, 'Minimum'(;

h = ezplot)g(;

set)h, 'color', 'red'( % Plot g over a range of x

plot)2, g)2(, 'rd'(; % Plot a marker at )2, g)2((

hold off;

Page 8: آموزش نرم افزار MATLAB

با سفارشی توابع ساختنداخلی حالت داشتن

>> type makecounter.mfunction countfcn = makecounter(initvalue)

currentCount = initvalue;countfcn = @getCounter;function count = getCounter

% Increments the 'currentCount‘currentCount = currentCount + 1;count = currentCount;

endend

Page 9: آموزش نرم افزار MATLAB

] با] سفارشی توابع ادامهداخلی حالت

>> counter1 = makecounter)0(;

>> counter2 = makecounter)10(;

>> counter1 % = 1

>> counter1 % = 2

>> counter2 % = 11

>> counter1 % = 3

>> counter2 % = 12

Page 10: آموزش نرم افزار MATLAB

با متنی فایلهای خواندندلخواه فرمت

load % Variables from .MAT file fread).( % StrRead).( for string fscanf).( % SScanf).( for string fgets).( % newline included fgetl).( % newline NOT included textread).( % Fixed Format textscan).( % Variable Format

Page 11: آموزش نرم افزار MATLAB

).(textscanتابع

فایل فرمت تنظیم خواندن برای متنی فایل کردن باز مقدماتی خطوط خواندن بلوکها خواندن متنی فایل بستن شده خوانده بلوکهای تعداد ها داده بررسی

Page 12: آموزش نرم افزار MATLAB

متنی: فایل test80211.txtمثال

از تشکیل 4بعد داده بلوک یک از فایل مقدمه، خط: باشد می زیر فرمت به که است شده

توضیحات خط دو پارامترm شکل به ها داده p * mجدول

قرار سلولی آرایه در شده خوانده های داده تمام. شود می داده

Page 13: آموزش نرم افزار MATLAB

] مثال] ادامه

fid = fopen)'test80211.txt', 'r'(; % Open text file

% Read strings delimited by a carriage return

InputText = textscan)fid, '%s', 4, 'delimiter', '\n'(;

Intro = InputText{1};

disp)Intro(;

Page 14: آموزش نرم افزار MATLAB

– ] بلوک] خواندن مثال ادامه

: بلوک هر خواندن عنوان خواندن جدول نام خواندن سرستون خواندن ها داده خواندن

Page 15: آموزش نرم افزار MATLAB

– ] کد] مثال ادامهBlock = 1; % Initialize block indexwhile )~feof)fid(( % For each block...

% Read header lineInputText = textscan)fid, '%s', 2, 'delimiter', '\n'(;HeaderLines{Block, 1} = InputText{1};InputText = textscan)fid, 'Num SNR=%f'(; % Read parameter valueNumCols = InputText{1};% Read data block:FormatString = repmat)'%f', 1, NumCols(; % Create format stringInputText = textscan)fid, FormatString, 'delimiter', ','(;% Convert to numerical array from cell:Data{Block, 1} = cell2mat)InputText(;[NumRows, NumCols] = size)Data{Block}(; % Size of table% Read and discard EOB marker )'EOF' in this case(:eob = textscan)fid, '%s', 1, 'delimiter', '\n'(;Block = Block + 1; % Increment block index

end

Page 16: آموزش نرم افزار MATLAB

– ] کد] مثال 2ادامه

fclose)fid(;

NrOfBlocks = Block - 1 % How many blocks ?

% Display Block #9 :

Block = 9;

disp)HeaderLines{Block}(;

disp)['SNR' sprintf)' %d', Data{Block, 1})1, 2:end((](

format short e % Use exponential format

disp)' '(;

disp)Data{Block, 1})2:end, 2:end((;

'* Indoor0' '* SNR Vs test No'

SNR -7 -6 9.0600e-007 6.7100e-007 3.1700e-007 3.5400e-007 2.8600e-007 1.9600e-007 1.4800e-007 7.3400e-007 3.9500e-008 9.6600e-007 7.9600e-007 7.8300e-007 4.0000e-007 8.8100e-007 3.0100e-007 2.9700e-007

Page 17: آموزش نرم افزار MATLAB

بعدی دو نمایشنمودار

XY plot

Page 18: آموزش نرم افزار MATLAB

plotتابع

x = 0:0.05:5;

Y = sin)x .^ 2(;

plot)x, y(;

Page 19: آموزش نرم افزار MATLAB

barتابع

x = -2.9:0.2:2.9;

bar)x, exp)-x .* x((;

Page 20: آموزش نرم افزار MATLAB

stairsتابع

x = 0:0.25:10;

stairs)x, sin)x((;

Page 21: آموزش نرم افزار MATLAB

errorbarتابع

x = -2:0.1:2;

y = erf)x(;

e = rand)size)x(( / 10;

errorbar)x, y, e(;

Page 22: آموزش نرم افزار MATLAB

polarتابع

t = 0:.01:2*pi;

polar)t, abs)sin)2 * t( .* cos)2 * t(((;

Page 23: آموزش نرم افزار MATLAB

stemتابع

x = 0:0.1:4;

y = sin)x .^ 2( .* exp)-x(;

stem)x, y(

Page 24: آموزش نرم افزار MATLAB

فوریه – سری رسم مثال

t = 0:.1:10;

y = sin)t(;

plot)t, y(;

y = sin)t( + sin)3 * t( / 3 + sin)5 * t( / 5 + sin)7 * t( / 7 + sin)9 * t( / 9;

plot)t, y(;

Page 25: آموزش نرم افزار MATLAB

– ] سری] رسم مثال ادامهفوریه

t = 0:.02:3.14;y = zeros)10, length)t((;x = zeros)size)t((;for k=1:2:19 x = x + sin)k * t( / k; y))k + 1( / 2, :( = x;endplot)y)1:2:9, :('(title)'The building of a square wave: Gibbs''

effect'(

Page 26: آموزش نرم افزار MATLAB

– ] سری] رسم مثال ادامهفوریه

surf)y(;

shading interp

axis off ij

Page 27: آموزش نرم افزار MATLAB

بعدی سه نمایشنمودار

XYZ plot

Page 28: آموزش نرم افزار MATLAB

بعدی سه رسم توابعz=peaks)25(;%%%mesh)z(;colormap)hsv(surf)z(;colormap)jet(;surfl)z(;shading interp;colormap)pink(;contour)z,16(;colormap)hsv(

Page 29: آموزش نرم افزار MATLAB

تصویر مقدمه

و تصاویرماتریسها

Page 30: آموزش نرم افزار MATLAB

تصویر انواع

Black & White )B/W( Grayscale Colorful

Color Index )PALETTE( Color Value

RGB )additive( CMYK )subtractive( HSI )HSV( )Hue Saturation Intensity( Ia*b* …

Page 31: آموزش نرم افزار MATLAB

).(colormapو ).(imageتابع

X = spiral)8(;

image)X(;

colormap)gray(;

%%%

colormap)hsv(;

%%%

colormap)hot(;

43 44 45 46 47 48 49 5042 21 22 23 24 25 26 5141 20 7 8 9 10 27 5240 19 6 1 2 11 28 5339 18 5 4 3 12 29 5438 17 16 15 14 13 30 5537 36 35 34 33 32 31 5664 63 62 61 60 59 58 57

Page 32: آموزش نرم افزار MATLAB

).(rgbplotتابع

: رنگ نگاشت نمودار مشاهده برایrgbplot)S(

Page 33: آموزش نرم افزار MATLAB

تصویر نوشتن و خواندن توابع

imread