15
OSNOVA: a) 3D grafické výstupy – doplnění b) Práce se soubory Jiří Šebesta Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování 2 pro obor EST BPC2E PŘEDNÁŠKA 9

Přednáška 9 7.4.2014 Jiří Šebesta

  • Upload
    cybill

  • View
    45

  • Download
    2

Embed Size (px)

DESCRIPTION

Počítače a programování 2. Přednáška 9 7.4.2014 Jiří Šebesta. TÉMA – Ú vod do MATLAB u. 3D grafické výstupy - doplnění Práce se soubory. Příklad parametrické 3D křivky – použití plot3(). 3 D grafické výstupy - doplnění (1/ 3 ). t =-15:0.001:15 %paramater - PowerPoint PPT Presentation

Citation preview

  • OSNOVA:3D grafick vstupy doplnnPrce se soubory

    Ji ebestastav radioelektroniky, FEKT VUT v BrnPotae a programovn 2 pro obor EST BPC2EPEDNKA 9

  • 3D grafick vstupy - doplnn (1/3)Pklad parametrick 3D kivky pouit plot3()t=-15:0.001:15 %paramaterX =(1+0.25*cos(75*t)).*cos(t)Y = (1+0.25*cos(75*t)).*sin(t)Z = t+2.0*sin(75*t)figure()plot3(X,Y,Z)colormap([1 0 0])grid ontitle('Helical toroid')xlabel('x')ylabel('y')zlabel('z')Pklad: BPC2E_Ex135.m

  • 3D grafick vstupy - doplnn (2/3)kx = 1; %size in x axisky = 1; %size in y axiskz = 2; %size in z axismeshdens = 0.05*pi;[th phi] = meshgrid(-pi:meshdens :pi, 0:meshdens:2*pi);x = kx*sinh(th).*cos(phi);y = ky*sinh(th).*sin(phi);z = kz*sinh(th);figure()mesh(x,y,z)colormap([0 0 1; 1 0 0])%blue & redgrid ontitle('Hyperboloid')axis equalPklad parametrickho 3D povrchu - pouit meshPklad: BPC2E_Ex136.m

  • 3D grafick vstupy - doplnn (3/3)Pklad parametrickho 3D povrchu - pouit surf

    a = 0.15; b = 1; g = 0.1; n = 1.5;[u v] = meshgrid(0:0.05*pi:2*pi, 0:0.05*pi:2*pi);x = a*(1-v/(2*pi)).*cos(n*v).* (1 + cos(u)) + g*cos(n*v)y = a*(1-v/(2*pi)).*sin(n*v).* (1 + cos(u)) + g*sin(n*v)z = a*(1-v/(2*pi)).*sin(u) + b*v/(2*pi)figure()surf(x,y,z)colormap('default')title('Horn/shell')Pklad: BPC2E_Ex137.m

  • Prce se soubory v Matlabu (1/10)Prce se soubory v Matlabu je podobn jako prce se soubory v ANSI-C:

    oteven souboru fopen() parametry specifikuj druh prce se souborem (ten, zpis, pidvn)

    ten ze souboru fread() parametry specifikuj skladbu dat

    zpis do souboru fwrite() - parametry specifikuj skladbu dat

    uzaven souboru fclose() parametrem je identifiktor uzavranho souboru

    formtovan ten ze souboru fscanf()

    formtovan zpis do souboru fprintf()

  • Prce se soubory v Matlabu (2/10)fid = fopen(filename, permission, machineformat, encoding) oteve soubor se jmnem filename (me bt v. cesty, jinak z prac. adr.), oteven soubor je identifikovateln pomoc fid (slo), permission identifikuje pstup k souboru:'r' oteve soubor pro ten (defaultn atribut) 'w' oteve nov soubor pro zpis, ppadn pvodn soubor je pemazn'a' oteve soubor pro pidvn na konec, pokud neexistuje oteve se nov pro zpis'r+' oteve soubor pro ten i zpis'w+' oteve soubor pro zpis, piem je mon i ze souboru st, ppadn pvodn soubor je pemazn'a' oteve soubor pro pidvn na konec, piem je mon i ze souboru st, pokud neexistuje oteve se nov

  • Prce se soubory v Matlabu (3/10)Soust permission me bt i identifikace, zda se jedn o binrn (defaultn, bez oznaen) i textov soubor (do atributu permission pidn znak 't' ) :'r' oteve soubor pro ten binrnho souboru'rt' oteve soubor pro ten textovho souborumachineformat specifikuje speciln definice selnho formtu dat v souboru:'ieeebe' nebo 'b' je IEEE big-endian slo v promnn rce (float)'ieeele' nebo 'l' je IEEE little-endian slo v promnn rce'ieee-be.l64' nebo 's' je IEEE big-endian slo v pro-mnn rce s 64-bitovou dlkouapod.

  • Prce se soubory v Matlabu (4/10)encoding definuje typ pouitho znakovho kdovn: '' nespecifikovan kdovn (defaultn, pouv se aktuln)'UTF-8', 'latin1', 'US-ASCII' dal mon varianty znakovho kdovnA = fread(fid, count, precision)pete data ze souboru identifikovanho pomoc fid do promnn (matice) A o potu (objemu) count s danou pesnost precision

    parametrem count lze specifikovat poet tench dat, nap. n (ulo se do vektoru s dlkou n) vechny data pomoc identifiktoru inf (ulo se do vektoru) rozmr clov matice A, nap. [row, col]

  • Prce se soubory v Matlabu (5/10)precision definuje formt dat v souboru:

    'uint8' 1B integer bezznamnkov (defaultn, 0 a 255)'int8' 1B integer znamnkov (-128 a 127)'uint16' 2B integer bezznamnkov (0 a 65535'int16' 2B integer znamnkov (-32768 a 32767)dl 'uint32', 'int32', 'uint64', 'int64' 'schar' znaky znamnkov vyjden'uchar' znaky neznamnkov vyjdendl 'float32', 'float64', 'double64', 'bitN', 'ubitN' a dal

  • Prce se soubory v Matlabu (6/10)Pklad naten 32 bit float sel se souboru s neznmm potem sel ze souboru 'data1.dat'%read to float vector

    fid = fopen('data1.dat','r')vect = fread(fid, inf, 'float32')fclose(fid)size(vect)figure()plot(vect)Pklad: BPC2E_Ex138.m

  • Prce se soubory v Matlabu (7/10)Pklad naten matice int32 sel se souboru do matice o rozmru 100 x 100 ze souboru 'altprofile.dat'Pklad: BPC2E_Ex139.m%read to integer matrix

    fid = fopen('altprofile.dat','r')H = fread(fid, [100 100], 'int32')fclose(fid)size(H)figure()surf(H)

  • Prce se soubory v Matlabu (8/10)count = fwrite(fid, A, precision, machineformat) ulo matici A do souboru, dal parametry shodn s fread()%read to int vectorfid = fopen('my.dat','r')vect = fread(fid, inf, 'uint8')fclose(fid)size(vect)figure()plot(vect)Pklad: BPC2E_Ex140.m + 141.m% write int vector to fileA = 1:250;fid = fopen('my.dat', 'w')length = fwrite(fid, A,'uint8')fclose(fid)

  • Prce se soubory v Matlabu (9/10)Matlab umouje pracovat s adou datovch formt pmo, viz help pro fileformats. Ke kadmu z uvedench formt existuje funkce pro ten i funkce pro zpis.Pi zpisu a ten se nepouv fopen() a fclose(). Pklad csvread() pro ten dat z Excelu (mus to bt americk verze sla s des. tekou, oddlen rkou) %read from CSV filedata = csvread('data.csv')figure()mesh(data)Pklad: BPC2E_Ex142.m

  • Prce se soubory v Matlabu (10/10)Pklad imread() pro ten obrzkovch soubor rznch formt, vsledkem je matice vka x ka x 3 (hodnoty pro RGB sloky)%read picture from JPEG fileRGB = imread('testjpg.jpg', 'JPG');R = RGB(:,:,1);G = RGB(:,:,2);B = RGB(:,:,3);figure(1)contour(R)figure(2)contour(G)figure(3)contour(B)Pklad: BPC2E_Ex143.m

  • Tma nsledujc pednky Funkce v Matlabu a model komunikanho systmuDKUJI ZA POZORNOST

    **************