22
RYS HISTORYCZNY W latach 70tych na zlecenie National Science Fundation powstały pierwsze biblioteki fortranowskie do obliczeń numerycznych. Jeden z autorow tego oprogramowania Cleve Moler prowadził zajęcia z algebry liniowej na Uniwersytecie Nowy Meksyk. Napisał on uniwersalny program na korzystanie z bibliotek bez potrzeby programowania w FORTRANIE

RYS HISTORYCZNY

  • Upload
    hien

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

W latach 70tych na zlecenie Nation a l Science Fundation powstały pierwsze biblioteki fortranowskie do oblicze ń numerycznych. - PowerPoint PPT Presentation

Citation preview

Page 1: RYS HISTORYCZNY

RYS HISTORYCZNYW latach 70tych na zlecenie National Science Fundation powstały pierwsze biblioteki fortranowskie do obliczeń numerycznych.

Jeden z autorow tego oprogramowania Cleve Moler prowadził zajęcia z algebry liniowej na Uniwersytecie Nowy Meksyk. Napisał on uniwersalny program na korzystanie z bibliotek bez potrzeby programowania w FORTRANIE

Page 2: RYS HISTORYCZNY

Czytanie i zapisywanie

• save <nazwa pliku> x,

• save <nazwa pliku> x -ascii

• load<nazwa pliku>

Page 3: RYS HISTORYCZNY

Operacje na macierzach

• Wprowadzanie danych: formy zapisu 1:.2:20; 1:20; -2.2:-1.3:-12.5

• [1 3 12 23 2 3]; [1 3; 12 23; 2 3];• Polecenie input np. x=input(‘podaj x’); y=input(‘pod’,’s’);• Rola znakow: ; , : spacja, enter• Tworzenie macierzy z macierzy:• x=[1 3; 12 23; 2 3];• y=[x x-2 2*x; x+2 x/2 x.^0.5]; elementy macierzy, y(3,5), zamiana y(3,5)=-2;y(3, 3:6)=1; y(3:6,3)=1; z=y(2,2:4); zz(3,3,:)=y(2,2:4);zz=zz’;

Page 4: RYS HISTORYCZNY

Standardowe funkcje i polecenia

• Trygonometryczne sin cos tan cot, asin atan• Inne: log; log10; sqrt; exp; mean; diff; fft;

spectrum

• Logiczne a=x==2; a=x>=2, a=x<=2 (skrypt str.31)

Page 5: RYS HISTORYCZNY

FUNKCJE

• function y=rys(x);• y=x.^2-5;• plot(x,y)• grid

• x=-10:10; wprowadzamy - yy=‘x.^2-3’;• y=inline(‘x.^2-3’); z=inline(yy)• y(x); z(x)• fzero(yy,-2)

Page 6: RYS HISTORYCZNY

polecenia

• Z=find(x==3)%znajduje indeks x rownego 3 - Cegiełła str49• size(x) % wypisuje ilość wierszy I kolumn - help MATLAB• find(x) %znajduje indeksy dla ktorych x rózne od zera, można

napisać:• find(x==0) % to polecenie znajduje dokładnie miejsca zerowe • A(:,4)=[] %usuwa z macierzy A 4-ta kolumne – Cegiełła str.36

tic ... toc , eval, eps, clear, help

Page 7: RYS HISTORYCZNY

Grafika

• Polecenia: plot(x,y,’k*y’); grid; • xlabel(‘string’), ylabel• text(x,y, ‘string’)• axis([xmin xmax ymin ymax])• title(‘string’)• Polecenia: stem, bar, stairs,polar,• Loglog, semilogx, axis square,• subplot

Page 8: RYS HISTORYCZNY

Funkcje I grafika wielu zmiennych

• Mesh; meshgrid; surface, surf, contour

• x=1:10;

• y=-2:.1:2;

• [xx,yy]=meshgrid(x,y)

• z=x.^2+y.^2;

• Bez pętli

• z=xx.^2+yy.^2;

Page 9: RYS HISTORYCZNY

Liczby zespolone

• 2*j; 2*I; sqrt(-4); abs real imag angle

• polar

Page 10: RYS HISTORYCZNY

Rachunek symboliczny

• Warunek działania symbolicznego - musi być: Toolboxes Symbolic Math (DEMO)

• syms a b c x

• x = solve(a*x^2 + b*x + c);

• x=solve('a*x^2+b*x+c=0')

• odpowiedź:

• x1=[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))]

• x2=[ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]

Page 11: RYS HISTORYCZNY

Inne formy

1. Rachunek symboliczny polecenie syms x y z; u=3*x^2-2x+3; solve(u)

2. y=inline('3*x.^2-2*x+3');

deklarujemy x=-10:10;

y(x) ma postać postać numeryczną plot(y(x))

3. ezplot('sin'); ezplot('x^3-2*x^2+3*x-5');

ezplot('x^3-2*x^2+3*x-5', [-20 30])

Page 12: RYS HISTORYCZNY

POLECENIE eval

X=-3:3;

y=input('y= ')

wprowadzamy

Y='x.^2-3'

Wyliczamy postać numeryczną y

z=eval(y)

Y jest dalej postacią tekstową i można ją użyc np. jako title(y)

Page 13: RYS HISTORYCZNY

Polecenie HOLD

X=-3:3;

y=x.^2-3;

plot(x,y)

Hold on, hold off

plot(y)

Page 14: RYS HISTORYCZNY

Simulink z generatorami przełącznikiem i dwoma

oscyloskopami:

generatory – Sources,

Oscyloskopy : Sinks

Przełącznik – Signal routing

Rózniczkowanie: Continous

Page 15: RYS HISTORYCZNY

Pliki dzwiękowe

• Wavread, wavwrite, [Y,FS,NBITS,OPTS]=WAVREAD(...)

• x=wavread(‘proba’);

• x1=x(3000:length(x(:,1)),:);

• X0=x(1:length(x1(:,1)),:);

• xc=x0/2+x1/2;

• sound(xc,44100); echo

Page 16: RYS HISTORYCZNY

Przetwarzanie dźwięku

Widmo fft

Spectrum

Segmentacja reshape

specgram

Page 17: RYS HISTORYCZNY

Obrazy (pliki „jpg”)

• Imread, imwrite uint8 double

• X=imread(‘kosciol.jpg’)

• function y=rys(x)

• y=double(x);

• y1=y/256;

• y2=y1.*sin(y1*256);

• image(abs(y2))

Page 18: RYS HISTORYCZNY

Film

%sprężyna

clg

m=moviein(20);

v=2*pi:0.01:6*pi;

for i=1:20

plot(v*i/20,sin(v));

axis([0,12*pi,-1,1])

m(:,i)=getframe;

end;

clg

movie(m,-4)

Page 19: RYS HISTORYCZNY

Symulacja generatora dźwiękowego

• Chirp

sinus kluczowany

• Szum

• fp=44100; fs=1000; df=1000; t=0:1/fp:1;

• X=sin(2*pi*(fs+df*t/max(t)).*t);

Page 20: RYS HISTORYCZNY

Przetwarzanie wyników z oscyloskopu

Dane w ascii

Page 21: RYS HISTORYCZNY

Interface graficzny GUI

Wywołuje się poleceniem guide

Wkopiować np. przycisk pushButton

Uruchamiamy inspektora w oknie View

Wpisujemy w wierszu string np. start

Zapisujemy nazwę i uruchamiamy (run)

Wpisujemy na końcu program np. x=1:10

Figure

stem(x)

Page 22: RYS HISTORYCZNY

Możliwe zagadnienia i testy