Hvordan du kaller en funksjon i matlab

Hvordan du kaller en funksjon i matlab
Å kjenne strukturen, inngangene, utgangene og kontrollflaggene for hver funksjon vi bruker i programmet vårt, enten det er i MATLAB eller et annet programmeringsspråk, gjør en forskjell i kvaliteten og mengden av koden.

Denne Linux -hint -artikkelen forklarer funksjonssamtaler, deres struktur og inngangs- og utgangsargumenter i MATLAB.

Deretter vil vi se på noen praktiske eksempler med forskjellige funksjoner. Vi vil legge til fragmenter og kodebilder som viser de forskjellige funksjonsmåtene som ringer i MATLAB -miljøet.

Hva er en funksjon i matlab?

En funksjon er et fragment av kode. Når en funksjon kalles, hopper programstrømmen inn i den koden, utfører den ved å utføre en spesifikk oppgave eller databehandling, og går deretter tilbake med et resultat til følgende kodelinje som funksjonen ble kalt. Disse kodene kan være en del av Matlabs omfattende bibliotek, men vi kan også opprette funksjonsbibliotekene våre.

En funksjon er delt inn i navn, inngangsargumenter og utgangsargumenter. Følgende er strukturen eller syntaks for en funksjon i MATLAB:

Utgangsargumenter = navn (inngangsargumenter);

Nedenfor beskriver vi hva hver av disse delene som utgjør strukturen til en funksjon handler om:

Navn: Navnet på funksjonen og den pleide å kalle den.

(Inngangsargumenter): Dette er dataene som sendes når funksjonen kalles. Disse dataene kan være skalare matriser, vektorer, 2D og flerdimensjonale eller vektorcellematriser. De kan også kontrollere flagg av funksjonens forskjellige alternativer for behandling av input eller utgangsdata.

Inngangsargumentene skal alltid lukkes i parenteser, som vist nedenfor:

Navn (Input Arguments);

I tilfeller der det er mer enn ett inngangsargument, må de skilles av komma og spesifiseres i den rekkefølgen gitt av syntaks for den respektive funksjonen.

output = name (input-argumenter, input-argument)

Utgangsargumenter: Dette er resultatene som funksjonen kommer tilbake når den kommer tilbake fra samtalen. Disse utgangsargumentene kan være i form av skalarer, vektorer, 2D og flerdimensjonale matriser. I tilfeller der utgangsargumentene er mer enn ett, må de være vedlagt i firkantede parenteser og atskilt med komma, som vist i følgende syntaks:

[Output-Arguments, Output-Arguments… n] = Navn (Input-Arguments).

Ringfunksjoner fra Matlab -kommandokonsollen

Kommandokonsollen til Matlab -miljøet lar oss ringe funksjoner derfra. Så det er en utmerket ressurs for å lære å bruke og ringe funksjoner fordi vi kan kjøre kode derfra og se resultatene i sanntid. Følgende bilde viser dette verktøyet som utfører funksjoner og viser utdataene deres i MATLAB:

Hvordan du kaller en funksjon i matlab

For å kalle en funksjon, må vi skrive i en kodelinje i følgende rekkefølge, Output -argument, etterfulgt av “=” -tegnet, funksjonsnavnet og deretter inngangsargumentene i parenteser.

Når vi ønsker å bruke en funksjon, må vi være tydelige på hva den gjør, hvilke data vi ønsker å behandle, og hvor vi vil lagre resultatene. Nedenfor ser vi noen eksempler på å kalle forskjellige funksjoner.

Hvordan ringe funksjoner, behandle data og se resulterer i MATLAB

De mest brukte funksjonene i MATLAB er de som er sendt med data og returnerer et resultat. I dette eksemplet kaller vi funksjonen “SQRT ()”, som returnerer kvadratroten til “X” i “A”, som i dette tilfellet er en skalar som vi opprettet tidligere og tildeler en vilkårlig verdi til. Nedenfor kan du se kodebiten for dette:

x = 9;
a = sqrt (x)

Kopier og lim inn dette utdraget i et skript eller en kommandolinje. Når du kjører den, oppretter du skalaren "X" og ring SQRT () -funksjonen med "X" som input og "A" som utgang. Resultatet kan sees i Matlab -konsollen.

I det følgende utdraget er inngangen "X" for SQRT () resultatet av funksjonen "Randi ()". Denne funksjonen returnerer en tilfeldig verdi i tallområdet som er spesifisert i inngangsargumentet, som i dette eksemplet er 100.

x = randi (100)
a = sqrt (x)

Resultatet er en tilfeldig verdi i “x” og kvadratroten til denne verdien i “A”.

Hvordan hekkefunksjoner eller operasjoner i inngangsargumenter med MATLAB

Hvis inngangsargumentene til en funksjon er resultatet av et uttrykk eller funksjon, kan du hekke disse argumentene. Følgende er koden fra forrige eksempel, men med Randi () -funksjonen som er hekket innenfor argumentene til SQRT ():

a = sqrt (randi (100))

Funksjonen forutsetter at inngangsargumentet er resultatet av den nestede funksjonen. Det samme er tilfelle for noen form for uttrykk.

Følgende utdrag viser at inngangsargumentet til SQRT () er resultatet av et nestet uttrykk:

B = 2;
C = 7;
a = sqrt ((b + c))

Ringerfunksjoner fra uttrykket av en betinget

I MATLAB er det også mulig å kalle en funksjon fra et betinget uttrykk, og resultatet er tilstanden. Dette er like praktisk som hekkefunksjoner fordi det sparer kodelinjer og øker lesbarheten. Her er et eksempel der vi bruker tilstanden “hvis”, og tilstanden er resultatet av funksjonen er Numeric ():

x = 2;
Hvis isNumeric (x)
slutt

Hvordan ringe funksjoner med flere utgangsargumenter i MATLAB

I MATLAB kommer noen funksjoner tilbake med flere argumenter. Disse må være vedlagt i firkantede parenteser før “=” -tegnet, atskilt med komma og i den rekkefølgen gitt av syntaks for den aktuelle funksjonen.

I det følgende eksempelet kaller vi Min () -funksjonen, som returnerer en vektor med minimumsverdien for hver rad i inngangsarrayen og en annen vektor med hver verdens posisjonsindeks. Nedenfor ser vi koden til dette eksemplet der vi oppretter matrisen “X” med tilfeldige verdier generert av RANDI () -funksjonen som er nestet i min (). Utgangsargumentene er "minimum" og "indeks". Resultatene kan sees i kommandokonsollen.

[Minimum, indeks] = min (Randi (100, 5))

Figuren viser at funksjonen min () returnerer to vektorer, minimum og indeks, med sine respektive resultater når det kalles.

Konklusjon

I denne artikkelen har vi forklart alt du trenger å vite for å mestre teknikken til MATLAB -funksjoner. Vi har også vist det som en funksjon i MATLAB, dens inngangs- og utgangsstruktur og syntaks for hver anropemetode. I tillegg inkluderer vi praktiske eksempler på samtaler med kodefragmenter og bilder som viser de forskjellige metodene for funksjonssamtaler i MATLAB -miljøet. Vi håper at denne Matlab -artikkelen var nyttig for deg. Se andre Linux -hint -artikler for flere tips og informasjon.