Pages: [1]   Go Down
Print
Author Topic: Dubbio Esercizio prima prova in itinere 27-11-07  (Read 3833 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
vincenzo86
Forumista
***
Offline Offline

Gender: Male
Posts: 505



« on: 19-11-2009, 15:35:08 »

Come da oggetto, il primo esercizio richiede il seguente:
Quote
Scrivere un vettore x di 9 nodi ugualmente spaziati con x0 = 1 e spaziatura h = 0.1
Scusate se può essere una cosa semplice, ma non ricordo se la procedura corretta sia questa:
x=linspace(1,0.1,9) , oppure x=[1:0.1:9]

E poi quest'altro quesito
Quote
Formare una matrice A 3x3 contenente gli elementi del vettore x dell’es. 1)
Devo applicare questo tipo di formula? A(:,:)=[all'interno devo mettere il contenuto del vettore]
Grazie
Logged
cock86
Forumista Eroico
*****
Offline Offline

Posts: 2.014


OM


« Reply #1 on: 19-11-2009, 16:26:52 »

credo puoi scriverlo così:

>> x=linspace(1,1+((9-1)*0.1),9);
>>% linspace(inizio,fine,passi)-->inizio=x0=1;
>>%fine=1(inizio)+(9-1)(- 1 perché conta il primo e l'ultimo)*0,1(ampiezza passo);
>>%passi=9
>> A=reshape(x,3,3)
A =

   1.0000   1.3000   1.6000
   1.1000   1.4000   1.7000
   1.2000   1.5000   1.8000

octave:106>
Logged

Un "buon informatico" trova una soluzione ad ogni tipo di problema. Un "ottimo informatico" trova la soluzione più efficiente ad ogni tipo di problema! Non stancatevi di migliorare la vostra soluzione!
vincenzo86
Forumista
***
Offline Offline

Gender: Male
Posts: 505



« Reply #2 on: 19-11-2009, 16:29:36 »

Non capisco dell'istruzione linspace solamente l'argomento fine, potresti spiegarti meglio? Grazie
Logged
sanevir
Apprendista Forumista
**
Offline Offline

Posts: 222



« Reply #3 on: 19-11-2009, 16:31:01 »

credo si possa fare semplicemente anche con : x=[1:0.1:1.8]

 
Logged
cock86
Forumista Eroico
*****
Offline Offline

Posts: 2.014


OM


« Reply #4 on: 19-11-2009, 16:58:44 »

il comando che devi usare e linspace anche se ottieni lo stesso risultato cmq fine serve a calcolare quel 1.8.
1+ perché iniziamo da 1;
9-1 perche in realtà sono solo otto step per 9 nodi, poichè ci sono il nodo di inizio non ha passi;
e poi moltiplico per 0,1 che è la spaziatura tra un nodo e l'altro;
così ottengo il valore finale di un array di nove nodi tutti ugualmente distanti di 0.1, e valore iniziale 1, cioè 1,8...
ma quella è la formula per trovare 1,8... spero di essere stato chiaro... basta ragionarci un pò.
Logged

Un "buon informatico" trova una soluzione ad ogni tipo di problema. Un "ottimo informatico" trova la soluzione più efficiente ad ogni tipo di problema! Non stancatevi di migliorare la vostra soluzione!
cock86
Forumista Eroico
*****
Offline Offline

Posts: 2.014


OM


« Reply #5 on: 20-11-2009, 10:16:11 »

sanevir: ATTENTO!!
se la prof ti da il NUMERO DI NODI, devi usare linspace(perché il terzo parametro è il numero di nodi e la funzione calcola l'ampiezza del passo);
se invece ti dà il PASSO devi usare il comando A=[i:p:f] (dove p è l'ampiezza del passo tra un nodo e l'altro e il numero dei nodi lo calcola la funzione);
la differenza è sottile, ma hanno due specifiche diverse per due usi diversi, che puoi riconoscere dalle due parole chiavi NUMERO NODI e DI PASSO.
Spero di essere stato chiaro e d'aiuto.
Logged

Un "buon informatico" trova una soluzione ad ogni tipo di problema. Un "ottimo informatico" trova la soluzione più efficiente ad ogni tipo di problema! Non stancatevi di migliorare la vostra soluzione!
genietto84
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 342



« Reply #6 on: 20-11-2009, 10:23:22 »

sanevir: ATTENTO!!
se la prof ti da il NUMERO DI NODI, devi usare linspace(perché il terzo parametro è il numero di nodi e la funzione calcola l'ampiezza del passo);
se invece ti dà il PASSO devi usare il comando A=[i:p:f] (dove p è l'ampiezza del passo tra un nodo e l'altro e il numero dei nodi lo calcola la funzione);
la differenza è sottile, ma hanno due specifiche diverse per due usi diversi, che puoi riconoscere dalle due parole chiavi NUMERO NODI e DI PASSO.
Spero di essere stato chiaro e d'aiuto.

E ma nell'esercizio ci sono entrambe le parole chiave!!! Passo e Spaziatura Cheesy ... quindi??
Non esiste un comanda che prende x0 spaziatura e numero di passi quindi credo che entrambi i metodi vanno bene.
Io ho chiesto proprio alla prof se esiste un metodo per usare spaziatura e numero di passi (senza conoscere xn) e mi ha risposto di no. Le ho fatto vedere che io ho fatto x=1:.1:1.8 calcolando io xn e mi ha detto che andava bene
Logged
cock86
Forumista Eroico
*****
Offline Offline

Posts: 2.014


OM


« Reply #7 on: 20-11-2009, 10:32:02 »

si il confine è talmente sottile che la prof li definisce la stessa cosa...e se lo dice la prof!!! tanto è lei che mette il voto!
Logged

Un "buon informatico" trova una soluzione ad ogni tipo di problema. Un "ottimo informatico" trova la soluzione più efficiente ad ogni tipo di problema! Non stancatevi di migliorare la vostra soluzione!
cock86
Forumista Eroico
*****
Offline Offline

Posts: 2.014


OM


« Reply #8 on: 20-11-2009, 12:34:38 »

come funziona il load?!?!?  testate
%creo un file vect che contenga i numeri da uno a 10 e poi provo a caricarlo ma...

>> n=[1:10]
>> save vect n
>> load n -ascii
>> error: load: unable to find file n

perché?intanto appunti e help mi portano a questa soluzione!
Logged

Un "buon informatico" trova una soluzione ad ogni tipo di problema. Un "ottimo informatico" trova la soluzione più efficiente ad ogni tipo di problema! Non stancatevi di migliorare la vostra soluzione!
genietto84
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 342



« Reply #9 on: 20-11-2009, 13:20:29 »

come funziona il load?!?!?  testate
%creo un file vect che contenga i numeri da uno a 10 e poi provo a caricarlo ma...

>> n=[1:10]
>> save vect n
>> load n -ascii
>> error: load: unable to find file n

perché?intanto appunti e help mi portano a questa soluzione!

load vect

il file è vect non n!! inoltre il -ascii non ci va perché non è un file ascii
Logged
cock86
Forumista Eroico
*****
Offline Offline

Posts: 2.014


OM


« Reply #10 on: 20-11-2009, 13:42:10 »

che ###@@!!! avevo sbagliato a scrivere vect, però l'errore era -ascii grazie!!!
Logged

Un "buon informatico" trova una soluzione ad ogni tipo di problema. Un "ottimo informatico" trova la soluzione più efficiente ad ogni tipo di problema! Non stancatevi di migliorare la vostra soluzione!
genietto84
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 342



« Reply #11 on: 20-11-2009, 13:59:06 »

che ###@@!!! avevo sbagliato a scrivere vect, però l'errore era -ascii grazie!!!


Ne sei convinto?

Code:
>> save vect n
>> load n
??? Error using ==> load
Unable to read file n: No such file or
directory.

inoltre dall'help di save
Quote
SAVE FILENAME X  saves only X.

quindi vect è il nome del file e n la variabile da salvare.

Code:
n=[1:10];
save vect n
% cancella tutto il workspace
clear
%carica da file
load vect
%vedrai che nel workspace è ricomparso n infatti
n
%ti visualizzerà il tuo vettore

Quindi l'errore non era solo il -ascii ma anche il load n
 

Logged
cock86
Forumista Eroico
*****
Offline Offline

Posts: 2.014


OM


« Reply #12 on: 20-11-2009, 14:11:54 »

si si convintissimo!! avevo sbagliato a scrivere qui load n al posto di load vect... sul terminale avevo scritto load vect però mettendo sempre il -ascii ed era quello il problema!
grazie
Logged

Un "buon informatico" trova una soluzione ad ogni tipo di problema. Un "ottimo informatico" trova la soluzione più efficiente ad ogni tipo di problema! Non stancatevi di migliorare la vostra soluzione!
genietto84
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 342



« Reply #13 on: 20-11-2009, 14:18:45 »

si si convintissimo!! avevo sbagliato a scrivere qui load n al posto di load vect... sul terminale avevo scritto load vect però mettendo sempre il -ascii ed era quello il problema!
grazie

esatto... qui quindi gli errori erano 2 
prima non era chiaro cosa intendevi con quel ho sbagliato a scrivere vect 
cmq chiarito l'inconveniente... passo e chiudo  univ
Logged
Pages: [1]   Go Up
Print
Jump to: