Problema ciclo for in matlab
Salve a tutti devo realizzare una funzione in matlab che prende un vettore $pol((1,2,3,4,5))$ che rappresenta il vettore dei coeficienti di un polinomio di quarto grado, e plottare la funzione di 4 grado che se ne ricava nell'intervallo $[-10,10]$
Scrivendo la procedura con la formula estesa del polinomio tutto ok:
ma col ciclo for non ottengo lo stesso risultato:
le due forme non sono equivalenti?
Scrivendo la procedura con la formula estesa del polinomio tutto ok:
function[radici]=polinomio() pol=input('inserisci i coefficenti del polinomio di 4° grado\n'); x=-10:0.5:10; y=pol(1,1)*x.^4+pol(1,2)*x.^3+pol(1,3)*x.^2+pol(1,4)*x.^1+pol(1,5)*x.^0 plot(x,y); end
ma col ciclo for non ottengo lo stesso risultato:
function[radici]=polinomio() pol=input('inserisci i coefficenti del polinomio di 4° grado\n'); x=-10:0.5:10; y=0; for i=1:5 z=pol(1,i)*x.^5-i; y=y+z; end plot(x,y); end
le due forme non sono equivalenti?
Risposte
un possibile errore è forse all'esponenziale, prova a mettere x.^(5-i)
Era proprio quello il problema!!!
Ti ringrazio.
Stavo impazzendo perché come flusso di esecuizione il ciclo mi sembrava corretto e non avevo idea di come poteva essere cambiato!!


Stavo impazzendo perché come flusso di esecuizione il ciclo mi sembrava corretto e non avevo idea di come poteva essere cambiato!!