1 / 31

مروری بر Matlab

سیگنال ها و سیستم ها. مروری بر Matlab. حمیدرضا پوررضا. محاسبات ساده. >> ((40+60)*11-100)/20 ans = 50 >> x=5 x = 5 >> y=10; >> x*y^2 ans = 500. Variable naming rules 1- case sensitive 2- maximum length is 31 characters 3- must start with letter

tmills
Download Presentation

مروری بر Matlab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. سیگنال ها و سیستم ها مروری بر Matlab حمیدرضا پوررضا

  2. محاسبات ساده >> ((40+60)*11-100)/20 ans = 50 >> x=5 x = 5 >> y=10; >> x*y^2 ans = 500 Variable naming rules 1- case sensitive 2- maximum length is 31 characters 3- must start with letter 4- can not contain any symbols Reserved Word List for end if while function return elseif case otherwise switch continue else trycatch global persistent break H.R. POURREZA

  3. توابع محاسباتی >> cos(pi); >> exp(5); % e5 >> log2(8); % 8=23 >> sqrt(100); >> abs(3+4i); >> angle(3+3i); >> floor(9.9); >> round(3.6); >> rem(10,4); H.R. POURREZA

  4. توابع محاسباتی >> [ang,r,z]=cart2pol(1,1,1); >> nchoosek(5,3); % N!/K!(N-K)! >> whos >> clear >> whos >> format long >> pi >> format short >> pi H.R. POURREZA

  5. توابع M-File Choose New from the File menu and select M-file functionamount= wage(hours, payRate) % Will calculate the weekly wage amount = 40*payRate+(hours-40)*1.5*payRate; >> type wage >> help wage >> wage(40,10) >> wage(40,2000); >> am=wage(40,2000) H.R. POURREZA

  6. توابع M-File – استفاده از IF functionamount= wage(hours, payRate) fprintf('Hi! My name is WageCalculator and I will calculate how much you earned last week.\n'); name = input('What is your name?\n','s'); fprintf('Nice to meet you %s.\n',name); Max_hours=40; Overtime_rate=1.5; if hours>=Max_hours amount = Max_hours*payRate+(hours- Max_hours)*Overtime_Rate*payRate; else amount = hours*payRate; end H.R. POURREZA

  7. اندیسهای ماتریس >> A=[]; >> A=[1 2 3; 4 5 6; 7 8 9]; >> A=[1 2 3; 4 5 6; 7 8 9] A= 1 2 3 4 5 6 7 8 9 >> Mm=A*A; %ضرب ماتریسی Mm = 30 36 42 66 81 96 102 126 159 H.R. POURREZA

  8. اندیسهای ماتریس >> Ma=A.*A % ضرب آرایه ای Ma = 1 4 9 16 25 36 49 64 81 >> Dm=A/A; %تقسیم ماتریسی >> DA=A./A; % تقسیم آرایه ای >> 1:5 1 2 3 4 5 >> X=1:N; >> X=colon(1,N); H.R. POURREZA

  9. اندیسهای ماتریس >> 100:-10:50 100 90 80 70 60 50 >> C3=A(:,3) C3 = 3 6 9 >> R2=A(2,:) R2 = 4 5 6 H.R. POURREZA

  10. اندیسهای ماتریس >> T2=A(1:2,1:3) T2 = 1 2 3 4 5 6 >> T3=T2' T3 = 1 4 2 5 3 6 >> S=sum(B(1:k,j)); H.R. POURREZA

  11. تولید ماتریس >> zeros(M,N) %generate an MxN matrix of zeros >> ones(M,N) %generate an MxN matrix of ones >> rand(M,N) %generate an MxN whose entires are %uniformly-distributed random %numbers in the interval [0.0,1.0] >> randn(M,N) %generate an MxN whose entires are %normally-distributed random %numbers with mean 0 and var. 1 H.R. POURREZA

  12. تولید ماتریس >> A=5*ones(3,3) A = 5 5 5 5 5 5 5 5 5 >> B=rand(2,4) B = 0.2311 0.4860 0.7621 0.0185 0.6068 0.8913 0.4565 0.8214 >> H.R. POURREZA

  13. ادغام ماتریسها (Matrix Concatenation) >> B = [1 2;3 4]; >> C = [B B;B+4 B-1] C = 1 2 1 2 3 4 3 4 5 6 0 1 7 8 2 3 >> H.R. POURREZA

  14. حذف سطر و ستون از ماتریسها >> C(2 , :) = [] %delete the second row of C C = 1 2 1 2 5 6 0 1 7 8 2 3 >> C(: , 1:3:4) = [] C = 2 1 6 0 8 2 >> H.R. POURREZA

  15. دریافت خصوصیات ماتریسها >> B = [5 1 2; 3 9 4; 7 6 8]; >> max(B) ans = 7 9 8 >> max(max(B)) ans = 9 >>max(B(:)); >> S = size(B) S = 3 3 H.R. POURREZA

  16. دریافت خصوصیات ماتریسها >> D = B(2 , :) D = 3 9 4 >> size(D) ans = 1 3 length(D) ans = 3 >> ndims(B) ans = 2 H.R. POURREZA

  17. For-end >> [R,C]=size(B); >> Avg=0; >>for r=1:R for c=1:C Avg=Avg+B(r,c); end end >>Avg=Avg/(R*C) Avg = 5.0000 >> >>lookfor average >> pause H.R. POURREZA

  18. نمایش >> plot(x); Try: x = 0:0.1:2*pi;y=sin(x);plot(x,y)grid onhold onplot(x,exp(-x),'r:*');title('2-D Plots');xlabel('Time');ylabel('Sin(t)');text(pi/3,sin(pi/3),'<--sin(\pi/3)')legend('Sine Wave','Decaying Exponential'); H.R. POURREZA

  19. نمایش >> plot(x); Try: x=0:.1:2*pi; subplot(3,1,1); plot(x,sin(x)); subplot(3,1,2); plot(x,cos(x)); subplot(3,1,3) plot(x,exp(-x)); H.R. POURREZA

  20. مثال یک clc; clear all; close all; t=-2:1:2; y=[zeros(1,2),ones(1,1),zeros(1,2)]; subplot(2,2,1); stem(t,y); ylabel('Amplitude -->.'); xlabel('(a) n -->.'); تولید چند سیگنال گسسته: H.R. POURREZA

  21. مثال یک % ################################ n=input('enter the N value'); t=0:1:n-1; y1=ones(1,n); subplot(2,2,2); stem(t,y1); ylabel('Amplitude -->.'); xlabel('(b) n -->.'); % ################################ n1=input('enter the length of ramp sequence'); t=0:n1; subplot(2,2,3); stem(t,t); ylabel('Amplitude -->.'); xlabel('(c) n --.>'); تولید سیگنال [u(n)-u(n-N)]: تولید سیگنال شیب: H.R. POURREZA

  22. مثال یک % ################################ n2=input('enter the length of exponential sequence'); t=0:n2; a=input('enter the a value'); y2=exp(a*t); subplot(2,2,4); stem(t,y2); ylabel('Amplitude -->.'); xlabel('(d) n -->.'); تولید نمایی: H.R. POURREZA

  23. مثال دو % ################################ t=0:.01:pi; y=sin(2*pi*t); figure(2); subplot(2,1,1); plot(t,y); ylabel('Amplitude --.>'); xlabel('(a) n --.>'); % ################################ t=0:.01:pi; y=cos(2*pi*t); subplot(2,1,2); plot(t,y); ylabel('Amplitude -->.'); xlabel('(b) n --.>'); تولید تابع سینوس: تولید تابع کسینوس: H.R. POURREZA

  24. مثال سه clc; clear all; close all; x=input('enter the 1st sequence’'); h=input('enter the 2nd sequence'); y=conv(x,h); figure;subplot(3,1,1); stem(x);ylabel('Amplitude --.'); xlabel('(a) n --.'); subplot(3,1,2); stem(h);ylabel('plitude --.'); xlabel('(b) n --.'); subplot(3,1,3); stem(y);ylabel('Amplitude --.'); xlabel('(c) n --.'); disp('The resultant signal is');y H.R. POURREZA

  25. مثال سه enter the 1st sequence’[1 2] enter the 2nd sequence[1 2 4] The resultant signal is y = 1 4 8 8 H.R. POURREZA

  26. مثال چهار clc; clear; %----------------Function definition----------------- stepsize = 0.01; t1 = [-1 : stepsize : 3]; f = t1>=0 & t1<=2; t2 = [-1 : stepsize : 2]; h = t2>=0 & t2<=1; %--------------------Convolution--------------------- t = [t1(1)+t2(1) : stepsize : t1(end)+t2(end)];) g = zeros(size(t)); محاسبه کانولوشن برای دو سیگنال زیر: H.R. POURREZA

  27. مثال چهار for i = 1 : length(t) if t(i) <= 0 g(i) = 0; elseif t(i) <= 1 tau = [0 : stepsize : t(i)]; f_times_h = ones(1,length(tau)); g(i) = trapz(tau,f_times_h); elseif t(i) <= 2 tau = [t(i)-1 : stepsize : t(i)]; f_times_h = ones(1,length(tau)); g(i) = trapz(tau,f_times_h); elseif t(i) <= 3 tau = [t(i)-1 : stepsize : 2]; f_times_h = ones(1,length(tau)); g(i) = trapz(tau,f_times_h); else g(i) = 0; end end H.R. POURREZA

  28. مثال چهار %----------------------Plots------------------------- figure; subplot(2,2,1); plot(t1,f,'LineWidth',2); xlabel('t'); ylabel('f(t)'); ylim([0 1.5]); subplot(2,2,2); plot(t2,h,'LineWidth',2); xlabel('t'); ylabel('h(t)'); ylim([0 1.5]); subplot(2,2,3:4); plot(t,g,'LineWidth',2); xlabel('t'); ylabel('g(t)=f(t)*h(t)'); ylim([0 1.5]); H.R. POURREZA

  29. مثال چهار H.R. POURREZA

  30. مثال پنج clear; t = -1:0.01:3; u_t = t>=0; u_t_1 = t>=2; f = u_t - u_t_1; I1 = trapz(t,f) t = 0:0.01:pi/2; g = sin(2*t); I2 = trapz(t,g) I1 = 2 I2 = 1.0000 محاسبه دو سیگنال زیر: H.R. POURREZA

  31. جعبه ابزار پردازش تصویر >> f = imread(' d:\images\fig4.jpg ', 'jpg'); >> size(f) ans= 1024 1024 >> imwrite(f,' d:\images\fig4.jpg ', 'jpg'); >>imshow(f) >>g=rgb2gray(f); >>g=mat2gray(f); H.R. POURREZA

More Related