matlab functies

Moderators: dirkwb, Xilvo

Forumregels
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
Reageer
Gebruikersavatar
Berichten: 997

matlab functies

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

Berichten: 14

Re: matlab functies

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.

Berichten: 14

Re: matlab functies

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.

Berichten: 14

Re: matlab functies

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.

Gebruikersavatar
Berichten: 997

Re: matlab functies

Ik zie het allemaal, bedankt!

Reageer