Springen naar inhoud

matlab functies


  • Log in om te kunnen reageren

#1

Jekke

    Jekke


  • >250 berichten
  • 997 berichten
  • Ervaren gebruiker

Geplaatst op 03 oktober 2006 - 12:41

ik heb de volgende functie gedefineerd:

function [min,max] = minmax(vector)

min=vector(1);
for i=2:1:size(vector)
if vector(i)<min
min=vector(i);
end
end

max=vector(1);
for i=2:1:size(vector)
if vector(i)>min
min=vector(i);
end
end

[min,max]=[min,max];


waarom geeft matlab maar 1 getalletje terug?

>> minmax([4,6])

ans =

4

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Jabs

    Jabs


  • 0 - 25 berichten
  • 14 berichten
  • Gebruiker

Geplaatst op 03 oktober 2006 - 13:11

Je functie klopt denk ik, maar daar heb ik niet naar gekeken.

roep hem aan met [a,b] = minmax([4,6]) Waarbij a en b de variabelen zijn waarin je je antwoord wil hebben.
Als je hem "gewoon" aanroept geeft matlab alleen de eerste uitvoer terug in ans.

#3

Jabs

    Jabs


  • 0 - 25 berichten
  • 14 berichten
  • Gebruiker

Geplaatst op 03 oktober 2006 - 13:24

Er zit ook een klein foutje in de functie: in het tweede stukje staat weer min in plaats van max.
Je kunt ook de interne min en max functie van Matlab gebruiken.
De twee blokjes code worden dan:

min = min(vector); max = max(vector)
Assumptions are the solid grid through which we view the universe, sometimes deluding ourselves that this grid is the universe.

#4

Jabs

    Jabs


  • 0 - 25 berichten
  • 14 berichten
  • Gebruiker

Geplaatst op 03 oktober 2006 - 13:35

Nog een laatste dingetje. Gebruik length(vector) in plaats van size(vector). De lengte is namelijk het aantal elementen in de vector (als deze 1 bij n is).
Size geeft de lengtes van alle dimensies weer. En dat is 1 bij 2 in jouw voorbeeld, waarbij size weer alleen de eerste waarde, 1, teruggeeft als je hem "gewoon" aanroept, waardoor je hele loop niets doet.
Veel succes met aanpassen
Assumptions are the solid grid through which we view the universe, sometimes deluding ourselves that this grid is the universe.

#5

Jekke

    Jekke


  • >250 berichten
  • 997 berichten
  • Ervaren gebruiker

Geplaatst op 03 oktober 2006 - 17:19

Ik zie het allemaal, bedankt!





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures