Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MATLAB possiede diverse librerie di funzioni toolboxes- che consentono di affrontare con
MATLAB (MATrix LABoratory) creato originariamente come uno strumento per manipolare le
semplicit diverse tipologie di problemi di ingegneria, di matematica:
matrici diventato lambiente di calcolo scientifico pi utilizzato nellingegneria e nella ricerca
Calcolo di integrali e derivate
scientifica universitaria ed industriale.
Esso ha elevate potenzialit di: Risoluzioni di equazioni differenziali complesse
Calcolo: ogni oggetto in MATLAB una matrice, ad esempio Modellazione, simulazione di sistemi reali complessi multivariabili
PAGINA 2
Ambiti tipici di utilizzo di MATLAB sono: In realt ogni variabile per MATLAB una struttura di tipo vettoriale o array.
Un array un insieme di valori ordinati, secondo uno o pi indici, cui ci si riferisce con un singolo nome di
Calcolo/matematica
variabile.
Analisi di dati Dalla versione 5 di MATLAB, e successive, possibile utilizzare array con pi di due indici.
Tipicamente un array ad un indice detto vettore, ed un array a due indici chiamato matrice.
Simulazione dinamica
Sviluppo di algoritmi
Visualizzazione/Grafica
PAGINA 3 PAGINA 4
La sequenza di numeri interi {2,3, 7, 2, 11,8} pu essere rappresentata in forma di array ad un solo indice
x nelle forme:
La matrice di sinistra detta di tipo 23, dove 2 indica il numero di righe e 3 il numero di colonne.
Conseguentemente quella di destra detta di tipo 3 2. Il numero di righe per il numero di colonne fornisce
il numero di elementi della matrice, ossia 6.
In questo caso avremo due indici, il primo riferito alle righe dellarray, il secondo riferito alle colonne.
Larray di sinistra detto vettore riga, quello di destra vettore colonna.
Entrambi iniziano da uno, la numerazione del primo indice va dallalto al basso (righe) e quella del secondo
Entrambi hanno lunghezza 6. Tramite luso degli indici, la cui numerazione va da 1 a 6, da sinistra a destra
da sinistra a destra (colonne). Per la matrice di sinistra A(1, 2) corrisponde a 3 ed A(2, 2) a 11, mentre per
nei vettori riga e dallalto verso il basso nei vettori colonna, possiamo accedere ad un dato valore allinterno
quella di destra A(2, 1) corrisponde a 3 e A(2, 2) a 11.
dellarray.
Ad esempio a x(2) corrisponder il valore 3, cos come a x(5) il valore 11.
PAGINA 5 PAGINA 6
Introduzione a MATLAB Introduzione a MATLAB
In particolare si noti che il vettore x del precedente esempio nella forma riga o colonna rispettivamente una Se invece considerassimo
>> x=[2; -3; 7; 2; 11; -8]
matrice di tipo 16 o 61. Questo esattamente il modo in cui MATLAB definisce i vettori. Non solo, per
x=
MATLAB anche le quantit scalari sono semplici matrici di tipo 1 1. 2
-3
Per memorizzare il precedente vettore x nella forma riga in MATLAB possiamo utilizzare la seguente
7
espressione 2
11
-8
>> x=[2 -3 7 2 11 -8] si otterrebbe un vettore colonna.
x=
Le componenti in questo caso sono delimitate da un punto e virgola.
2 -3 7 2 11 -8
Per visualizzare il valore di una componente del vettore basta scrivere
>> x(2)
Le parentesi quadre delimitano gli elementi del vettore, mentre gli spazi le singole componenti del vettore ans =
-3
riga.
PAGINA 7 PAGINA 8
PAGINA 9 PAGINA 10
B = A Con questo comando si ottiene la matrice trasposta di A, cio B = AT. C=[AB] In questo modo si lavora a blocchi, e cio si costruisce la matrice C
usando le matrici A e B gi disponibili, purch abbiano lo stesso
numero di righe.
Esempio :
Esempio :
1 5 3
A= 2 5 5 - 9 6
A= B=
- 6 4 8 0 4 9 7 3
1 - 6
B = A
B = 5 4
3 8 2 5 5 - 9 6
C=[AB]=
0 4 9 7 3
PAGINA 11 PAGINA 12
Introduzione a MATLAB Introduzione a MATLAB
A+B Loperazione di somma pu essere effettuata solamente se le due matrici A-B Loperazione di sottrazione pu essere effettuata solamente se le due
hanno le stesse dimensioni, in quanto la somma eseguita nel seguente matrici hanno le stesse dimensioni, in quanto la differenza eseguita nel
modo: seguente modo:
ci,j = ai,j + bi,j. ci,j = ai,j bi,j.
Esempio:
Esempio: -1 5 4 3 9 - 4
A= B=
-1 5 4 3 9 - 4 0 8 - 3 5 2 - 6
A= B=
0 8 - 3 5 2 - 6
- 4 - 4 8
C = A-B =
2 14 0 - 5 6 3
C = A+B =
5 10 - 9
PAGINA 13 PAGINA 14
x*A Con questo comando tutti gli elementi della matrice A vengono A*B Con questo comando viene fatto il prodotto fra le matrici A e B (il normale
moltiplicati per il valore x. prodotto riga-colonna fra matrici).
Esempio: Esempio :
1 2 2 4 0
A= B=
- 23 4 3 2 5 3 8
A= x=3
0 11
12 10 16
C = A*B =
- 69 12 16 18 16
B = x*A =
0 33
Per poter eseguire questo prodotto il numero delle colonne di A deve essere
uguale al numero di righe di B.
PAGINA 15 PAGINA 16
A(m,n) Questo comando serve a far vedere qual lelemento della matrice A che abs(A) Questo comando d una matrice i cui elementi ai,j sono i moduli degli
c nel posto am,n. elementi ai,j della matrice A di partenza.
Esempio : Esempio :
5 1 12 56
3 0 11 5 - 9 4 - 2 9 4 2
A=
A(3,4) = 23 con A= si ha abs(A) =
9 2 8 23 1 0 - 3 1 0 3
17 6 7 85
Esempio :
8 5 - 6
con A = - 2 0 - 4 si ha: max(A) = (8 6 0)
1 6 0
PAGINA 19 PAGINA 20
Alcune delle variabili predefinite in MATLAB sono riportate in Tabella. Le principali operazioni possibili sono indicate in Tabella, vedremo in seguito il significato delle operazioni
precedute da un punto, o puntuali.
Nonostante sia ammesso assegnare valori diversi a queste variabili, in generale buona regola evitare di
farlo, fatta eccezione per le variabili i e j spesso usate come indici interi.
PAGINA 21 PAGINA 22
restituisce una lista di funzioni (in maiuscolo) con una breve descrizione delle stesse.
PAGINA 23 PAGINA 24
Introduzione a MATLAB Introduzione a MATLAB
La notazione due punti Per costruire vettori colonna baster racchiudere lespressione tra parentesi tonde ed utilizzare loperatore
Per la costruzione di vettori e matrici MATLAB ha diverse funzioni predefinite. apostrofo
Un operatore di fondamentale importanza per costruire vettori equispaziati e per operare con indici la >> x=(2:5)
notazione due punti. La sintassi di base delloperatore
x=
Vettore=Inizio:Passo:Fine 2
3
dove Vettore `e un vettore riga, Inizio e Fine indicando il valore iniziale e finale del vettore e Passo un 4
parametro opzionale che indica lincremento relativo o la spaziatura tra gli elementi (se omesso Passo=1). 5
Si considerino i seguenti esempi Se il valore iniziale maggiore di quello finale ed il passo `e positivo viene creato un vettore nullo
>> x=1:10
>> x=10:1
x=
1 2 3 4 5 6 7 8 9 10 x=
[]
>> x=10:-1:1
x= lo stesso risultato si ha chiaramente anche se il valore iniziale minore di quello finale e lincremento
10 9 8 7 6 5 4 3 2 1 negativo. Il vettore nullo ha lunghezza zero, dimensione 0 0 ed `e denotato da due parentesi quadre senza
nulla allinterno.
PAGINA 25 PAGINA 26
Nel caso in cui il passo non sia intero pu risultare difficile luso delloperatore due punti. Ad esempio se restituisce un vettore riga x di lunghezza n con la propriet`a che lelemento di indice i vale
vogliamo creare un vettore con un numero prefissato di punti equispaziati allinterno di un dato intervallo. In
questo caso preferibile utilizzare il comando linspace la cui sintassi x(i) = a+(i 1) (b a)/(n 1).
dove il parametro Numero di Punti opzionale, e se omesso viene preso uguale a 100. >> a = 0; b=1; n=5;
>> x = linspace(a,b,n);
>> x =
0
0.2500
0.5000
0.7500
1.0000
PAGINA 27 PAGINA 28
PAGINA 29 PAGINA 30
Introduzione a MATLAB Introduzione a MATLAB
Una operazione che pu risultare utile quella di cancellare alcuni elementi in un vettore cambiandone allo Ecco alcune funzioni MATLAB che consentono di costruire particolari matrici e vettori. Si consulti lhelp
stesso tempo la dimensione per una descrizione dettagliata.
>> x = 1:10;
>> x(1:3)=[]
x=
4 5 6 7 8 9 10
la stessa tecnica pu essere usata nel caso di matrici per rimuovere intere righe o colonne
>> A = [1 2 3; 4 5 6; 7 8 9];
>> A(:,1)=[]
A=
23
56
89
PAGINA 31 PAGINA 32
PAGINA 33 PAGINA 34
Analogamente nel caso di una matrice m n il valore medio sar In particolare luso del ciclo for pu essere evitato utilizzando la funzione MATLAB sum nella forma
somma=sum(x)
Nel caso di un vettore tale risultato pu essere ottenuto con la seguente funzione che assegna alla variabile somma la somma degli elementi del vettore x.
function m=mediav(x) Si confronti la funzione mediav con la funzione mean predefinita in MATLAB.
% Sintassi m=mediav(x)
% Calcola la media del vettore x
n=length(x);
somma=0;
for i=1:n
somma=somma+x(i);
end
m=somma/n;
PAGINA 35 PAGINA 36
Introduzione a MATLAB Introduzione a MATLAB
Vediamo ora una funzione per calcolare in maniera analoga per calcolare la media di una matrice. Gli esempi precedenti hanno la caratteristica di ripetere un blocco di istruzioni un numero prefissato di volte.
In molte circostanze si ha la necessit di ripetere un certo numero di operazioni diverse volte a seconda che
function M=mediam(A) una certa condizione sia verificata oppure no. In questo caso si utilizza il costrutto
% Sintassi M=mediam(A)
% Calcola la media della matrice A
% while Condizione
[m,n]=size(A); blocco di istruzioni
somma=0; end
for i=1:m
for j=1:n
somma=somma+A(i,j); Dove Condizione unespressione che MATLAB valuta numericamente e che viene interpretata come vera
end
se diversa da zero.
end
M=somma/(m*n);
I due cicli for sono annidati luno allinterno dellaltro ed il blocco principale di istruzioni viene eseguito
m per n volte. Per utilizzarla si pu scrivere
PAGINA 39 PAGINA 40
risulta particolarmente utile qualora si debbano eseguire numerose scelte di tipo esclusivo (se una I blocchi di istruzioni sono eseguiti solo se lEspressione assume il corrispondente Valore.
verificata le altre sono false).
Lultimo blocco di istruzioni sar eseguito solo nel caso in cui Espressione non abbia assunto nessuno dei
precedenti valori.
PAGINA 41 PAGINA 42
Introduzione a MATLAB Introduzione a MATLAB
In matlab si lavora con file chiamati m-files. v% Questo simbolo individua una linea di commento nella stesura del file function.
In questa linea ci sono informazioni utili messe per capire il funzionamento del
Generalmente si usano quelli gi inseriti, ma a volte necessario costruirne di appositi. programma da parte dellutente, ma che non sono eseguite dal Introduzione a
MATLAB .
Gli m-files si dividono in due tipi: quelli script e quelli function. vfor Questa istruzione ripete le operazioni che seguono, fino alla parola end,
facendo incrementare lindice i di una unit dal valore iniziale fino al valore
I primi contengono semplicemente una sequenza di istruzioni matlab ed utilizzano tutte le massimo.
Esempio :
variabili gi definite in matlab (variabili globali). for i = 1:4 % (1 punto iniziale, passo 1, 4 valore massimo)
s(i) = 3*i ;
I secondi, invece, definiscono una nuova funzione matlab; essi accettano dei dati di input e end %questo crea il vettore s = (3,6,9,12)
Ci sono poi i for annidati, e ognuno di loro va sempre chiuso con un end.
restituiscono dei dati di output come risultato della loro elaborazione. Le variabili che si Esempio :
A = zeros(10)
usano qui sono locali, e cio nascono e muoiono nella function e non in matlab. Gli m-files for i = 1:10 % indice di riga
for j = 1:10 % indice di colonna
vengono scritti nelleditor, che una finestra predisposta a questa funzione. A(i,j) = i+j ;
end
end
PAGINA 43 PAGINA 44
istruzione 2 Script
else
istruzione 3 n = input('assegna n :');
end s=0 % (inizializza la somma)
for i = 1: n
Se listruzione 3 vuota lelse si pu omettere. s = s+2*i^2*sin(i);
end
vwhile E usato in questo modo: s %(mettendo s qui ritorna subito il risultato)
while relazione Function
operazione
end function s = somma(n)
Questa istruzione ripete le operazioni che si trovano fra la relazione e s=0;
lend fino a quando la relazione verificata. for i = 1: n
s = s+2*i^2*sin(i);
end
PAGINA 45 PAGINA 46
Es. FUNCTION
Grafici
function y = sind(x)
% La visualizzazione grafica dei dati pu essere fatta mediante varie funzioni. Tra le pi utilizzate ci sono:
% SIND(X) seno degli elementi di x espressi in
% gradi
% x = 0:pi/100:2*pi;
y=sin(pi*x/180); plot y = sin(x);
plot(x,y)
xlabel('x = 0:2\pi', 'FontSize',14)
ylabel('Sine of x', 'FontSize',14)
La funzione sind si esegue cos: title('Plot of the Sine Function','FontSize',18)
alpha=[0:1:90];
beta=sind(alpha)
% : il testo che segue sulla linea tutto commento ed anche il testo che appare come spiegazione con tante opzioni sul tipo di linea del grafico, sul colore, .
allhelp della funzione sind
PAGINA 47 PAGINA 48
Introduzione a MATLAB Introduzione a MATLAB
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)
legend('sin(x)','sin(x-.25)','sin(x-.5)')
x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
plot(x1,sin(x1),'r:',x2,sin(x2),'r+')
PAGINA 49 PAGINA 50
Spesso ci si pone il problema di disegnare diversi grafici separati in una stessa finestra. Lobiettivo pu
essere raggiunto facilmente utilizzando la funzione subplot la cui sintassi
dove Righe e Colonne definiscono la struttura della matrice di sottofinestre grafiche allinterno della finestra
grafica principale e Sottofinestra indica il numero della sottofinestra grafica attiva. Consideriamo a titolo di
esempio listruzione subplot(2,3,4). Tale istruzione suddivide la finestra in una matrice 2 3 di sottofinestre
ed attiva la quarta sottofinestra grafica. Le sottofinestre sono numerate come segue
PAGINA 51 PAGINA 52
>> n=5;m=5;
>> x=linspace(0,1,n);
>> y=linspace(0,1,m);
PAGINA 53 PAGINA 54
Introduzione a MATLAB Introduzione a MATLAB
Per creare il grafico della superficie `e sufficiente aggiungere le istruzioni La funzione principale quindi surf che ha la seguente sintassi
Oltre alle opzioni precedentemente discusse, ossia axis, title, xlabel, ylabel e zlabel, `e possibile cambiare il
colore, langolo di visualizzazione e realizzare grafici di tipo differente. Spesso risulta utile avere una
rappresentazione bidimensionale della superficie, analoga a quella comunemente utilizzata nella
realizzazione di mappe topografiche.
PAGINA 55 PAGINA 56
>> contour(X,Y,Z);
Grafico della funzione sinc= sin(r)/r.
In Figura possiamo confrontare il risultato grafico ottenuto con le funzioni surf e contour. Il grafico mostra
le curve di livello della funzione, ossia le curve sulle quali z = f(x, y) risulta costante. [X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z,'EdgeColor','black')
Grafico a colori
surf(X,Y,Z)
colorbar
Animazione grafica:
vibes
PAGINA 57 PAGINA 58
PAGINA 59 PAGINA 60
Introduzione a MATLAB Introduzione a MATLAB
Le variabili vengono conservate nellarea di memoria Workspace fino a esplicita cancellazione o fino
variabile = espressione; alluscita da MATLAB:
whos
se non viene dato nessun nome di variabile il risultato viene assegnato alla variabile ans who Name Size Bytes Class
Your variables x 1x1 8 double array
se viene messo un ; alla fine allora il risultato delloperazione non viene mostrato are: y 1x1 8 double array
x y
PAGINA 61 PAGINA 62
v save Serve a salvare le variabili in matlab alla fine del lavoro, e si usa cos: v who Visualizza solo il nome delle variabili che si stanno usando dallinizio della
sessione.
save nomefile lista variabili (senza virgole)
PAGINA 63 PAGINA 64
v format long Permette di visualizzare sullo schermo i numeri in un formato con pi cifre v path Questo comando serve a far vedere il percorso attraverso il quale
possibile accedere al file desiderato
decimali.
v format short Permette di ritornare (dopo aver utilizzato format long) al formato con cifre
decimali che sono in default. Si pu utilizzare semplicemente anche format. Per vedere/modificare la directory corrente:
v eps E il comando che d la precisione di macchina, cio il pi piccolo numero cd
macchina u per cui (in operazione macchina) si ha 1+u > 1.
PAGINA 65 PAGINA 66
Introduzione a MATLAB Introduzione a MATLAB
La sintassi della funzione disp la seguente Nel secondo caso largomento un vettore riga di stringhe, che vengono cos concatenate. Se vogliamo
costruire vettori colonna importante ricordarsi che le stringhe devono avere tutte la stessa dimensione
disp(stringa di caratteri)
>> disp([Gennaio ;Febbraio;Marzo ])
dove stringa di caratteri rappresenta un array di stringhe di tipo vettore o matrice, dove ogni stringa Gennaio
racchiusa tra apici. Ad esempio potremo scrivere Febbraio
Marzo
>> disp(Oggi e lunedi) cosa che pu essere facilmente ottenuta inserendo un opportuno numero di spazi.
oggi e lunedi
In molte circostanze si ha inoltre la necessit di rappresentare valori numerici in uscita.
>> disp([Gennaio ,Febbraio ,Marzo]) Vediamo due differenti possibilit, la prima tramite il seguente esempio
Gennaio Febbraio Marzo
>> x=10;
Osserviamo che per utilizzare i simboli di apostrofo/accento allinterno della stringa si deve utilizzare il >> stringa = [x = , num2str(x)];
simbolo come delimitatore per evitare conflitti con il segnale di inizio e fine della stringa. >> disp(stringa)
x = 10
PAGINA 67 PAGINA 68
PAGINA 69 PAGINA 70
% tabcossin.m
% Realizza una tabella di valori di coseno e seno
%
n=input(Inserisci il numero di valori ? : );
x=linspace(0,pi,n);
c=cos(x);
s=sin(x);
disp(------------------------------------------);
fprintf(k\t x(k)\t cos(x(k))\t sin(x(k))\n);
disp(------------------------------------------);
fprintf(%d\t %3.2f\t %6.5f\t %6.5f\n,[1:n;x;c;s]);
PAGINA 71 PAGINA 72
Introduzione a MATLAB Introduzione a MATLAB
che produce il seguente output La funzione input stata utilizzata per assegnare un valore al numero di punti n.
Variabile=input(Stringa di caratteri)
Il valore assegnato potr quindi essere di tipo scalare, vettore oppure matrice utilizzando la sintassi standard
di MATLAB.
PAGINA 73 PAGINA 74
PAGINA 75 PAGINA 76
dove Formato un parametro opzionale. Se tale parametro omesso il file salvato in formato binario e
qualora il file non abbia estensione a questo aggiunta lestensione .mat. Il formato -ascii consente di per leggere il file. Se vogliamo leggere un file di testo che non ha estensione allora luso del formato -ascii
salvare file in modalit testo. Potremo leggere la precedente tabella tramite il seguente
obbligatorio anche in lettura, altrimenti opzionale. Si noti che MATLAB crea una matrice contenente i
% visualizzavalori.m valori precedentemente registrati ed a questa assegna il nome del file in lettura.
% Esempio di input da file con load
%
load tabella.dat Nellesempio precedente listruzione load tabella.dat legge i valori presenti nel file tabella.dat e li assegna ad
A=tabella;
una matrice chiamata tabella. La riga successiva A=tabella assegna la matrice di valori alla variabile A.
disp(------------------------------------------);
fprintf(k\t x(k)\t cos(x(k))\t sin(x(k))\n);
disp(------------------------------------------);
fprintf(%d\t %3.2f\t %6.5f\t %6.5f\n,A);
PAGINA 77 PAGINA 78
Introduzione a MATLAB Introduzione a MATLAB
Toolboxes
Help
Esistono m-files forniti insieme a
MATLAB e raggruppati in Toolboxes per Al prompt di MATLAB:
funzione/argomento, ad esempio:
>> help per vedere la lista dei toolboxes installati
>> help nome_toolbox per vedere la lista dei comandi installati in un toolbox
>> help nome_comando guida on-line di MATLAB sullo specifico comando
>> ver info sulla versione di MATLAB
>> helpwin finestra di help di MATLAB
PAGINA 79 PAGINA 80
Cos SIMULINK?
SIMULINK un ambiente con interfaccia grafica allinterno di MATLAB per la
un tool di MATLAB interattivo, con potente interfaccia grafica per la simulazione modellizzazione e la simulazione di sistemi dinamici (rappresentati come schemi a
dinamica modulare di sistemi blocchi);
ha una libreria di modelli predefiniti a cui si possono aggiungere blocchi nuovi definiti attraverso m-files
dallutente
PAGINA 81 PAGINA 82
Introduzione a MATLAB
Simulink Introduzione a MATLAB
Simulink
La libreria di blocchi
PAGINA 83 PAGINA 84
Introduzione a MATLAB Introduzione a MATLAB
Simulink Simulink
In generale, i passi da fare per simulare un sistema sono i seguenti: MATLAB doppio click sullicona o sul file eseguibile matlab.exe e compare
il prompt >>
modellizzazione matematica del sistema fisico (eq. differenziali, ad esempio) SIMULINK >> simulink
scelta di un algoritmo di soluzione numerica
Comando specifico >> nome_comando
codifica dellalgoritmo di soluzione
assegnamento di condizioni iniziali, ingressi e parametri
Uscita da MATLAB >> quit (exit)
simulazione dinamica
visualizzazione dei transitori e analisi dei risultati
PAGINA 85 PAGINA 86
q modalit grafica (il modello viene poi salvato come file *.mdl)
q descrizione Matlab del modello (*.m) [s-functions]
q descrizione del modello come programma C e traduzione in un file Matlab *.cmex
le s-functions possono essere poi utilizzate direttamente come blocchi Simulink (per
descrivere modelli complessi e non presenti gi in libreria)
PAGINA 87 PAGINA 88
PAGINA 89 PAGINA 90
Introduzione a MATLAB Introduzione a MATLAB
Simulink Simulink
Matlab Matlab
SimPowerSystems Simulink
PAGINA 93 PAGINA 94
Matlab Matlab
Simulink Simulink
PAGINA 95 PAGINA 96
Matlab Matlab
Simulink Simulink
PAGINA 97 PAGINA 98
Matlab Matlab
Simulink Simulink
Matlab Matlab
Simulink Simulink
Matlab Matlab
Simulink Simulink
htWindows = 1; % -------------------------------
% Width of windows = 1 m % Determine the equivalent thermal resistance for the whole building
widWindows = 1; % -------------------------------
windowArea = numWindows*htWindows*widWindows; Req = RWall*RWindow/(RWall + RWindow);
wallArea = 2*lenHouse*htHouse + 2*widHouse*htHouse + ... % c = cp of air (273 K) = 1005.4 J/kg-K
2*(1/cos(pitRoof/2))*widHouse*lenHouse + ... c = 1005.4;
tan(pitRoof)*widHouse - windowArea; % -------------------------------
% ------------------------------- % Enter the temperature of the heated air
% Define the type of insulation used % -------------------------------
% ------------------------------- % The air exiting the heater has a constant temperature which is a heater
% Glass wool in the walls, 0.2 m thick % property. THeater = 50 deg C
% k is in units of J/sec/m/C - convert to J/hr/m/C multiplying by 3600 THeater = 50;
kWall = 0.038*3600; % hour is the time unit % Air flow rate Mdot = 1 kg/sec = 3600 kg/hr
LWall = .2; Mdot = 3600; % hour is the time unit
RWall = LWall/(kWall*wallArea); % -------------------------------
% Glass windows, 0.01 m thick % Determine total internal air mass = M
kWindow = 0.78*3600; % hour is the time unit % -------------------------------
LWindow = .01; % Density of air at sea level = 1.2250 kg/m^3
RWindow = LWindow/(kWindow*windowArea); densAir = 1.2250;
PAGINA 105 PAGINA 106
Matlab Matlab
Simulink Simulink
M = (lenHouse*widHouse*htHouse+tan(pitRoof)*widHouse*lenHouse)*densAir;
% -------------------------------
% Enter the cost of electricity and initial internal temperature
% -------------------------------
% Assume the cost of electricity is $0.09 per kilowatt/hour
% Assume all electric energy is transformed to heat energy
% 1 kW-hr = 3.6e6 J
% cost = $0.09 per 3.6e6 J
cost = 0.09/3.6e6;
% TinIC = initial indoor temperature = 20 deg C
TinIC = 20;
Matlab Matlab
Simulink Simulink
Matlab Matlab
Simulink Simulink
Matlab Matlab
Simulink Simulink