25
Complementi di Matematica e Calcolo Numerico A.A. 2016-2017 Laboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory) ` e un ambiente integrato per il calcolo scientifico utilizzabile sia in maniera interattiva che come linguaggio di programmazione. In Matlab ogni quantit` a (variabile) viene trattata come matrice. Un numero reale ` e una matrice 1 × 1. Sono predefinite numerose funzioni di uso generale (built-in functions), e raccolte di funzioni dedicate ad uno specifico argomento (toolboxes). Per informazioni su Matlab: www.mathworks.com Matlab ` e un software a pagamento. L’Universit` a degli Studi di Milano ha stipulato un contratto di licenza campus, per informazioni dalla homepage di Ateneo selezionare personale -> Servizi tecnologici di Ateneo -> Contratti campus acquisto software -> Contratto campus Mathworks Octave ` e un software gratuito che ne riproduce buona parte delle funzioni fondamentali. Per informazioni vedere www.octave.org.

Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Complementi di Matematicae Calcolo Numerico

A.A. 2016-2017

Laboratorio 1 - Introduzione a MATLAB

MATLAB =MAT(rix)-LAB(oratory) e un ambiente integrato

per il calcolo scientifico utilizzabile sia in maniera interattiva che come

linguaggio di programmazione.

In Matlab ogni quantita (variabile) viene trattata come matrice.

Un numero reale e una matrice 1× 1.

Sono predefinite numerose funzioni di uso generale (built-in functions),

e raccolte di funzioni dedicate ad uno specifico argomento (toolboxes).

Per informazioni su Matlab: www.mathworks.com

Matlab e un software a pagamento. L’Universita degli Studi di Milano ha

stipulato un contratto di licenza campus, per informazioni dalla homepage

di Ateneo selezionare

personale -> Servizi tecnologici di Ateneo -> Contratti campus acquisto software ->

Contratto campus Mathworks

Octave e un software gratuito che ne riproduce buona parte delle funzioni

fondamentali. Per informazioni vedere www.octave.org.

Page 2: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Matlab in modalita interattiva

All’avvio di Matlab si accede ad una finestra di lavoro caratterizzata dal

prompt

>>

Tutto quanto inserito dopo il prompt verra eseguito dopo aver premuto il

tasto enter.

Se Matlab riconosce il comando digitato produrra un output in caso con-

trario segnalera un errore. In ogni caso il sistema ripropone al termine il

prompt in attesa di un nuovo comando.

Matlab si chiude con il comando quit

La prima cosa da fare e posizionare il Current Directory nella propria

cartella di lavoro:

>> cd z:

2

Page 3: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Alcuni comandi Matlab importanti da conoscere:

>> help

>> doc

permettono di ottenere informazioni dettagliate su qualsiasi comando. Il

comando doc mostra anche quali pacchetti (toolboxes) siano installati nella

versione in uso.

Ad esempio:

>> help sqrt >> doc sin

Per cercare il nome esatto di un comando:

>> lookfor cosine

cerca i comandi nella cui descrizione appare la parola cosine

(ATT.NE la documentazione di Matlab e in inglese!)

3

Page 4: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Scalari in Matlab

Matlab valuta espressioni e ne assegna il valore a variabili. Nel caso piu

semplice il valore e un numero reale.

Assegnazione di variabili:

>> z=6

z =

6

z e il nome della variabile, 6 il suo valore.

>> 6+2

ans =

8

se non specificato il valore 8 dell’espressione viene assegnato alla variabile

ans che contiene sempre l’ultimo valore non esplicitamente assegnato ad

una variabile.

>> a=2.5;

>> a

a =

2.5

Il ; alla fine dell’istruzione sopprime la visualizzazione a schermo del risul-

tato (ma non l’esecuzione dell’operazione!).

4

Page 5: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

I nomi delle variabili devono rispettare le regole seguenti:

• contenere al massimo 31 caratteri

• non iniziare MAI con un numero

• non contenere spazi

• non contenere segni di punteggiatura ed operazione

• non contenere apostrofi, slash e backslash

• possono contenere l’underscore

• lettere maiuscole e minuscole sono caratteri differenti

>> (who) whos

(elenca le variabili attualmente attive in memoria) e da alcune informazioni

importanti sulle loro caratteristiche (tipo di oggetto, dimensioni ...)

>> clear all

cancella il valore di tutte le variabili attive in memoria.

5

Page 6: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Alcune variabili predefinite:

• pi (pigreco),

• i,j (unita immaginaria),

Ogni variabile puo essere sovrascritta. Per tornare indietro: clear.

>>pi

3.1416

>>pi=5;

>> clear pi

>> pi

3.1416

6

Page 7: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Operazioni elementari

Sono definite le operazioni elementari: +, −, ∗, /, ∧ (elevamento a

potenza).

>> a=3+2.5, b=5-3, d=3*4.2, e=3/2, f=2^3

Attenzione alle precedenze:

>> 3+2*4

ans=

11

>> 3*2^4

ans=

48

Per alterare l’ordine delle operazioni si utilizzano le parentesi tonde.

>> (3+2)*4

ans=

20

>> (3*2)^4

ans=

1296

7

Page 8: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Esercizio 1

• Posto a = 3, b = 2, calcolare

3

a + b,

a + b

2,

a + b

2a,

1

813

,4√

64

• Se x = 10, y = 5, z = 2, calcolare

3x− 2y

5z2(= 1)

• Se a = 13, b = 1

5, calcolare

a−3

(1− b + 3a)2(= 8.3)

Attenzione:

Usualmente si scrive ad esempio 3x intendendo 3 · x, e importante non

dimenticare l’operatore di moltiplicazione quando si inserisce il comando

per valutare l’espressione in matlab, infatti in caso contrario si ottiene

l’errore:

>> x=10;

>> 3x

3x

|

Error: Unexpected MATLAB expression.

8

Page 9: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

ATTENZIONE Alcune proprieta delle operazioni elementari nell’aritmetica

del calcolatore non valgono piu.

Alcuni numeri non possono essere rappresentati.

Si ponga a=1 e b=1e50 (in notazione esponenziale 1e50 significa 1050). Si

divida ripetutamente a per b e si osservi il risultato. Ripetere l’esercizio

partendo da a=1 e moltiplicando per b.

Esempio in cui la somma non e associativa.

>> a=1.0e+308;

>> b=1.1e+308;

>> c=-1.001e+308;

>> (a+b)+c

ans =

Inf

>> a+(b+c)

ans =

1.0990e+308

Esempio di cancellazione numerica. In aritmetica esatta, usando la

nota identita (a + b)(a− b) = a2 − b2, si ottiene facilmente

√x2 + 1− x =

1√x2 + 1 + x

∀x ∈ R . (1)

Calcolando con Matlab:

>> x=77777777;

>> y1=sqrt(x^2+1)-x

9

Page 10: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

y1 =

0

>> y2=1/(sqrt(x^2+1)+x)

y2 =

6.4286e-09

Numeri Complessi:

In Matlab sono anche definiti i numeri complessi, ovvero del tipo: z =

Re(z) + i Im(z). Se la variabile predefinita i, contenente l’unita immagi-

naria, non e stata ridefinita, un tale numero puo essere scritto in Matlab

nei modi seguenti:

>> z=5+3i

z =

5.0000 + 3.0000i

>> y=2.5-2*i

y =

2.5000 - 2.0000i

Esistono funzioni predefinite di Matlab che operano sui numeri complessi,

ad esempio se z = x + iy abbiamo:

>> real(z) restituisce x

>> imag(z) restituisce y

>> conj(z) restituisce il complesso coniugato: x-iy

10

Page 11: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Funzioni matematiche predefinite:

abs(x) |x|sqrt(x)

√x

nthroot(x, n) n√x ∈ R con x, n ∈ R

exp(x) ex con e = 2.7182818284... costante di Nepero

log(x) ln(x)

sin(x) sen(x)

cos(x) cos(x)

tan(x) tan(x)

asin(x) arcsen(x)

. . .

Per vedere l’elenco:

>> help elfun

Osservazione: Per calcolare la costante di Nepero e

>> exp(1)

ans =

2.7183

11

Page 12: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Alcune osservazioni sull’ uso delle funzioni:

Oss.1: nthroot(x,n) restituisce la radice n-esima reale di un numero

reale x. In particolare n deve essere uno scalare e se x e negativo n deve

essere un numero intero dispari. Si osservi che

>> nthroot(-8, 3)

ans =

-2

>> (-8)^(1/3)

ans =

1.0000 + 1.7321i

nel primo caso si ottiene la radice reale (−2), nel secondo una radice com-

plessa di −8. Si noti infatti che

(−2)3 = (1.0000 + 1.7321i)3 = (1.0000− 1.7321i)3 = −8.

Sono n i numeri complessi che soddisfano l’equazione xn = a con a numero

reale, e solo alcuni tra essi sono eventualmente numeri reali.

Oss.2: Se z=a+bi e un numero complesso per definizione si ha |z| =√a2 + b2

>> z=2+3i

>> abs(z)

ans =

3.6056

12

Page 13: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Oss.3: Se z e un numero negativo o complesso log(z) non da errore ma

restituisce il logaritmo complesso. Ad esempio

>> log(-1)

ans =

0 + 3.1416i

Oss.4: Per valori di x in [−1, 1] la funzione asin(x) ritorna valori in

[−π2 ,

π2 ] per valori di x fuori da [−1, 1] restituisce un numero complesso, in

quanto implementa la definizione della funzione trigonometrica inversa sul

campo complesso.

>> asin(3)

ans =

1.5708 - 1.7627i

Analogamente per la funzione acos.

Esercizio 2 Calcolare le seguenti variabili reali:

• y = 2 sin(x) cos(x)− cos(2x) con x = π/2, (R : y = 1)

• y =x

5√x− 9

con x = 5 (R : y = −3.7893)

• y =esin(x

2) + cos(x)

2√x + 5ln(x)

con x = 10, (R : y = −0.0133)

13

Page 14: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Vettori in Matlab

Assegnazione di un vettore riga:

>> w=[1 2 3]

w =

1 2 3

Assegnazione di un vettore colonna:

>> v=[1; 2; 3]

w =

1

2

3

Altri modi di generare vettori riga:

>> v=[1:8]

v =

1 2 3 4 5 6 7 8

>> v=[1:.5:3]

v =

1.0000 1.5000 2.0000 2.5000 3.0000

La sintassi generale e

v=[valore iniz:passo:valore finale].

Il passo puo essere anche negativo, ad es. v=[10:-.5:1];

14

Page 15: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Il comando

linspace(valore iniziale, valore finale, N)

genera N valori equispaziati fra valore iniziale e valore finale (es-

tremi compresi). Ad esempio

>> v=linspace(0,1,5)

0 0.2500 0.5000 0.7500 1.0000

Il comando zeros(n,1)( zeros(1,n)) produce un vettore colonna (riga)

di lunghezza n con elementi tutti nulli.

Il comando ones(n,1) (ones(1,n)) genera un vettore colonna (riga) con

tutte le componenti pari a 1. Per conoscere la lunghezza di un vettore v:

>> length(v)

ans =

5

Per controllare la dimensione di una variabile v:

>> size(v)

ans =

1 5

15

Page 16: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Accedere alle componenti di un vettore

Per accedere ad una singola componente di un vettore:

>> v(3)

ans =

0.5

Attenzione: in Matlab l’indicizzazione inizia da 1 e non da 0!

Matlab produce un messaggio di errore quando si cerchi di accedere ad una

componente non definita, ad esempio:

>> z=v(0)

??? Subscript indices must either be real positive

integers or logicals.

Nota: esiste in Matlab la parola chiave end per accedere all’ultimo ele-

mento di un vettore. Ad es., se v ha dieci elementi, v(end) equivale a

v(10).

Per accedere a piu componenti dello stesso vettore posso utilizzare un vet-

tore di indici:

>> x=[-2, 4, 6, -3, 0, 1];

>> x(1:3)

ans =

-2 4 6

16

Page 17: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

>> x([4,2,1])

ans =

-3 4 -2

>> x(1:2:5)

ans =

-2 6 0

17

Page 18: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Alcune operazioni su vettori

Dati i vettori v=[1 2 3 4] e w=ones(1,4).

Trasposizione:

>> u=v’

u =

1

2

3

4

Somma (sottrazione) algebrica tra vettori di ugual dimensioni

>> v+w

ans =

2 3 4 5

>> v-w

ans =

0 1 2 3

Prodotto o divisione per uno scalare.

>> 2*v

ans =

2 4 6 8

18

Page 19: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Somma o sottrazione di uno scalare.

>> v + 5

ans =

6 7 8 9

Operazioni su vettori “componente per componente”.

Consideriamo i vettori di ugual dimensione

a=[1 2 3 4], b=[4 3 2 1].

il prodotto componente per componente genera il vettore:

(a1b1, a2b2, a3b3, a4b4)

>> a.*b

ans =

4 6 6 4

la divisione componente per componente genera il vettore:

(a1/b1, a2/b2, a3/b3, a4/b4)

>> a./b

ans =

0.2500 0.6667 1.5000 4.0000

19

Page 20: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

l’elevamento a potenza componente per componente genera il

vettore: (ab11 , ab22 , a

b33 , a

b44 )

>> a.^b

ans =

1 8 9 4

Le stesse operazioni possono essere applicate a vettori colonna (o a matrici

come vedremo in seguito). E necessario pero che gli operandi abbiano la

stessa dimensione, fa eccezione il caso in cui uno dei due e una costante:

>> a.^3

ans =

1 8 27 64

Funzioni matematiche valutate in vettori

Le funzioni matematiche ammettono come argomento non solo gli scalari,

ma anche vettori (piu avanti vedremo anche matrici). Un esempio:

>> x= [0, pi/6, pi/4, pi/3, pi];

>> sin(x)

ans =

0 0.5000 0.7071 0.8660 0.0000

Se invece avessi voluto calcolare il valore, nelle componenti del vettore x,

della funzione x sinx avrei scritto:

20

Page 21: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

>> x.*sin(x)

ans =

0 0.2618 0.5554 0.9069 0.0000

Esercizio 3

• generare gli interi da 28 a 80 con passo 1

• generare gli interi da 22 a -10 con passo -4

• generare 125 punti equispaziati tra -1 e 5

• assegnati i vettori u = [1, 0, 2,−3] e v = [3; 0; 2; 1] calcolare i vettori

colonna z, w, y definiti, componente per componente, da

zi = ui ∗ vi, wi = uvii , yi = zi/wi

• generato il vettore contenente 11 punti equispaziati tra 1 e 2, valutare

nei suoi elementi le funzioni x log x e x3 cosx

21

Page 22: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Manipolazione di sottoblocchi di vettori e concatenazione

Siano v=[1 2 3 4 5] e w=[100 200].

Per sostituire alle ultime due componenti di v le componenti di w:

>> v=[1 2 3 4 5]; w=[100 200];

>> v(end-1:end)=w

v=

1 2 3 100 200

Per eliminare da v la terza e la quarta componente usiamo il vettore vuoto

[]:

>> v=[1 2 3 4 5];

>> v(3:4)=[];

v=

1 2 5

Per concatenare i due vettori:

>> z=[v w]

z=

1 2 3 4 5 100 200

22

Page 23: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Altre funzioni predefinite sui vettori

>> v=[1,5,3];

>> sum(v)

ans =

9

>> prod(v)

ans =

15

>> max(v)

ans =

5

>> min(v)

ans =

1

>> sort(v)

ans =

1

3

5

>> diff(v) % => [v(2)-v(1), v(3)-v(2),...v(end)-v(end-1)].

ans =

4 -2

23

Page 24: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Esercizio 4

• Sia x = [−3, 5, 8, 0, 1, 5,−2, 4]:

- imporre 6◦ elemento =100

- togliere 4◦ elemento

- aggiungere in testa = [1, 2, 3]

• Si consideri la successione di termine n-esimo an = sin(n2) con n ≥ 1.

Si calcolino il piu grande e piu piccolo numero tra i primi 10 elementi

della successione.

Suggerimento: Si eseguano operazioni sul vettore [1, 2, 3, . . . , 10].

(Soluzioni: max = 0.9200, min = −0.9918)

• Verificare per n = 10, 100 le seguenti uguaglianze

n∑i=1

i =n(n+ 1)

2;

n∑i=1

i2 =n(n+ 1)(2n+ 1)

6

Suggerimento: Si eseguano operazioni sul vettore [1, 2, 3, . . . , n].

• Si consideri la successione di termine k-esimo ak = 1/k, k ≥ 1.

- Calcolare la somma dei primi 100 termini della successione.

- Per n = 10, 100 calcolare il vettore b di componenti bk = ak+1−akcon k = 1 . . . n− 1 e verificare che la somma delle sue componenti

e uguale ad an − 1.

N.B. Si risolva l’esercizio eseguendo operazioni vettoriali.

24

Page 25: Complementi di Matematica e Calcolo Numerico A.A. 2016 ...users.mat.unimi.it/users/bressan/chimica/aa1617/lab1_2017.pdfLaboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory)

Esercizi di riepilogo:

1. Calcolare:

y = e−2x cos(3x)− 3√x + 1 con x = 3, (R = −6.0023)

a =e2 cos(π/6) + 1

4 + ln(3), (R = 1, 4512)

2. • generare gli interi da -13 a 75 con passo 2

• generare i punti tra -2.7 a 8.3 con passo 1.5 (cosa si osserva?)

• generare 100 punti equispaziati tra 2 e 3

• generare 150 punti equispaziati tra -2 e 3

3. Sia x = [−1, 2, 3, 8, 10, 5,−4, 3]:

imporre 1◦, 2◦, 3◦ elemento = [5, 6, 7]

aggiungere in coda = [10, 11, 12]

togliere, con un solo comando, dal 4◦ al 7◦ elemento compresi.

4. Si consideri la successione di termine k-esimo ak = 1/k, k ≥ 1.

- Calcolare il prodotto dei primi 10 termini di indice dispari della suc-

cessione.

- Considerare i primi n = 20 termini della successione e calcolare:

B1 =

n−1∑k=1

ak+1

ak, B2 =

√√√√ n∏k=2

(ak + a1)

( Soluzioni: B1 = 16.4023, B2 = 3.2404)

25