PDA

View Full Version : Matlab: aiutatemi


Jekinochi
22-01-2007, 18:11
allora ragazi, la traccia del problema è questa:
"Scrivere un programma che disegna il grafico della funzione 3x+1 con la variabile x definita nell'intervallo [-n m], con passo d.
Successivamente costruire una funzione in Matlab per la curva precedentemente definita."

io l'ho risolto così:

n=input('dammi il limite inferiore dell''intervallo');
m=input('dammi il limite superiore dell''intervallo');
d=input('dammi il valore del passo');
x= -n:d:m
y=3*x+1;
plot (x,y);


si trova?? se non si trova potete dirmi come si fa????E poi la seconda parte del programma: "Successivamente costruire una funzione in Matlab per la curva precedentemente definita." come si fa!?!?!?!??!?!?!

VI PREGO E' URGENTE!!!!!!!!!!!!! AIUTATEMI!

Jekinochi
22-01-2007, 20:18
Rispondetemi E' URGENTE

dai non è possibile che nessuno sappia farlo...

sono esercitazioni che il professore mi ha assegnato; domani ho una prova di laboratorio dove ci saranno problemi simili a questi.. vi chiedo solo di dirmi come si fanno.... niente di eccezionale...

Jekinochi
22-01-2007, 23:58
ho già scritto una possibile soluzione potreste almeno un po' dirmi se va bene oppure aiutarmi a completarla????

cosa vi costa? vi prego.. :help: :help:

Jekinochi
23-01-2007, 10:26
non penso proprio che sia difficile per voi.... suvvia! i grafici non riesco proprio a farli..... almeno ditemi se va bene....

d@vid
23-01-2007, 10:50
si il procedimaneto è corretto ;)

Tuttavia il testo recita: "Successivamente costruire una funzione in Matlab per la curva precedentemente definita."

Ora, se ho inteso bene, il prof vuole che la curva venga riprodotta tramite una function ML la quale, ovviamente, si occuperà di tracciare il grafico, noti i valori delle ascisse e delle ordinate.
Dunque il programma va modificato così:

n=input('opposto dell''estremo inferiore dell''intervallo: n=');
m=input('estremo superiore dell''intervallo: m=' );
d=input('valore del passo: d=');
x= -n:d:m;
y=3*x+1;
plotting=disegnagrafico(x, y);


function dg=disegnagrafico(x, y)
dg=plot(x, y);

Jekinochi
23-01-2007, 20:27
si il procedimaneto è corretto ;)

Tuttavia il testo recita: "Successivamente costruire una funzione in Matlab per la curva precedentemente definita."

Ora, se ho inteso bene, il prof vuole che la curva venga riprodotta tramite una function ML la quale, ovviamente, si occuperà di tracciare il grafico, noti i valori delle ascisse e delle ordinate.
Dunque il programma va modificato così:

n=input('opposto dell''estremo inferiore dell''intervallo: n=');
m=input('estremo superiore dell''intervallo: m=' );
d=input('valore del passo: d=');
x= -n:d:m;
y=3*x+1;
plotting=disegnagrafico(x, y);


function dg=disegnagrafico(x, y)
dg=plot(x, y);



ok, il test già l'ho fatto, ma dato che comunque vorrei risolverlo questo problema: devo mettere tutto quello che mi hai scritto???

cioè: deve uscire così?
"n=input('opposto dell''estremo inferiore dell''intervallo: n=');
m=input('estremo superiore dell''intervallo: m=' );
d=input('valore del passo: d=');
x= -n:d:m;
y=3*x+1;
plotting=disegnagrafico(x, y);
function dg=disegnagrafico(x, y)
dg=plot(x, y);"

lo devo mettere tutto attaccato oppure quello che mi hai scritto successivamente è un'approfondimento?

d@vid
23-01-2007, 21:09
no, sono due m.files distinti ;)

in realtà, poichè ML accetta anche funztion senza parametri di output, potresti anche semplicemente far così:

I M-file (es. retta.m)

n=input('opposto dell''estremo inferiore dell''intervallo: n=');
m=input('estremo superiore dell''intervallo: m=' );
d=input('valore del passo: d=');
x= -n:d:m;
y=3*x+1;
disegnagrafico(x, y)


II M-file (disegnagrafico.m)
function disegnagrafico(x, y)
plot(x, y)

d@vid
23-01-2007, 21:13
ovviamente i due m-files vanno salvati nella stessa cartella di lavoro