Vettore matlab

signfra
salve, ho un array di tipo 1*255 double siccome per utilizare la funzione bar mi serve convertire in A=[ 1 2 3 4 n]?

come si converte?

Risposte
apatriarca
Non ho capito quale sia il problema. Cosa significa che lo vuoi convertire in quel modo?

signfra
allora scrivendo A=[ 1 2 3] e B=[ 2 3 4 ] utilizzando bar(A,B) funziona.
Mentre utilizzando la funzione bar dal workspace prelevo una variabile con value 1*255 double e mettendono in bar non mi parte.

signfra

apatriarca
EDIT: Ok, adesso ho visto l'immagine. Il problema è che ci sono dei valori duplicati. Che cosa rappresentano i due vettori? È corretto che ci siano valori duplicati? Come li hai ottenuti?

apatriarca
P.S. Si chiama Matlab (senza h). Mat non è l'abbreviazione di mathematics, ma matrix..

signfra
il vettore A non contiene duplicati. ma valori ordinati in crescenza.

si e corretto che ci siano vettori duplicati, o meglio
per ogni posizone del vettore A corrisponde che esistono n duplicati nella rispettiva posizione del vettore B

es:

A=[1 2 3 4]
B=[ 1 1 2 3]

il numero 1 e 2 viene contato una volta, il numero 3 viene contato 2 volte

apatriarca
Matlab dice che ci sono dei duplicati in A. Per cui credo abbia ragione. Non so come sia stato definito, ma ti consiglio di provare a vedere che valori contiene.

signfra
si contiene tanti zero quando finisce la sequenza, ad esempio ho la sequenza da 1 a 50 poi vengono aggiunti tanti zero, questo perchè in simulink non mi permette di scrivere z=zeros(1,data_in1)

dove data_in1 sarebbe il valore preso in ingresso.

apatriarca
E allora devi togliere tutti questi zeri alla fine della sequenza.. Qualcosa tipo A = A(1:data_in1); B = B(1:data_in1);

signfra
all'interno di simulink non funziona, come mai?

apatriarca
Non ho mai usato simulink per cui non ti saprei rispondere.

signfra
cancellato

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.