Matlab diagramų projektavimas. Matlab grafikų braižymas

3. 3D grafika .

Dviejų kintamųjų funkcijų grafikai yra paviršių dalys, kabantys virš funkcijų apibrėžimo sričių. Iš to aišku, kad norint pavaizduoti dviejų kintamųjų funkcijų grafikus, plokščiame kompiuterio ekrane reikia įdiegti „trimatę grafiką“.

MATLAB aukšto lygio grafikos posistemis automatiškai įgyvendina trimatę grafiką be ypatingų vartotojo pastangų. Funkcijos z=f(x,y) reikšmė apskaičiuojama taške, kurio koordinatės x1,y1 ir lygi z1. Kitame taške (ty esant kitai argumentų reikšmei) x2,y2 apskaičiuojama funkcijos z2 reikšmė. Tęsiant šį procesą, gaunamas N vienetų, esančių trimatėje erdvėje, taškų (x1,y1,z1), (x2,y2,z2), (xN,yN,zN) masyvas (aibė). Specialios MATLAB sistemos funkcijos per šiuos taškus nubrėžia lygius paviršius ir rodo jų projekcijas kompiuterio plokščiame ekrane.

Dažniausiai argumentų taškai funkcijos apibrėžimo srityje yra reguliariai stačiakampio tinklelio (ty matricos) pavidalu. Toks taškų tinklelis sukuria dvi tos pačios struktūros matricas: pirmoje matricoje yra šių taškų pirmųjų koordinačių reikšmės (x - koordinatės), o antrojoje matricoje yra antrųjų koordinačių reikšmės (y - koordinates). Pirmąją matricą pažymėkime kaip X, o antrąją kaip Y. Taip pat yra trečioji matrica - funkcijų reikšmių matrica z=f(x,y) su šiais argumentais. Šią matricą pažymėsime raide Z.

Paprasčiausia funkcija, skirta dviejų kintamųjų funkcijai nubraižyti MATLAB sistemoje, yra funkcija

3 diagrama (X , Y , Z)

kur X, Y ir Z yra matricos tie patys dydžiai, kurios prasmę ką tik paaiškinome.

MATLAB turi specialią funkciją, leidžiančią gauti dvimačius masyvus X ir Y iš vienmačių masyvų x, y.

P P> Tegul x ašiai vektoriaus pavidalu pateikiamas verčių diapazonas

u = -2:0,1:2

o išilgai y ašies šis diapazonas yra

v=-1:0,1:1

Norėdami gauti X ir Y matricas, vaizduojančias pirmąją ir antrąją gauto stačiakampio taškų tinklelio koordinates, naudokite specialią MATLAB funkciją:

[ X , Y ] = tinklelis (u, v)

Kaip matome, ši funkcija kaip įvestį gauna du vienmačius masyvus (vektorius), vaizduojančius koordinačių ašių taškų masyvus, ir vienu metu grąžina du norimus dvimačius masyvus. Pavyzdžiui, stačiakampiame taškų tinklelyje apskaičiuojame funkcijos reikšmes funkcijos exp:

Z = exp (- X.^2 - Y.^2)

Galiausiai, naudojant aukščiau aprašytą plot3 funkciją, gauname tokį šios funkcijos trimačio grafiko vaizdą:

Iš šio paveikslo aišku, kad funkcija plot3 sukuria grafiką erdvėje esančių linijų rinkinio pavidalu, kurių kiekviena yra trimačio paviršiaus atkarpa plokštumose, lygiagrečiai plokštumai yOz. Kitaip tariant, galime sakyti, kad kiekviena eilutė gaunama iš tiesūs segmentai

, jungiantis aibę taškų, kurių koordinatės paimtos iš tų pačių X, Y ir Z matricų stulpelių Tai yra, pirmoji eilutė atitinka pirmąsias X, Y Z matricų stulpelius. antroji eilutė – į šių matricų antrus stulpelius ir pan.

Norint sukurti parametriškai apibrėžtas trimates linijas, naudojama kita plot3 funkcijos iškvietimo forma:

plot3(x, y, z)

čia x, y ir z yra vienmačiai taškų koordinačių matricos, kurios turi būti nuosekliai sujungtos tiesiomis atkarpomis. Pavyzdžiui, šis kodo fragmentas

t = 0: pi/50: 10*pi ;

x = sin(t);

y = cos(t);

plot3(x , y , t);

tinklelis įjungtas

kur naudojama iš plokščiųjų grafikų žinoma komanda

tinklelis įjungtas

grafiko braižymo srityje patalpinti koordinačių reikšmių tinklelį (taip pat leidžiama naudoti komandas ir funkcijas grafams kurti, anksčiau aptartas „plokščiam“ atveju), leidžia sukonstruoti spiralę, kurios vaizdas yra parodyta toliau pateiktame paveikslėlyje: Be šito paprasčiausia funkcija

MATLAB sistema turi daugybę kitų funkcijų, kurios leidžia pasiekti didesnį trimačių grafikų atvaizdavimo tikroviškumą. Tai yra tinklelio, naršymo ir naršymo funkcijos.

Tinklelio funkcija skaičiuojamus gretimus grafo paviršiaus taškus sujungia tiesiomis atkarpomis ir MATLAB grafiniame lange parodo plokščią tokio tūrinio „wireframe mesh“ kūno projekciją. Vietoj funkcijos grafiko, kuris anksčiau buvo parodytas naudojant funkciją plot3

exp (- X.^2 - Y.^2)

galite gauti šį vaizdą geresnis suvokimas vaizdo „trimatis“, skirtingi kraštai automatiškai nuspalvinami. Be to (skirtingai nuo plot3 funkcijos), nematomos linijos pašalinamos. Jei manote, kad rodomas briaunotas korpusas yra skaidrus ir neturėtų slėpti galinių linijų, galite įvesti komandą paslėptas išjungimas, po kurios tokios linijos atsiras paveikslėlyje. Tankesnį paviršiaus vaizdą galima pasiekti, jei vietoj

tinklelio funkcija taikyti surf(X, Y, Z) funkciją.

Rezultatas yra toks vaizdas, vaizduojantis tankų (nepermatomą) tinklinį paviršių ir atskiros ląstelėsŠio tinklinio paviršiaus (kraštai) (plokštieji keturkampiai) automatiškai nudažomos skirtingomis spalvomis.

Naudojant naršymo funkciją, nors ir dirbtinai nuspalvinti, gaunami labai vizualūs vaizdai. Jei norime pasiekti natūralesnius ir objektyvesnius paviršių dažymo būdus, tuomet turėtume naudoti surflimo funkciją.

Naršymo funkcija grafiko paviršių traktuoja kaip medžiagos paviršių su tam tikru fizines savybesšviesos atspindžiu. Pagal numatytuosius nustatymus yra nurodytas tam tikras šviesos šaltinis, kuris apšviečia tokį medžiagos paviršių, po kurio apskaičiuojamos atspindėtų spindulių, patenkančių į įprastos kameros objektyvą, trajektorijos. Vaizdas tokioje kameroje rodomas MATLAB sistemos grafiniame lange.

Nes skirtingos medžiagos skirtingai atspindi krentančius spindulius, tada galite pasirinkti tam tikrą medžiagą, kad gautumėte geriausią (vartotojo požiūriu) vaizdą. Visų pirma galite naudoti funkciją

spalvų schema (varis)

kurio pagalba grafiniam vaizdui parenkamas spalvų rinkinys (angliškai - colormap), būdingas nuo vario paviršiaus atsispindėjusiai šviesai (varis angliškai - copper). Po to, naudojant funkciją

naršyti (X, Y, Z)

Vietoj naršymo (X, Y, Z) gaunamas labai tikroviškas ir labai vaizdingas grafikas:

Iš tokio grafiko galite pašalinti juodas linijas, vaizduojančias kraštus, ir pasiekti dar sklandesnį paviršiaus apšvietimo perėjimą, jei paleisite komandą

šešėliavimo tarp

Tai reiškia, kad dabar spalva (apšvietimas) pasikeis net atskiruose veiduose (ląstelėse). Dėl to jūs gausite labai tikrą kai kurių įvaizdį tūrinė figūra. Ar tai geriau, ar blogiau vaizduojant dviejų kintamųjų funkcijų grafikus, sprendžia individualus vartotojas.

Ypač aiškų paviršių atvaizdavimą suteikia tinklelio grafikai, kuriuose naudojamas funkcinis langelių šešėliavimas. Pavyzdžiui, paviršiaus dažų spalva z(x, y) galima reguliuoti pagal aukštį z paviršiai su tamsių tonų pasirinkimu mažam aukščiui ir šviesiais tonais dideliems. Tokiems paviršiams konstruoti naudojamos klasių komandos naršyti (...):

  • naršyti (X, Y, Z. C)- sukuria spalvą parametrinis paviršius pagal X, Y ir Z matricų duomenis su C masyvo nurodyta spalva;
  • naršyti (X.Y.Z)- panašus į ankstesnę komandą, kur C=Z, todėl spalva nustatoma pagal konkretaus paviršiaus langelio aukštį;
  • naršyti (x.y.Z) Ir naršyti (x.y.Z.C) su dviem vektoriniais argumentais x ir y – vektoriai x ir y pakeičia pirmuosius du matricos argumentus ir turi turėti ilgius ilgis(x)=n ir ilgis(y)=m, kur =dydis(Z). Šiuo atveju paviršiaus plotų viršūnės vaizduojamos koordinačių trigubomis (x(j), yd), Z(1,j)). Atkreipkite dėmesį, kad x atitinka Z stulpelius, o y – eilutes;
  • naršyti (Z) Ir naršyti (Z.C) naudokite x = 1:n ir y = 1:m. Šiuo atveju aukštis Z yra unikalus specifinė funkcija, geometriškai apibrėžtas stačiakampiu tinkleliu;
  • h = naršyti (...)- sukuria paviršių ir grąžina rankenėlę klasės objektui paviršius.

Komandos ašį, caxis, spalvų žemėlapis, laikykite, šešėliavimas Ir peržiūrėti apibrėžti koordinačių ašis ir paviršiaus savybes, kurios gali būti naudojamos norint efektyviau rodyti paviršių ar formą.

Žemiau pateikiamas paprastas paviršiaus – paraboloido – konstravimo pavyzdys:

> > = tinklelis ([ - 3: 0,15: 3 ]);

> > Z = X. ^ 2 + Y. ^ 2 ;

>> Naršyti (X,Y,Z)

Šį pavyzdį atitinkantis grafikas parodytas fig. 6.25.

Ryžiai. 6.25. Paraboloidinis grafikas su funkcinis dažymas ląstelės

Galima pastebėti, kad dėl funkcinio spalvinimo paviršiaus grafikas yra daug išraiškingesnis nei anksčiau pateiktose konstrukcijose be tokio spalvinimo (ir net tuo atveju, kai spalvų grafikas spausdinamas nespalvotai).

Šiame pavyzdyje naudojamas funkcinis atspalvių dažymas pilka su spalvų skalės ekranu:

> > = tinklelis ([ - 3: 0,1: 3 ]);

>> Z = sin(X). / (X.^2 + Y.^2 + 0,3);

>> naršyti (X.Y.Z)

>> spalvų schema (pilka)

>> šešėliavimo tarp

>> spalvų juosta

Šiame pavyzdyje komanda spalvų schema (pilka) nustato pilkos spalvos spalvinimo tonus ir komandą šešėliavimas Interp pašalina tinklinį vaizdą ir nustato tūrinio paviršiaus spalvų atspalvių interpoliaciją. Fig. 6.26 paveiksle parodyta šiame pavyzdyje sukurta grafika.


Ryžiai. 6.26. Paviršiaus sklypas su funkciniu pilkos spalvos dažymu

Paprastai dažymui naudojant interpoliaciją, paviršiai ir formos atrodo tikroviškesnės, tačiau vielinio rėmo formos pateikia tikslesnius kiekybinius duomenis apie kiekvieną tašką.

Pradedant nuo 4.0 versijos, MATLAB sistemoje yra galinga grafikos posistemė, kuri palaiko dvimatės ir trimatės grafikos vizualizavimo terminalo ekrane priemones ir pateikimo grafikos priemones. Verta pabrėžti kelis darbo su grafiniais objektais lygius. Tai visų pirma į galutinį vartotoją orientuotos komandos ir funkcijos, skirtos kurti stačiakampius ir polinius koordinačių grafikus, histogramas ir juostines diagramas, trimačius paviršius ir lygio linijos, animacijos. Grafikos komandos aukšto lygio automatiškai valdyti mastelį ir spalvų pasirinkimą, nereikalaujant manipuliuoti grafinių objektų savybėmis. Atitinkamą žemo lygio sąsają suteikia deskriptorinė grafika, kur kiekvienas grafinis objektas yra susietas su grafiniu palaikymu (deskriptoriumi), į kurį galima kreiptis pasiekiant šį objektą.

Naudodami rankenos grafiką galite kurti meniu, skambinimo mygtukus, teksto skydelius ir kitus GUI objektus.

Dėl ribotos šio informacinio vadovo apimties įtraukiamos tik grafinės komandos ir funkcijos su minimaliais grafiniais aprašais. Suinteresuotas skaitytojas turėtų susipažinti su MATLAB sistemos dokumentacija, ypač ką tik išleista knyga „Matlab grafikos naudojimas“ (Natick, 1996). Elementarus grafines funkcijas MATLAB sistemos leidžia kurti ant ekrano ir atsispausdintišių tipų

Grafikai: tiesiniai, logaritminiai, pusiau logaritminiai, poliniai.

Kiekvienai diagramai galite nustatyti pavadinimą, pažymėti ašis ir pritaikyti mastelio tinklelį.

  • 2D grafikai
  • PLOT – brėžinys tiesine masteliu
  • LOGLOG – grafikas logaritminėje skalėje
  • SEMILOGX, SEMILOGY - grafikas pusiau logaritminėje skalėje

POLAR – grafikas polinėmis koordinatėmis

MATLAB pateikia keletą komandų ir funkcijų trimačiams brėžiniams sudaryti.

  • Skaitmeninės masyvo elementų reikšmės laikomos taškų, esančių virš plokštumos, apibrėžtos x ir y koordinatėmis, z koordinatėmis.
  • Yra keletas galimų būdų sujungti šiuos taškus. Pirmasis iš jų – taškų sujungimas atkarpoje (plot3 funkcija), antrasis – tinklinių paviršių konstravimas (tinklo ir naršymo funkcijos).
  • Paviršius, sukurtas naudojant tinklelio funkciją, yra tinklelio paviršius, kurio langeliai turi fono spalvą, o kraštinės gali turėti spalvą, kurią lemia paviršiaus grafinio objekto ypatybė EdgeColor. Paviršius, pastatytas naudojant naršymo funkciją, yra tinklinis paviršius, kurio spalva gali būti nurodyta ne tik jo kraštinei, bet ir langeliams; pastarąjį valdo paviršiaus grafinio objekto savybė FaceColor. Šios knygos pristatymo lygis nereikalauja, kad skaitytojas turėtų objektinio programavimo žinių. Jo apimtis neleidžia visiškai apibūdinti grafikos posistemio, kuris sukurtas remiantis šiuo metodu. Susidomėjęs skaitytojas raginamas pasidomėti MATLAB sistemos dokumentacija, ypač ką tik išleista knyga „Using MATLAB Graphics“ (Natick, 1996).
  • PLOT3 – tiesių ir taškų braižymas trimatėje erdvėje
  • MESHGRID – dvimačių masyvų X ir Y formavimas
  • MESH, MESHC, MESHZ - trimatis tinklinis paviršius
  • SURF, SURFC - tamsintas tinklinis paviršius
  • SURFL – tamsintas paviršius su foniniu apšvietimu
  • AXIS – ašies mastelio keitimas ir atvaizdavimas
  • GRID – tinklelio taikymas
  • HOLD – valdykite esamo grafinio lango išsaugojimo režimą
  • SUBPLOT – grafinio lango padalijimas
  • ZOOM – diagramos mastelio valdymas
  • COLORMAP - spalvų paletė
  • CAXIS – spalvų paletės ir ašių mastelio atitikimo nustatymas SHADING – paviršių šešėliavimas
  • CONTOURC – lygių linijų aprašymų masyvo formavimas

CONTOUR – lygių linijų vaizdas

  • trimatis paviršius
  • CONTOUR3 - trimačių lygių linijų vaizdas
  • Grafikos užrašai ir paaiškinimai
  • TITLE – dviejų ir trimačių grafikų pavadinimai
  • XLABEL, YLABEL, ZLABEL - ašių žymėjimas
  • CLABEL - lygio linijos žymėjimas
  • TEKSTAS – teksto įtraukimas į esamą diagramą

GTEXT – pelės pagalba patalpina nurodytą tekstą diagramoje

Specialioje grafikos dalyje yra grafinės komandos ir funkcijos, skirtos juostinėms diagramoms, histogramoms, vektoriniams braižytuvams ir sudėtingi elementai, išvedant atskiras duomenų sekas, taip pat judančias dvimatės ir trimatės grafikos trajektorijas. Šis skyrius gavo savo tolesnė plėtra MATLAB 5.0 sistemos versijoje, kur patobulinti ir gerokai išplėsti specialūs grafiniai įrankiai.

MATLAB turi išskirtinai galingą sistemą, leidžiančią kurti įvairius 2D ir 3D grafikus, taip pat juos tinkinti, redaguoti ir formatuoti. MATLAB diagramų tipai ir potipiai yra labai įvairūs. 2D grafikos funkcijų sąrašą galima gauti naudojant komandąpadėti2 grafiką d 2D grafikos funkcijų sąrašą galima gauti naudojant komandąpadėti3 grafiką.

, trimatis – Grafikai rodomi atskiruose grafiniuose languose naudojant peržiūros komandąfigūra () n figūra (, Kur – grafinis lango numeris. Viename grafike galite nubraižyti kelias kreives, kurios skiriasi spalva ir linijų bei taškų tipais. Grafikus galima nukopijuoti ir įklijuoti į kitas programas: Word, Excel, PowerPoint ir kt. Norėdami tai padaryti, naudokite komandą/ Redaguoti Kopijuoti Paveikslas

grafiniai langai.

Dažniausiai naudojamos komandos braižant diagramas

plot(t,y) % Tolydžios funkcijos y(t) grafikas

plot(x1, y1, x2, y2) % y1 ir x1 ir y2 ir x1 grafikai kamienas(x,y) %grafikas diskreti funkcija

(signalas)y(x)

laiptai(x,y) % Pakopų linijos grafikas

loglog(f,Y) %grafikas su logaritminėmis skalėmis x ir y

semilogx(f,Y) % Logaritminė skalė x ir tiesinė x

polar(phi,r) % Grafikas polinėmis koordinatėmis

title('pavadinimas') % Rodo diagramos pavadinimą

xlabel('time') % x ašies etiketė

ylabel (‘Įtampa’) % ašies etiketė

legenda('Sistemos dažnio atsakas') % Rodo aiškinamąjį tekstą

axis() % Skalių nustatymas išilgai x ir y ašių

xlim() % Nustatykite x ašies skalę

Grafikai rodomi atskiruose grafiniuose languose naudojant peržiūros komandą figūra ( ylim() % Skalės nustatymas išilgai y ašies figūra () % Nustato figūrą (langą)

aktyvus subplot (, r, figūra ( c subplot ( * r) % Padalija grafikos langą į slenkstis ir dalis ( rcn figūra ( ) % nustato papildomą langą

kaip aktyvus.

gridon% prideda tinklelį prie diagramos

holdon% leidžia nubrėžti kelis grafikus lange

holdoff% atšaukia dabartinės diagramos laikymą

text% leidžia dėti tekstą diagramoje

zoomon/off% įjungti/išjungti galimybę padidinti diagramos fragmentų % naudojant

% kairiojo ir dešiniojo pelės mygtukų

Paprasti pavyzdžiai:

>> x=0:0.01:2*pi;

>> y=sin(x); Funkcijos priklausomybės grafiko braižymas y iš masyvo indekso (elemento numeris)

x

Priklausomybės y(x) braižymas

>>plot(x,y) Kelios funkcijos argumentų poros leidžia nubraižyti kelis grafikus viename grafiniame lange. Tokiu atveju MATLAB kiekvienam grafikui naudoja atskirą linijos spalvą.

Pavyzdys.

>> x = 0:pi/100:2*pi;

>> y = sin(x);

>>y2 = sin(x-.5);

>>y3 = sin(x+.5);

>>plot(x,y,x,y2,x,y3)

>> legenda("sin(x)","sin(x-.5)","sin(x+.5)")

Spalva, linijos tipas ir taškų žymėjimas (tipas) yra funkcijos argumentai sklypas, atitinkamą pagalbos informaciją galima gauti naudojant pagalbos komandą padėti sklypas .

Norėdami padalinti grafinį langą į sublangus, naudokite komandą plotis(m,n,p) arba plot (mnp), kuriame m- eilučių skaičius, figūra (- stulpelių skaičius, p- polangio numeris. Funkcijos brėžimo pavyzdys
dviejuose sublanguose naudojant funkciją sklypas() vienu atveju ir funkcijos stiebas() kitoje su skirtingomis ribomis išilgai argumento ašies (7 pav.):

t=linspace(0, 8, 401); % skaičiavimas iš 402 taškų intervale

x = t.*exp(-t).*cos(2*pi*4*t);

ašis ()

Kitas pavyzdys

Fs = 1024; % Imties dažnis

f1=50; % harmoninis dažnis

N = 512; % signalo pavyzdžių skaičius

t = 0:1/Fs:(N-1)/Fs;

% laiko vektorius

% signalo generavimas

x=cos(2*pi*f1*t)+0,5*cos(2*pi*f2*t)+randn(1,ilgis(t));

plot(t,x), tinklelio % signalo diagrama

pavadinimas ("Signalas")

xlabel ("Laikas, s") laikykite Norėdami pridėti grafikus prie esamų, naudokite komandą

įjungta

x1=sin(2*pi*4*t);

x2=cos(2*pi*4*t);

plot(t,x1+x2, "--b")

legenda("x1=sin(2*pi*4*t)", "x2=cos(2*pi*4*t)","x1+x2") laikykite Norėdami pridėti grafikus prie esamų, naudokite komandą Norėdami atšaukti veiksmą laikykite (atleiskite grafikos langą) naudokite.

Pavyzdys išjungti

grafiko konstravimas polinėje koordinačių sistemoje

>> t=0:pi/100:2*pi;

>> polinis (t, cos (6*t))

MATLAB grafiniame lange meniu arba įrankių juosta galite atlikti įvairius grafinio lango ir jo objektų nustatymus (9 pav.).

Redagavimo lange arba kontekstiniame meniu dešiniuoju pelės mygtuku atliekami reikiami grafinio lango objekto nustatymai (spalva, dydis, tipas, linijos storis ir kt.).

Tokių interaktyvių grafikos nustatymų galimybės yra labai plačios. Visų pirma, juos pateikia mygtukas Redaguoti brėžinį lango įrankių juostoje.

Trimatė grafika MATLAB yra labai išvystyta ir įvairi, pati savaime labai svarbi programos dalis, tačiau Signalų ir sistemų kursuose ji naudojama retai.

Kai kurios 3D braižymo komandos

>> plot3(...) % atvaizduoja aksonometrinį 3D paviršiaus vaizdą

>> tinklelio (…) % sukuria 3D paviršius su nurodytais

Pavyzdys.

% dažymas

>> =tinklelis([-3:0.1:3]);

>> Z=X.^2+Y.^2;

>> tinklelis (X, Y, Z)
.

Antros eilės sistemos perdavimo funkcijos su perdavimo funkcija vaizdavimo pavyzdys

Sistemos nuliai ir poliai:

H=(s+0)./((s+1).^2+1);

tinklelis (x, y, abs (H))

Funkciją rodyti kaip lentelę patogu, jei funkcijos reikšmių yra palyginti nedaug. Tarkime, kad komandų lange norite rodyti funkcijų reikšmių lentelę

0,2, 0,3, 0,5, 0,8, 1,3, 1,7, 2,5 taškuose.
Problema sprendžiama dviem etapais.
1. Sukuriamas eilutės vektorius X, kuriame yra nurodytų taškų koordinatės.
2. Apskaičiuojamos funkcijos reikšmės Funkcijos priklausomybės grafiko braižymas(X)iš kiekvieno vektoriaus elemento X ir gautos reikšmės įrašomos į eilutės vektorių u.
Funkcijų reikšmės turi būti rastos kiekvienam eilutės vektoriaus elementui X, todėl funkcijos išraiškoje turi būti atliekamos operacijos elementas po elemento.

"x =
x =
0,2000 0,3000 0,5000 0,8000 1,3000 1,7000 2,5000 » y = sin(x).^2./(l+cos(x))+exp(-x).*log(x)
Y =

Atkreipkite dėmesį, kad kai bandote naudoti eksponencijos ^, dalybos / ir daugybos * operacijas (kurios nėra elementų atžvilgiu), kai sin(x) yra kvadratas, rodomas klaidos pranešimas:

» y = sin(x)^2/(1+cos(x))+exp(-x)*log(x)
??? Klaida naudojant ==> ^
Matrica turi būti kvadratinė.

Faktas yra tas, kad MatLab operacijos * ir ^ yra naudojamos padauginti atitinkamo dydžio matricas ir pakelti kvadratinę matricą į laipsnį.
Lentelę galima padaryti skaitomesnę, funkcijų reikšmes įdėjus tiesiai po argumentų reikšmėmis:

"X
x =
0,2000 0,3000 0,5000 0,8000 1,3000 1,7000 2,5000 » y
y =
-1.2978 -0.8473 -0.2980 0.2030 0.8040 1.2258 1.8764

Dažnai funkcijos reikšmę reikia rodyti segmento taškuose, kurie yra nutolę vienas nuo kito. vienodas atstumas(žingsnis). Tarkime, kad reikia rodyti funkcijų reikšmių lentelę Funkcijos priklausomybės grafiko braižymas(X) atkarpoje, kurios žingsnis yra 0,2. Žinoma, galite įvesti argumentų reikšmių eilutės vektorių x= iš komandinės eilutės ir apskaičiuokite visas funkcijų reikšmes, kaip aprašyta aukščiau. Tačiau jei žingsnis yra ne 0,2, o, pavyzdžiui, 0,01, tada belieka daug darbo įvesti vektorių X.
„MatLab“ leidžia lengvai sukurti vektorius, kurių kiekvienas elementas skiriasi nuo ankstesnio pastovią vertę, t.y. vienas žingsnis. Norėdami įvesti tokius vektorius, naudokite dvitaškį (nepainiokite su indeksavimu naudojant dvitaškį). Kiti du operatoriai veda prie identiškų eilučių vektorių formavimo. Tradiciškai mes galime rašyti

"x =
x =
"x =
x =
1.0000 1.2000 1.4000 1.6000 1.8000 2.0000

Tradiciškai mes galime rašyti

x = [ pradinė vertė:step: galutinė vertė]

Nebūtina užtikrinti, kad priešpaskutinės žingsnio vertės suma būtų lygi galutinei vertei, pavyzdžiui, vykdant kitą priskyrimo operatorių

"x =
x =
1.0000 1.2000 1.4000 1.6000 1.8000

Eilutės vektorius bus užpildytas iki elemento, kuris neviršija galutinės mūsų apibrėžtos reikšmės. Žingsnis taip pat gali būti neigiamas:

"x =
x =
1.9000 1.7000 1.5000 1.3000 1.1000

Esant neigiamam žingsniui, norint gauti netuščios eilutės vektorių, pradinė reikšmė turi būti didesnė už galutinę reikšmę.
Norėdami užpildyti stulpelio vektorių elementais, prasidedančiais nuo nulio ir baigiant 0,5 0,1 žingsniais, užpildykite eilutės vektorių ir naudokite perkėlimo operaciją:

"x ="
x =
0
0.1000
0.2000
0.3000
0.4000
0.5000

Atkreipkite dėmesį, kad vektoriaus, užpildyto dvitaškiu, elementai gali būti tikri, todėl perkėlimui galite naudoti apostrofą, o ne tašką su apostrofu.
Žingsnis, lygus vienam, gali būti nenurodytas pildant automatiškai:

"x =
x =
1 2 3 4 5

Tarkime, kad norite rodyti funkcijų reikšmių lentelę

atkarpoje, kurios žingsnis yra 0,05,
Norėdami atlikti šią užduotį, turite atlikti šiuos veiksmus:
1. Sugeneruokite eilutės vektorių X naudojant dvitaškį.
2. Apskaičiuokite reikšmes adresu(X)iš elementų X.
3. Įrašykite rezultatą į eilutės vektorių y.
4. Atsitraukti X Ir u.

"x = ;
» y = exp(-x).*sin(10*x);
"X
x =
1–7 stulpeliai
О 0,0500 0,1000 0,1500 0,2000 0,2500 0,3000
8–14 stulpeliai
0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500
15–21 stulpeliai
0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000
» y
Y =
1–7 stulpeliai
0 0.4560 0.7614 0.8586 0.7445 0.4661 0.1045
8–14 stulpeliai
-0.2472 -0.5073 -0.6233 -0.5816 -0.4071 -0.1533 0.1123
15–21 stulpeliai
0.3262 0.4431 0.4445 0.3413 0.1676 -0.0291 -0.2001

Eilučių vektoriai x ir y susideda iš dvidešimt vieno elemento ir netelpa ekrane vienoje eilutėje, todėl rodomi dalimis. Nes X Ir Funkcijos priklausomybės grafiko braižymas saugomi dvimačiuose masyvuose, kurių matmenys yra vienas po dvidešimt vieno, jie rodomi stulpeliuose, kurių kiekvienas susideda iš vieno elemento. Pirmiausia rodomi stulpeliai nuo vieno iki septynių (nuo 1 iki 7 stulpelių), tada nuo aštuonių iki keturiolikos stulpelių (nuo 8 iki 14 stulpelių) ir galiausiai nuo penkiolikos iki dvidešimt vieno (nuo 15 iki 21 stulpeliai). Tai vizualiau ir patogiau grafinis vaizdavimas funkcijas.

2. Vieno kintamojo funkcijos grafikas

2.1. Funkcijų grafikai tiesine skale

„MatLab“ turi gerai išvystytas grafines duomenų vizualizavimo galimybes. Pirmiausia apsvarstykime, kaip sukurti paprasčiausią vieno kintamojo funkcijos grafiką, naudojant funkcijos pavyzdį

,

apibrėžta segmente. Funkcijos išvestis grafiko pavidalu susideda iš šių veiksmų:
1. Argumentų reikšmių vektoriaus nurodymas X.
2. Vektorių skaičiavimas adresu funkcijų reikšmės Funkcijos priklausomybės grafiko braižymas(X).
3. Norėdami nubraižyti grafiką, iškvieskite komandą plot.
Komandos vektoriui nurodyti X o funkcijų skaičiavimus geriau užbaigti kabliataškiu, kad būtų slopinamas jų reikšmių išvedimas į komandų langą (nebūtina dėti kabliataškio po komandos plot, nes ji nieko neišveda į komandų langą).

"x = ;
» y = exp(-x).*sin(10*x);
» sklypas (x, y)

Įvykdžius komandas, ekrane pasirodo langas Kopijuoti Nr. 1 su funkcijos grafiku. Lange yra meniu, įrankių juosta ir grafiko sritis. Toliau bus aprašytos komandos, specialiai sukurtos braižymui. Dabar mus domina grafikų braižymo principas ir keletas paprasčiausių funkcijų vizualizavimo galimybių.
Norėdami nubraižyti funkcijų grafiką darbo aplinka Pavyzdžiui, MatLab turi būti apibrėžti du to paties matmens vektoriai X Ir u. Atitinkamame masyve x yra argumentų reikšmės, o y yra funkcijos reikšmės iš šių argumentų. Sklypo komanda sujungia taškus su koordinatėmis (x(i), y(i)) su tiesiomis linijomis, automatiškai pakeisdama ašių mastelį, kad brėžinys būtų optimaliai išdėstytas lange. Konstruojant grafikus, ekrane patogu pagrindinį MatLab langą ir langą su grafiku dėti vienas šalia kito, kad jie nesutaptų.
Sudarytas funkcijos grafikas turi kinkų. Norint tiksliau nubraižyti grafiką, reikia apskaičiuoti funkciją Funkcijos priklausomybės grafiko braižymas(X) V daugiau taškai atkarpoje, t.y. nustatykite mažesnį žingsnį įvesdami vektorių X:

"x = ;
» y = exp(-x).*sin(10*x);
» sklypas (x, y)

Rezultatas yra funkcijos grafikas sklandesnės kreivės pavidalu.
Patogu palyginti kelias funkcijas, rodant jų grafikus tose pačiose ašyse. Pavyzdžiui, sukurkime funkcijų grafikus intervale [-1, -0,3]
,

naudojant šią komandų seką:

"x = [-1:0,005:-0,3];
» f = sin(x.^-2);
» g = sin(1,2*x.^-2);
» sklypas (x, f, x, g)

Funkcijos neturi būti apibrėžtos tame pačiame segmente. Šiuo atveju, kurdama grafikus, MatLab pasirenka maksimalų segmentą, kuriame yra likusi dalis. Svarbu tik kiekvienoje abscisių ir ordinačių vektorių poroje nurodyti vienas kitą atitinkančius vektorius, pavyzdžiui:

"x1 = [-1:0,005:-0,3];
» f = sin(x1.^-2);
"x2 = [-1:0,005:0,3];
» g = sin(1,2*x2,^-2);
» sklypas (x1, f, x2, g)

Panašiai nurodant brėžinyje, atskiriant kableliais, sudaromos formos argumentų poros: abscisių vektorius, ordinačių vektorius, grafikai. bet koks skaičius funkcijas.

1 pastaba

Naudojant plotą su vienu argumentu – vektoriumi – susidaro „vektoriaus sklypas“, t.y. vektorinių elementų reikšmių priklausomybė nuo jų skaičių. Grafiko argumentas taip pat gali būti matrica, šiuo atveju stulpelių grafikai rodomi tose pačiose koordinačių ašyse.
Kartais reikia palyginti dviejų funkcijų, kurių reikšmės labai skiriasi viena nuo kitos, elgesį. Funkcijos su mažomis reikšmėmis grafikas praktiškai susilieja su x ašimi ir jos išvaizda negali būti nustatyta. Šioje situacijoje padeda plotyy funkcija, kuri rodo grafikus lange su dviem vertikalios ašys, turintys tinkamą skalę.
Palyginkite, pavyzdžiui, dvi funkcijas: ir

"x = ;
» f = x.^-3;
"F = 1000*(x+0,5).^-4;
» siužetas (x, f, x, F)

Vykdydami šį pavyzdį atkreipkite dėmesį, kad grafiko spalva sutampa su atitinkamos y ašies spalva.
Grafiko funkcija abiem atvejais naudoja linijinę skalę koordinačių ašys. Tačiau „MatLab“ suteikia vartotojui galimybę brėžti vieno kintamojo funkcijas logaritminėje arba pusiau logaritminėje skalėje.

2.2. Funkcijų grafikai logaritminėse skalėse

Norėdami braižyti grafikus logaritminėmis ir pusiau logaritminėmis skalėmis, naudokite šias funkcijas:
- loglogas (logaritminė skalė ant abiejų ašių);
- semilogx (logaritminė skalė tik išilgai abscisių ašies);
-semiologija (logaritminė skalė tik ordinatėje).

Argumentai loglog, semilogx ir semilogy nurodomi kaip abscisių ir ordinačių reikšmių vektorių pora taip pat, kaip ir ankstesnėje pastraipoje aprašytai diagramos funkcijai. Sukurkime, pavyzdžiui, funkcijų grafikus Ir atkarpoje logaritminėje skalėje išilgai ašies X:

"x = ;
» f = log(0,5*x);
» g = sin(log(x));
» semilogx(x, f, x ,g)

2.3. Funkcijų grafikų linijų savybių nustatymas

Sukonstruoti funkcijų grafikai turi būti kuo lengviau suprantami. Dažnai reikia tepti žymeklius, keisti linijų spalvą, o ruošiantis vienspalvei spaudai nustatyti linijos tipą (ištisinis, punktyrinis, brūkšninis ir pan.). „MatLab“ suteikia galimybę valdyti grafikų, sukurtų naudojant plotą, loglogą, semilogx ir semilogiją, išvaizdą, kuriai po kiekvienos vektorių poros įdedamas papildomas argumentas. Šis argumentas yra apostrofose ir susideda iš trijų simbolių, nurodančių: spalvą, žymeklio tipą ir linijos tipą. Priklausomai nuo reikalingų pakeitimų, naudojama viena, dvi arba trys pozicijos. Lentelėje parodyta galimas vertes pateiktas argumentas, nurodantis rezultatą.

Žymeklio tipas

Linijos tipas

kietas

taškuotas

brūkšneliais

pliuso ženklas

punktyriškai

žvaigždė

Nukreiptas trikampis

Trikampio taškas aukštyn

Trikampis, nukreiptas į kairę

trikampis, nukreiptas į dešinę

penkiakampė žvaigždė

šešiakampė žvaigždė

Jei, pavyzdžiui, reikia nubraižyti pirmąjį grafiką su raudonais taškiniais žymekliais be linijos, o antrąjį grafiką su juoda punktyrine linija, tuomet naudokite komandą plot(x, f, "r.", x, g , „k:“).

2.4. Funkcijų grafikų projektavimas

Grafikų naudojimo paprastumas daugiausia priklauso nuo papildomų dizaino elementų: tinklelio, ašių etikečių, pavadinimo ir legendos. Tinklelis taikomas grid on komanda, ašių etiketės dedamos naudojant xlabel, ylabel, pavadinimas suteikiamas su komanda title. Jei tose pačiose ašyse yra keletas grafikų, reikia įdėti legendą su legendos komanda su informacija apie linijas. Visos išvardytos komandos taikomos tiek tiesinės, tiek logaritminės, tiek pusiau logaritminės skalės grafikams. Šios komandos rodo dienos temperatūros pokyčių grafikus, kuriuose pateikiama visa reikalinga informacija.

" laikas = ;
" temp1 = ;
" temp2 = ;
» plot(laikas, temp1, "ro-", laikas, temp2, "go-")
» tinklelis įjungtas
» title ("Dienos temperatūra")
» xlabel("Laikas (valanda)")
» ylabel ("Temperatūra (C)")
» legenda („gegužės 10 d., gegužės 11 d.“)

Pridėdami legendą, atminkite, kad legendos komandos argumentų tvarka ir skaičius turi atitikti diagramos eilutes. Paskutinis papildomas argumentas gali būti legendos padėtis grafiniame lange:

* -1 – už grafiko ribų dešinėje viršutinis kampas grafinis langas;
* 0 – geriausia vieta grafike parenkama taip, kad patys grafikai kuo mažiau persidengtų;
* 1 - viršutiniame dešiniajame diagramos kampe (ši padėtis naudojama pagal numatytuosius nustatymus);
* 2 - viršutiniame kairiajame grafiko kampe;
* 3 - apatiniame kairiajame grafiko kampe;
* 4 - apatiniame dešiniajame grafiko kampe.

Diagramos pavadinime, legendoje ir ašies etiketėse galite pridėti formulių ir keisti šriftų stilius naudodami TeX formatą.
„MatLab“ rodo grafikus skirtingomis spalvomis. Vienspalvis spausdintuvas spausdins skirtingų pilkų atspalvių grafiką, o tai ne visada patogu. Sklypo komanda leidžia lengvai nustatyti, pavyzdžiui, linijos stilių ir spalvą

» plot(x,f,"k-",x,g,"k:")

sukonstruoja pirmąjį grafiką su vientisa juoda linija, o antrąjį su juoda punktyrine linija. Argumentai „k-“ ir „k:“ nurodo pirmosios ir antrosios eilučių stilių ir spalvą. Čia k reiškia juodą, o brūkšnelis arba dvitaškis reiškia ištisinę arba punktyrinę liniją. Grafiko langą galima uždaryti paspaudus mygtuką su kryželiu viršutiniame dešiniajame kampe.

3. Dviejų kintamųjų funkcijų grafikų braižymas

Dviejų kintamųjų funkcijos nubrėžimas MatLab stačiakampėje kintamųjų apibrėžimo srityje apima du preliminarūs etapai:
1. Apibrėžimo srities padalijimas stačiakampiu tinkleliu.
2. Apskaičiuokite funkcijų reikšmes tinklelio linijų susikirtimo taškuose ir įrašykite jas į matricą.
Nubraižykime funkciją z(iš masyvo indekso (elemento numeris),adresu)= X 2 + adresu 2 apibrėžimo srityje kvadrato pavidalu X priklauso Funkcijos priklausomybės grafiko braižymas- . Būtina padalyti kvadratą vienoda tinkleliu (pavyzdžiui, žingsniu 0,2) ir apskaičiuoti funkcijų reikšmes taškais pažymėtuose mazguose.
Informacijos apie mazgų koordinates saugojimui patogu naudoti dvi dvimates x ir y, šešių x šešių dydžio matricas. X masyvas susideda iš identiškų eilučių, kuriose yra koordinatės iš masyvo indekso (elemento numeris) 1, X 2, ..., X 6 ir masyvas adresu yra identiškų stulpelių su y1, adresu 2, ..., adresu 6. Funkcijų reikšmes tinklelio mazguose įrašome į tokio paties dydžio (6 x 6) masyvą z ir apskaičiuojame matricą Z funkcijai naudokite išraišką, bet su elementas po elemento matricos operacijos. Tada, pavyzdžiui z(3.4) bus tiksliai lygus funkcijos reikšmei z(x,y) taške (x3, adresu 4). Norėdami sukurti tinklelio masyvus X Ir adresu Naudojant mazgų koordinates, MatLab suteikia tinklelio funkciją grafui sudaryti vielinio rėmo paviršiaus pavidalu, naudojama tinklelio funkcija. Dėl šių teiginių ekrane atsiranda langas su funkcijų grafiku (teiginių pabaigoje kabliataškis nededamas, kad būtų galima valdyti masyvų generavimą):

" = tinklelis (0: 0,2: 1, 0: 0,2: 1)
X =

0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
y =
0 0 0 0 0 0
0.2000 0.2000 0.2000 0.2000 0.2000 0.2000
0.4000 0.4000 0.4000 0.4000 0.4000 0.4000
0.6000 0.6000 0.6000 0.6000 0.6000 0.6000
0.8000 0.8000 0.8000 0.8000 0.8000 0.8000
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

» Z = X.^2+Y.^2

Z=
0 0.0400 0.1600 0.3600 0.6400 1.0000
0.0400 0.0800 0.2000 0.4000 0.6800 1.0400
0.1600 0.2000 0.3200 0.5200 0.8000 1.1600
0.3600 0.4000 0.5200 0.7200 1.0000 1.3600
0.6400 0.6800 0.8000 1.0000 1.2800 1.6400
1.0000 1.0400 1.1600 1.3600 1.6400 2.0000

Kokius trūkumus turi sudarytas grafikas? Ir kaip juos pašalinti? Sudarytas grafikas ir naujasis turi būti įtraukti į elektroninės laboratorijos ataskaitą.

„MatLab“ leidžia piešti papildomos informacijos, ypač spalvų derinimas su funkcijų reikšmėmis. Tinklelis generuojamas naudojant meshgrid komandą, iškviečiamą su dviem argumentais. Argumentai yra vektoriai, kurių elementai atitinka tinklelį stačiakampėje srityje, kurioje funkcija sukonstruota. Galima naudoti vieną argumentą, jei funkcijos konstrukcijos plotas yra kvadratas. Norėdami įvertinti funkciją, turėtumėte naudoti operacijas pagal elementus .

Panagrinėkime pagrindines MatLab teikiamas galimybes vizualizuoti dviejų kintamųjų funkcijas, naudodamiesi funkcijos braižymo pavyzdžiu.

stačiakampio apibrėžimo srityje X priklauso [-1, 1], Funkcijos priklausomybės grafiko braižymas .
Paruoškime matricas su tinklelio mazgų koordinatėmis ir funkcijų reikšmėmis:

" = tinklelis (-1: 0,05: 1, 0: 0,05: 1);
» Z = 4*sin(2*pi*X).*cos(1,5*pi*Y).*(1-X.^2).*Y.*(1-Y);

Norėdami sukurti vielinio rėmo paviršių, naudokite tinklelio funkciją, vadinamą trimis argumentais:

Paviršiaus linijų spalva atitinka funkcijos reikšmes. MatLab tik piešia matoma dalis paviršiai.

Naudojant komandą paslėptas Rėmo paviršių galite padaryti „skaidrų“ pridėję paslėptą dalį. Paslėpta komanda pašalina nematomą paviršiaus dalį, grąžindama grafikos ankstesnę išvaizdą.

Funkcija naršyti sukuria funkcijos grafiko vielinį rėmelį ir užpildo kiekvieną paviršiaus langelį tam tikra spalva, priklausomai nuo funkcijos reikšmių taškuose, atitinkančiuose langelio kampus. Kiekvienoje ląstelėje spalva yra pastovi. Peržiūrėkite komandos vykdymo rezultatus

Komanda šešėliavimas plokščias leidžia pašalinti rėmo linijas. Norėdami gauti paviršių, sklandžiai užpildytą spalva, atsižvelgiant į funkcijos reikšmes, naudokite šešėlių interp komandą.
Su briaunuotu šešėliavimu galite grįžti į paviršių su vielinio rėmo linijomis.
Aukščiau aprašytomis komandomis sukurti 3D brėžiniai yra naudingi norint susidaryti supratimą apie paviršiaus formą, tačiau sunku įvertinti funkcijos reikšmes. „MatLab“ apibrėžia spalvų juostos komandą, kuri šalia grafiko rodo juostą, kuri nustato spalvos ir funkcijos reikšmės atitikimą. Naudodami naršymą, sukurkite paviršiaus grafiką ir papildykite jį spalvų informacija.

» naršyti (X,Y,Z)
» spalvų juosta

Spalvų juostos komandą galima naudoti kartu su visomis funkcijomis, kurios kuria trimačius objektus.

Naudojant spalvotą paviršių, sunku padaryti išvadą apie funkcijos reikšmę tam tikrame plokštumos taške xy. Komandos meshc arba surfc leidžia tiksliau suprasti funkcijos elgseną. Šios komandos sukuria vielos rėmo paviršių arba spalvotą vielos rėmo paviršių ir pastato jį ant plokštumos. xy funkcijos lygio eilutės (funkcijos reikšmių pastovumo eilutės):

» surfc (X,Y,Z)
» spalvų juosta

„MatLab“ leidžia sukonstruoti paviršių, susidedantį iš lygių linijų, naudojant contour3 funkciją. Šią funkciją galima naudoti taip pat, kaip mesh, surf, meshc ir surfc, aprašytą aukščiau su trimis argumentais. Tokiu atveju lygių eilučių skaičius parenkamas automatiškai. Kaip ketvirtąjį kontūro3 argumentą galima nurodyti lygių linijų skaičių arba vektorių, kurio elementai yra lygūs funkcijų reikšmėms, rodomoms kaip lygio linijos. Nurodyti vektorių (ketvirtąjį argumentų lygius) patogu, kai reikia ištirti funkcijos elgseną tam tikrame jos reikšmių diapazone (funkcijos pjūvis). Pavyzdžiui, sukurkite paviršių, sudarytą iš lygių linijų, atitinkančių funkcijų reikšmes nuo 0 iki 0,5 su žingsniu 0,01:

" lygiai = ;
» kontūras3 (X, Y, Z, lygiai)
» spalvų juosta

4. Dviejų kintamųjų funkcijų kontūrinių grafikų sudarymas

MatLab suteikia galimybę gauti įvairių tipų kontūro brėžiniai naudojant kontūro ir kontūro funkcijas. Pažvelkime į jų galimybes naudodami funkcijos pavyzdį

Naudojant kontūrą su trimis argumentais

» kontūras (X, Y, Z)

gaunamas grafikas, rodantis lygių linijas plokštumoje xy, bet nenurodant skaitinės reikšmės ant jų . Toks grafikas yra neinformatyvus, jis neleidžia sužinoti funkcijos reikšmių kiekvienoje lygio eilutėje. Spalvų juostos komandos naudojimas taip pat neleis tiksliai nustatyti funkcijos reikšmių. Kiekvienoje lygio eilutėje gali būti nurodyta reikšmė, kurią įgyja tiriama funkcija, naudojant funkciją, apibrėžtą MatLab funkcijos clabel. Funkcija „Clabel“ iškviečiama naudojant du argumentus: matrica, kurioje yra informacijos apie lygių linijas, ir žymeklį į grafiką, kuriame reikia taikyti žymes. Vartotojui nereikia pačiam kurti clabel argumentų. Kontūro funkcija, iškviesta dviem išėjimais, ne tik nubrėžia lygių linijas, bet ir suranda klabui reikalingus parametrus. Naudokite kontūrą su išvesties argumentais CMatr ir h (CMatr masyve yra informacija apie lygio linijas, o masyve h yra rodyklės). Užbaikite iškvietimą kontūruoti kabliataškiu, kad nuslopintumėte išvesties reikšmes ir nubrėžtumėte tinklelį:

" = kontūras(X, Y, Z);
» clabel (CMatr, h)
» tinklelis įjungtas

Papildomas kontūro funkcijos argumentas (tas pats, kaip ir aukščiau aprašytas kontūras3) gali būti lygių linijų skaičius arba vektorius, kuriame yra funkcijos reikšmės, kurioms reikia nubrėžti lygio linijas.
Vaizdinė informacija apie funkcijos pasikeitimą pateikiama užpildžius stačiakampį plokštumoje xy spalva, priklausomai nuo funkcijos reikšmės plokštumos taškuose. Tokiems grafikams sudaryti yra skirta kontūro funkcija, kurios naudojimas nesiskiria nuo kontūro naudojimo. Šiame pavyzdyje pateikiamas grafikas, kurį sudaro dvidešimt lygių eilučių, o tarpai tarp jų užpildyti spalvomis, atitinkančiomis tiriamos funkcijos reikšmes:

» kontūras (X, Y, Z, 20)
» spalvų juosta

5. Funkcijų grafikų projektavimas

Paprasta ir efektyviu būdu Keičiant grafiko spalvų schemą, reikia nustatyti spalvų paletę naudojant spalvų žemėlapio funkciją. Toliau pateiktame pavyzdyje parodytas funkcijos grafiko paruošimas spausdinti nespalvotu spausdintuvu naudojant pilką paletę.

» surfc (X, Y, Z)
»spalvų juosta
» spalvų schema (pilka)
» title("Funkcijos z(x,y) grafikas")
» xlabel("x")
» etiketė ("y")
» zlabel ("z")

Atkreipkite dėmesį, kad komanda colormap(grey) pakeičia grafinių langų paletę, t.y. sekančius grafikusšiame lange taip pat bus rodomi pilkais tonais. Norėdami atkurti pradinę paletės vertę, naudokite komandą colormap ("numatytasis"). MatLab prieinamos spalvų paletės pateiktos lentelėje. 2.

2 lentelė


Paletė

Spalvos pasikeitimas

Sklandus pokytis iš raudonos - oranžinės - geltonos spalvos.

Panašus į pilką paletę, bet su švelniu mėlynos spalvos atspalviu.

Kiekviena spalva keičiasi nuo tamsios iki ryškios.

Mėlynos ir violetinės spalvos atspalviai.

Vario spalvos atspalviai.

Ciklinis pasikeitimas raudona - balta - mėlyna - juoda.

Pilkos spalvos atspalviai.

Sklandus pokytis juoda - raudona - oranžinė - geltona - balta.

Sklandžiai keičiasi kaip vaivorykštės spalvos.

Sklandžiai keičiasi mėlyna - mėlyna - raudona - žalia - geltona - raudona.

Panašus į pilką paletę, bet su nedideliu atspalviu rudas

Ciklinis pasikeitimas raudona - oranžinė - geltona - žalia - mėlyna - violetinė.

Violetinės ir geltonos spalvos atspalviai.

Žalios ir geltonos spalvos atspalviai.

Šešiolikos spalvų langų paletė.

Viena balta spalva.

Mėlynos ir žalios spalvos atspalviai.

6. Kelių grafikų atvaizdavimas tose pačiose ašyse

Norint parodyti kelis vieno kintamojo funkcijų grafikus tose pačiose ašyse, buvo panaudotos funkcijų galimybės siužetas, plotyy, semilogx, semilogija, loglogas. Jie leidžia nubrėžti kelias funkcijas, poromis nurodant atitinkamus vektorinius argumentus, pvz., plot(x,f,x,g). Tačiau jie negali būti naudojami 3D grafikų derinimui. Norint sujungti tokius grafikus, yra skirta palaikymo komanda, kuri turi būti nurodyta prieš braižant. Toliau pateiktame pavyzdyje sujungus du grafikus (plokštumą ir kūgį) susidaro jų susikirtimas. Kūgis parametriškai nurodomas tokiomis priklausomybėmis:

, , , .

Norėdami grafiškai parodyti kūgį, pirmiausia turite sugeneruoti stulpelio vektorių ir eilutės vektorių naudodami dvitaškį, kuriame būtų nurodyto intervalo parametrų reikšmės (svarbu, kad tu M. Stulpelio vektorius ir eilutės vektorius yra matricos, kurių vienas iš matmenų yra lygus vienetui. Tiesą sakant, SU = abT, kur daugyba vyksta pagal taisyklę matricos produktas. Norint apskaičiuoti matricos sandaugą MatLab, naudojamas žvaigždutės operatorius. Apibrėžkime dviejų vektorių išorinę sandaugą:

" a = ;
"b = ;
"C = a*b"
C=
5 6 7
10 12 14
15 18 21

Sudarykime matricas X,Y, būtinas grafiniam kūgio atvaizdavimui:

» X = 0,3*u*cos(v);
» Y = 0,3*u*sin(v);

Matrica Z turi būti tokio pat dydžio kaip matricos X Ir Y. Be to, jame turi būti reikšmės, atitinkančios parametrų reikšmes. Jei funkcija apėmė produktą Ir Ir v, tada matrica Z galima pildyti panašiai kaip matricas X Ir Y naudojant išorinį produktą. Kita vertus, funkcija z(u, v) gali būti pavaizduotas forma , kur . Todėl norint apskaičiuoti Z galima taikyti išorinę vektorių sandaugą ir , kur eilutės vektorius turi tokį patį matmenį kaip v, bet susideda iš vienetų:

» Z = 0,6*u*vienos(dydis(v));

Sukurtos visos reikalingos matricos kūgiui atvaizduoti. Lėktuvas nurodomas taip:

" = tinklelis (-2:0,1:2);
» Z = 0,5*X+0,4*Y;

Dabar nesunku užrašyti visą susikertančio kūgio ir plokštumos konstravimo komandų seką:

"u = [-2*pi:0.1*pi:2*pi]";
» v = [-2*pi:0.1*pi:2*pi];
» X = 0,3*u*cos(v);
» Y = 0,3*u*sin(v);
» Z = 0,6*u*vienos (dydis (v));
» naršyti (X, Y, Z)
" = tinklelis (-2:0,1:2);
» Z = 0,5*X+0,4*Y;
"laikykis"
» tinklelis (X, Y, Z)
» paslėptas

Paslėpta išjungimo komanda naudojama norint parodyti kūgio dalį, esančią po plokštuma.
Atminkite, kad palaikymo komanda taikoma visoms paskesnėms grafiko išvestims dabartinis langas. Norėdami įdėti grafikus į naujus langus, naudokite komandą sulaikymo išjungimas. „Hold on“ komanda taip pat gali būti naudojama norint išdėstyti kelis vieno kintamojo funkcijų grafikus, pavyzdžiui,

» sklypas (x, f, x, g)

yra lygiavertis sekai

» sklypas (x, f)
"laikykis"
» plotas(x,g)

Darbo rezultatai, kuriuos gavau:



Ar jums patiko straipsnis? Pasidalinkite su draugais!