[HELP MatLab]

devo passare un' esame di calcolo numerico (io sono al terzo anno di Chimica) nel quale mi si chiede di essere in grado di scrivere alcuni semplici programmini in MatLab. Dato che nn ho esperienze di programmazione spero di poter trovare qua un aiuto sufficente (tenendo conto del livello infimo, credo, dell' esame ma purtroppo anche del mio).
Ho appreso (forse appreso è una parola grossa nel mio caso) i comandi base semplici... ora però mi sono trovato davanti questo script (riporto pari pari dagli appunti):

Per definire un vettore di 21 punti equispaziati nell' intervallo (0,2pigreco), si può scrivere il seguente script:


n=21;
h=2*pi/(n-1);
for i=1:n
x(k)=(k-1)*h;
end;


qualcuno può darmi un' idea di come sia fatto un vettore di 21 punti equispaziati e spiegarmi la seconda riga dello script?



ps: ho visto che c' era già un post su MatLab ma forse cosi' il mio ha più visibilità
Intanto sarà for k=1:n, invece di i.

Cmq la seconda riga sceglie l'ampiezza del "passo", ovvero qual'è la distanza fra un punto e quello successivo.

In questo caso 2*pi/20 visto che hai 21 punti nell'intervallo [0,2*pi].


ho ricontrollato negli appunti (dati dal prof e battuti al pc) e c'è scritto for i e non for k... ma può anche darsi che sia un errore. Ma un vettore come quello descritto come si rappresenta?
Grosso modo cosi':

[ 0, pi/21, 2pi/21, 3pi/21, ... 20pi/21, pi]
direi così, invece

[ 0, pi/20, 2pi/20, 3pi/20, ... 19pi/20, pi]
Hem, si, ovvio. Misunderstanding.
Avete sbagliato entrambi

Quello giusto è:

[0,pi/10,2*pi/10,3*pi/10,...,19*pi/10,2*pi]

n=21;
h=2*pi/(n-1);
for k=1:n
x(k)=(k-1)*h;
end;


vediamo se inizio a capire qualcosa... lo script sopra è equivalente a questo?

linspace(0,2*pi,21)

Si.
ho installato MatLab e stavo provando a fare qualche esercitazione. Qualcuno mi sa dire cosa nn va nel seguente file .mat:

%programma che calcola l' imposta sul reddito, basata su due scaglioni
%
r=imput('reddito=');
while r>0
if r<=30e6
imp=0.1*r;
else
imp=3e6+0.4*(r-30e6);
end;
fprintf('imposta=%g\n',imp);
r=imput('reddito=');
end;


non capisco cosa c'è di sbagliato. Ovviamente quando faccio "run" mi da il seguente messaggio d' errore:


??? programma per calcolare l' imposta
|
Error: Missing operator, comma, or semicolon.
Imput????

Forse è input.
si me ne sono accorto quasi subito (sono niubbo). Ma continua a dare sempre lo stesso messaggio d' errore
ho provato anche con un altro esercizietto ma niente, continuo a sbagliare qualcosa.

% somma dei primi M naturali
%
M=input('fino a quale intero vuoi sommare?');
ITOT=0;
for I=1:M
ITOT=ITOT+I;
end;
fprintf('somma dei primi %g, naturali=%g\n',M,ITOT);


dov'è che sbaglio?


se questo è il nome del file ci credo che non va
prova a togliere gli spazi
ok, ora va. grazie.
...cmq per il secondo potresti usare la formula, sembrerebbe + intelligente...

ps: somma da 1 a n = n*(n+1)/2