Hjälp med en for-loop
Har försökt mig på att skriva en funktion som tar en vektor x och returnerar det största värdet i x. Jag sk använda mig av for- och if-loopar. Har skrivit följande funktion:
function [max] = maximum(a)
max = 0;
for i: "vad ska st här"
if (a[i] > max)
max = a[i];
end
end
disp(max)
Och kallat på funktionen på följande sätt:
>> a = randi(3,3)
a =
2 1 3
2 1 2
3 1 2
>> max = maximum(a)
Jag förstår inte riktigt vad gränsen för for.loopen ska vara för att det ska fungera som det ska. Sedan är jag inte heller 100% sker på hur jags ska kalla på funktionen.
Det stod att du skulle kalla på funktionen med en vektor, inte en matris.
Då kan du loopa över vektorns längd , dvs från 1 t.o.m. längden av vektorn.
Din funktion kommer just nu inte att fungera för t.ex negativa tal.
En annan grej är att det finns en inbyggd funktion som heter 'max'. Du 'skriver över' den i din kod. I det här fallet går det bra ändå, men jag gissar att du har en varning i editorn.
Matsmats skrev:Det stod att du skulle kalla på funktionen med en vektor, inte en matris.
Då kan du loopa över vektorns längd , dvs från 1 t.o.m. längden av vektorn.
Din funktion kommer just nu inte att fungera för t.ex negativa tal.
En annan grej är att det finns en inbyggd funktion som heter 'max'. Du 'skriver över' den i din kod. I det här fallet går det bra ändå, men jag gissar att du har en varning i editorn.
Tack så mycket!