Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Secondo Anno
 Calcolo Numerico
 [MatLab] Piccolo aiuto..

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
Tano Inserito il - 05/05/2006 : 16:41:23
Perchè quando creo una nuova funzione mi da un errore tipo questo:

Undefined function or variable 'falsaposizione'

Ho creduto fosse un errore di sintassi, ma ho semplificato le funzioni tanto da creare funzione che fanno solo la somma.. Ma l'errore permane.. Se uso funzione "già fatte" non mi da quest'errore.. Qualcuno di voi può rmi al riguardo?

Grazie infinite!
17   U L T I M E    R I S P O S T E    (in alto le più recenti)
skank Inserito il - 15/06/2006 : 17:47:12
Citazione:
Messaggio inserito da silent

in che senso qualche domandina sulgi errori ??
che ti ha chiesto al riguardo ??



la formula del resto del polinomio di lagrange, la cancellazione numerica.
silent Inserito il - 15/06/2006 : 10:42:24
in che senso qualche domandina sulgi errori ??
che ti ha chiesto al riguardo ??
skank Inserito il - 12/06/2006 : 19:32:28
Citazione:
Messaggio inserito da silent


allora a lunedì.
ciao compare



mbè? non l'hai fatto l'esame?
comunque se ti può essere utile a me ha chiesto tutta la teoria sull'interpolazione, poi ha visto la function sul metodo di gauss e le andava bene, qualche domandina qua e là sugli errori...

Mi raccomando fatti bene i programmi, devi dimostrare che sai quello che hai fatto. qualcuno l'ha bocciato perchè aveva fatto un sacco di programmi ma quando gli è stato chiesto di scrivere A*x non sapeva come scrivere la moltiplicazione in matlab... quindi occhio.
silent Inserito il - 10/06/2006 : 21:47:42
Citazione:
Citazione:ma le domande che la del buono fa all'orale, di che tipo sono, cioè cosa chiede di solito ??


eh, fratello caro... che se fossi in grado di prevederlo non starei cagato in mano per lunedì


volevo sapere se avevi assistito già a qualche orale, sono io che non mi sono spiegato.
allora a lunedì.
ciao compare
skank Inserito il - 10/06/2006 : 19:33:36
Citazione:
Messaggio inserito da silent

io ne ho fatti una decina (su 16 che ne erano + o -) anche se sulla quadratura ne ho fatto solo 1 (trapezi semplici) e nemmeno 1 sull'interpolazione.


ok dovresti essere a cavallo (*dovresti*)

Citazione:
ma le domande che la del buono fa all'orale, di che tipo sono, cioè cosa chiede di solito ??

eh, fratello caro... che se fossi in grado di prevederlo non starei cagato in mano per lunedì
Citazione:
tu da dove stai studiando (sempre se non l'hai già superato questo esame) ??

dalle sue dispense, e, quando non capisco, informandomi in giro...
silent Inserito il - 10/06/2006 : 17:15:36
io ne ho fatti una decina (su 16 che ne erano + o -) anche se sulla quadratura ne ho fatto solo 1 (trapezi semplici) e nemmeno 1 sull'interpolazione. ma le domande che la del buono fa all'orale, di che tipo sono, cioè cosa chiede di solito ??
tu da dove stai studiando (sempre se non l'hai già superato questo esame) ??
skank Inserito il - 10/06/2006 : 16:24:01
Citazione:
Messaggio inserito da silent

grazie skank.
un'altra cosa io ho questo esercizio, la fattorizzazioneLU :

% Fattorizzazione LU di una matrice quadrata A

function [L,U] = Fattorizzazione (A);

[m,n]=size(A);
if m~=n
error('La matrice di input deve essere quadrata')
end;

for i=1:n
minoreprinc=A(1:i,1:i);
if det(minoreprinc)==0
error ('Non è possibile effettuare la fattorizzazione LU: ci sono dei minori principali di testa nulli')
end
end

% Fattorizzazione LU
L=eye(n);
U=zeros(n,n);
for k=1:n-1
for i=k+1:n
L(i,k)=A(i,k)/A(k,k);
for j=k+1:n
A(i,j)=A(i,j)-(L(i,k)*A(k,j));
end
end
end
U=triu(A);
disp ('Visualizzazione della matrice triangolare inferiore (L)');
L
disp ('Visualizzazione della matrice triangolare superiore (U)');
U


perchè i risultati dell'esercizio L (matr. tr. inf.) U (matr tr. sup.) e ans (che è uguale a L) ??



bho, non è che sia un esperto...
prova a correggere così *solo* la parte che riporto qui sotto, il resto va bene:

% Fattorizzazione LU
L=eye(n);
U=zeros(n,n);
for k=1:n-1
   for i=k+1:n
      L(i,k)=A(i,k)/A(k,k);
      for j=k+1:n
         A(i,j)=A(i,j)-(L(i,k)*A(k,j));
      end
   end
end
U=triu(A); %<-- forse è qui che c'era la magagna

le disp meno le usi e meglio è.
per le funzioni che intendi portare, cerca di farne almeno una per ogni parte del programma, ossia:
- sistemi lineari
- zeri di funzione
- interpolazione
- quadratura
per quelle che non fai aspettati qualche domanda (o forse no, chi lo sa?)
non dico però che devi farne solo 4, attento, vedi un po' tu
io personalemnte non credo che implementerò quelli sull'interpolazione perchè non ci ho capito granchè... che ci posso fare?
silent Inserito il - 10/06/2006 : 11:28:23
ah e poi io porterò questi esercizi all'esame:
Bisezioni,Secanti,Newton,FalsaPosizione,Gauss,FattorizzazioneLU,GaussPivoting,TriangInf/Sup,Jacobi,TrapeziSemplice.
vanno bene o è meglio che ne faccia qualcun'altro ??
silent Inserito il - 10/06/2006 : 11:19:44
grazie skank.
un'altra cosa io ho questo esercizio, la fattorizzazioneLU :

% Fattorizzazione LU di una matrice quadrata A

function [L,U] = Fattorizzazione (A);

[m,n]=size(A);
if m~=n
error('La matrice di input deve essere quadrata')
end;

for i=1:n
minoreprinc=A(1:i,1:i);
if det(minoreprinc)==0
error ('Non è possibile effettuare la fattorizzazione LU: ci sono dei minori principali di testa nulli')
end
end

% Fattorizzazione LU
L=eye(n);
U=zeros(n,n);
for k=1:n-1
for i=k+1:n
L(i,k)=A(i,k)/A(k,k);
for j=k+1:n
A(i,j)=A(i,j)-(L(i,k)*A(k,j));
end
end
end
U=triu(A);
disp ('Visualizzazione della matrice triangolare inferiore (L)');
L
disp ('Visualizzazione della matrice triangolare superiore (U)');
U


perchè i risultati dell'esercizio L (matr. tr. inf.) U (matr tr. sup.) e ans (che è uguale a L) ??
skank Inserito il - 09/06/2006 : 22:46:21
Citazione:
Messaggio inserito da silent
giusto ??



si.
alpha anche senza parentesi quadre, a meno che non devi restituire un vettore.
silent Inserito il - 09/06/2006 : 19:57:35
quindi i file che devo portare all'esame sono del tipo:

function [alpha]=falsaposizione(f,a,b,toll)

%Metodo della falsa posizione per il calcolo
%degli zeri di funzione

f = inline(f);
fa = feval(f,a);
fb = feval(f,b);

if fa * fb > 0
msgbox('non si puo'' applicare il metodo poiche'' la funzione ha segno concorde negli estremi')
end

n_iter = 0;
arresto = 0;

while ~arresto & n_iter <= n_max
n_iter = n_iter + 1;
c = b - (fb * ((b - a) / (fb - fa)));
fc = feval(f,c);
if fa * fc < 0
b = c;
fb = fc;
else
a = c;
fa = fc;
end

arresto = ( abs(b - a)/(1 + abs(a)) ) < toll & abs(fc) < toll;

end

alpha = c


giusto ??
skank Inserito il - 09/06/2006 : 18:47:33
Citazione:
Messaggio inserito da silent

i file *.m che si portano all'orale con la del buono sono di questo tipo :


%Metodo della falsa posizione per il calcolo
%degli zeri di funzione

disp('Metodo della falsa posizione');

f = input('Inserire il nome della funzione ');
a = input('Inserire il primo estremo a= ');
b = input('Inserire il secondo estremo b= ');
toll = input('Precisione richiesta toll= ');
n_max = input('Num. max di iterate consentite n_max= ');

f = inline(f);
fa = feval(f,a);
fb = feval(f,b);

if fa * fb > 0
msgbox('non si puo'' applicare il metodo poiche'' la funzione ha segno concorde negli estremi')
end

n_iter = 0;
arresto = 0;

while ~arresto & n_iter <= n_max
n_iter = n_iter + 1;
c = b - (fb * ((b - a) / (fb - fa)));
fc = feval(f,c);
if fa * fc < 0
b = c;
fb = fc;
else
a = c;
fa = fc;
end

arresto = ( abs(b - a)/(1 + abs(a)) ) < toll & abs(fc) < toll;

end

alpha = c


qualcuno può dirmelo in tempi brevi ho l'orale lunedì





no quello è uno script,

i file che dovresti portare hanno anch'essi estensione .m ma sono del tipo:


function x=falsaposizione(f,a,b,toll)
...


ovviamente poi quando salvi lo chiami falsaposizione.m (o quello che è... tanto appena fai ctrl+s l'editor del matlab ti propone in automatico il nome della funzione come nome del file)

function è una parola chiave
x è la variabile (o le variabili, ce ne possono essere + di una se la funzione lo prevede) dove verrà salvata la soluzione.
il resto è autoesplicativo credo.

I file del tipo postato da te servono anche per automatizzare gli esempi con i quali presenti gli algoritmi che hai creato.
silent Inserito il - 09/06/2006 : 17:35:44
i file *.m che si portano all'orale con la del buono sono di questo tipo :


%Metodo della falsa posizione per il calcolo
%degli zeri di funzione

disp('Metodo della falsa posizione');

f = input('Inserire il nome della funzione ');
a = input('Inserire il primo estremo a= ');
b = input('Inserire il secondo estremo b= ');
toll = input('Precisione richiesta toll= ');
n_max = input('Num. max di iterate consentite n_max= ');

f = inline(f);
fa = feval(f,a);
fb = feval(f,b);

if fa * fb > 0
msgbox('non si puo'' applicare il metodo poiche'' la funzione ha segno concorde negli estremi')
end

n_iter = 0;
arresto = 0;

while ~arresto & n_iter <= n_max
n_iter = n_iter + 1;
c = b - (fb * ((b - a) / (fb - fa)));
fc = feval(f,c);
if fa * fc < 0
b = c;
fb = fc;
else
a = c;
fa = fc;
end

arresto = ( abs(b - a)/(1 + abs(a)) ) < toll & abs(fc) < toll;

end

alpha = c


qualcuno può dirmelo in tempi brevi ho l'orale lunedì

silent Inserito il - 31/05/2006 : 11:45:05
qualcuno ha creato il file.m per il metodo di lagrange ??
ma noi all'esame dovremo portare i files *.m con le funzioni dei vari metodi ??
Tano Inserito il - 06/05/2006 : 10:56:02
L'errore era dovuto al fatto che la funzione doveva avere lo stesso nome del file.. Ad esempio "Funcion Fattoriale(n)" il file deve essere necessariamente "Fattoriale.m". Questo non lo sapevo, ma non credevo ci fosse una dipendenza in questo senso.

Comunque grazie ^^.
genius Inserito il - 06/05/2006 : 09:29:28
le funzioni devono stare all'interno del workspace di matlab e se nn ricordo male sono file con estensione .m ...
Gentoo Inserito il - 06/05/2006 : 09:15:25
Citazione:
Messaggio inserito da Tano

Perchè quando creo una nuova funzione mi da un errore tipo questo:

Undefined function or variable 'falsaposizione'

Ho creduto fosse un errore di sintassi, ma ho semplificato le funzioni tanto da creare funzione che fanno solo la somma.. Ma l'errore permane.. Se uso funzione "già fatte" non mi da quest'errore.. Qualcuno di voi può rmi al riguardo?

Grazie infinite!



l'errore dice che non hai definito nessuna funzione o variabile "falsaposizione'.
posta il codice!!!

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,09 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000