Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

help! funzione in matlab


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 4 risposta/e

#1
markome711

markome711

    Advanced Member

  • Utente
  • StellaStellaStella
  • 65 Messaggi:
ragazzi chi mi aiuta a risolvere questo banale esercizio? il mio problema è nell'impostazione della funzione

Definisci una funzione vet=crea_vettore (a,B) che, dati in ingresso i vettori a e b, crea un nuovo vettore vet come di seguito specificato:
-vet=a se la posizione dell'elemento è pari
-vet=b se la posizione dell'elemento è dispari

La funzione dovrebbe essere così:

function VET = crea_matrice (A,B)

A= [1,2,3,4]; (non so se bisogna inserirli da input)
B= [5,6,7,8];
n= length (A);
for k=1:1:n
if mod (k,2)==0
VET(k)=A(k);
else
VET(k)=B(k);
end
end
disp (VET)
end

nel main cosa ci va?
:help:



#2
peppepeppo

peppepeppo

    Moderatore di sezione

  • Moderatore
  • 2474 Messaggi:
Domanda: i vettori hanno la stessa lunghezza?

#3
peppepeppo

peppepeppo

    Moderatore di sezione

  • Moderatore
  • 2474 Messaggi:
ok trovata, l' avevo gia fatta vedere ad un altro utente, ma nn ricordo in quale thread:
function vet=crea_vettore(a,b)
n=length(a);
m=length(b);
for j=1:n
if mod(j,2)==0
vet(j)=a(j);
end
end
for j=1:m
if mod(j,2)~=0
vet(j)=b(j);
end
end
end
nel main ci dovrebbe andare solo questo:
vet=crea_vettore(a,b)
Per quanto riguarda gli errori:
- di concetto hai sbagliato l' algoritmo, anche se eri sulla buona strada;
- di sintassi nn hai sbagliato nulla, solo che i vettori che hai in input non vanno inseriti nel codice della funzione, ma devi inserirli nella command window e premere "invio" per salvarli nel workspace, prima di richiamare la funzione

#4
markome711

markome711

    Advanced Member

  • Utente
  • StellaStellaStella
  • 65 Messaggi:
grazie mille...ma all'esame i vettori li devo inserire nel comman window o no?

#5
peppepeppo

peppepeppo

    Moderatore di sezione

  • Moderatore
  • 2474 Messaggi:

grazie mille...ma all'esame i vettori li devo inserire nel comman window o no?

no, se il prototipo della funzione è come in questo caso così: function vet=crea_vettore(a,B), tutto quello che ho evidenziato in blu dovrebbe già essere caricato nel workspace, perchè sono gli input di quella funzione.
Per essere sicuri che gli elementi di input siano gia stati caricati nel workspace, basta che digiti il nome dell' elemento nella command window e premi invio. In questo modo se l' elemento è presente nel workspace , la command window ti restituisce il suo valore altrimenti genera errore.
Dico questo perchè ho notato che nel laboratorio T25 c'è una versione un pò vecchiotta di matlab e nn si vede il workspace sulla destra, quindi per provare la funzione è sempre meglio controllare prima.

Più semplicemente ancora, per vedere tutte le variabili salvate nel workspace puoi digitare il comando who dalla command window, premi invio e ti compaiono tt le variabili memorizzate.
P.S. who: elenca le variabili che si trovano correttamente in memoria
whos: elenca le variabili e i corrispondenti valori indicando se queste hanno parti immaginarie non nulle




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi