y=fzero('c1-c2x',[a,b])
(a e b sono due valori opportunamente calcolati)
funzionasse, e invece Matlab mi dà errore riguardo alla presenza di
variabili, o meglio, di funzioni non definite, all'interno della
funzione fzero.
Come posso fare per risolvere il problema ?
Grazie mille per l'aiuto.
Ciao e 73-51 de Tartaruga .
.oO-=> TARTARUGA (* Gabriele *) <=-Oo.
E-Mail: ru...@ita.flashnet.it
http://www.geocities.com/SiliconValley/Peaks/4731/
"Chi dorme non piglia pesci, ma chi non dorme, alla fin fine...muore..." (C) Tartaruga 1999 ;-)
function y=funzionelineare(x)
y=c1-c2*x;
e poi chiami dal Matlab
fzero('funzionelineare',[a b])
Non so se sono stato sufficientemente chiaro.
Kaspar.
>
>Gabriele <ru...@ita.flashnet.it> wrote in message
>38273620...@news.flashnet.it...
>> Avrei la necessità di usare la funzione Fzero di matlab 5 con una
>> funzione che dipende da 2 parametri c1 e c2 i cui valori vengono
>> precedentemente calcolati.
>> Io pensavo che
>>
>> y=fzero('c1-c2x',[a,b])
>> (a e b sono due valori opportunamente calcolati)
>Che io sappia devi creare un file che contenga la funzione e poi devi
>inserire come primo parametro di fzero, tra apici il nome di questo file e
>non la funzione vera e propria.
Sono riuscito a fare diversamente:
Ti faccio un esempio:
f=inline('x^2-a*x-b','x','a','b')
c1=1
c2=6
zero=fzero(f,-4,[],[],c1,c2)
Così si evita di ppoggiarsi a file esterni...addiritura si dovrebbe
poter fare così:
c1=1
c2=6
zero=fzero(inline('x^2-a*x-b','x','a','b'),-4,[],[],c1,c2)
function r=f(x,c1,c2);
r=c1- c2*x;
return;
e salvala come f.m
Poi, dopo avere caricato in a, b, c1, c2 il loro valore, dalla riga di
comando lancia:
fzero('f',[a,b],[],[],c1,c2)
Dovrebbe visualizzare lo zero della funzione f (io ho provato e funziona).
Ovviamente puoi ripetere il procedimento per una funzione qualsiasi purchè
tu la definisca correttamente in un file <nomefunz.m> (con tutti i parametri
che vuoi) e che usi fzero passando come parametro iniziale la stringa
'nomefunz', poi l'intervallo o una stima dello zero, il valore della
tolleranza e del flag di visualizzazione ([] indica il valore di default per
tali parametri), seguito dalla lista completa dei valori che fzero assegnerà
agli altri parametri richiesti dalla tua funzione.
Buon divertimento!
--
Riccardo Lesca
Politecnico di Torino
II Facoltà di Ingegneria
Vercelli - ITALY
rikl...@tin.it
ICQ# 49986042
-------------------------
Gabriele <ru...@ita.flashnet.it> wrote in message
38273620...@news.flashnet.it...
> Salve a tutti, purtroppo non esiste un newsgroup dedicato a Matlab,
> così chiedo qui...spero di non disturbare...8-)
> Avrei la necessità di usare la funzione Fzero di matlab 5 con una
> funzione che dipende da 2 parametri c1 e c2 i cui valori vengono
> precedentemente calcolati.
> Io pensavo che
>
> y=fzero('c1-c2x',[a,b])
> (a e b sono due valori opportunamente calcolati)
>
> funzionasse, e invece Matlab mi dà errore riguardo alla presenza di
> variabili, o meglio, di funzioni non definite, all'interno della
> funzione fzero.
>
> Come posso fare per risolvere il problema ?
> Grazie mille per l'aiuto.
>