Skapa vektorer
Hej! Min uppgift är att dela upp en vektor V som är lagrad i 'tal'. om ett element är större än 10 ska det lagras i v_stor, om det är mindre än -10 ska det lagras i v_liten och när det är mellan 10 och -10 ska det lagras i v_mellan. Min kod lägger dock alla element i v_mellan, även element mindre än -10 och större än 10.
Min kod:
load('tal')
v_stor = 0;
v_mellan = 0;
v_liten = 0;
for ii = 1:size(V)
if V(1:size(V))>10
v_stor = [v_stor V(ii)]
elseif V(1:size(V))<-10
v_liten = [v_liten V(ii)]
else
v_mellan = [v_mellan V(ii)]
end
end
Min fråga är alltså vad det är som går fel.
Tacksam för svar.
Hej,
Om vektorn V har 1 rad och 23 kolumner så ger size(V) resultatet [1 23]. Hur ska direktivet 1:size(V) i snurrorna uppfattas då?
Jag tror att det du avser är att direktivet ska vara 1:23 och det kan du uppnå med 1:length(V) istället.
Hej,
Jag testade det och fick svaret "Undefined function 'legnth' for input arguments of type 'double'.".
Jag har även testat att använda ett stängt antal element (1:10) för att se hur den reagerade och den la då fortfarande alla elementen i v_mellan
Ja, det tror jag också att legnth är en odefinierad funktion; nu skrev jag inte legnth utan length.
Oj förlåt, tack så mycket
Dock ger den fortfarande bara v_mellan
Jag lyckades lösa det nu, men tack för hjälpen