Wyklad studport 4


Piki funkcji
function [zmienne wyjściowe] = nazwa_funkcji (zmienne wejściowe)
% wiersz opisu funkcji wykorzystywany przez polecenie lookfor
% komentarze do pomocy on-line przez funkcję help
% ...
Zmienne wejściowe i wyjściowe
:
są oddzielone są przecinkami
treść funkcji
:
function [x, y] = transformacja (r, fi)
% TRANSFORMACJA przekształca współrzędne biegunowe na kartezjańskie
% Plik nosi nazwę  transformacja.m
help transformacja
% Wywołanie funkcji: [x, y] = transformacja (r, fi)
x = r * cos (fi);
lookfor biegunowe
lookfor transformacja -all
y = r * sin (fi);
alternatywa (tylko fun. wewnętrzne): Help > Function Browser
Funkcja feval
function y = sinus (x);
Okienko poleceń:
k = 1;
>> alfa = pi/2;
skladnik = x;
suma = skladnik;
>> z = sinus (alfa);
while abs (skladnik) > abs (suma)*eps
>> 1.0
k = k + 2;
skladnik = skladnik*x*x/((k-1)*k);
>> % to samo inaczej
suma = suma + skladnik;
>> z = feval ('sinus', alfa)
end
y = suma;
>> 1.0
[y1, y2, ..., ym] = feval (uchwyt_funkcji, x1, ..., xn)
[y1, y2, & , ym] = feval (nazwa_funkcji, x1, ..., xn)
feval jest potrzebna przy przekazywaniu
nazwy funkcji poprzez listę zmiennych
łańcuch
wejściowych do wnętrza innej funkcji.
Funkcja jako zmienna wejściowa
Szukamy pierwiastka
function x = bisekcja (f, a, b);
funkcji f(x)
fa = feval (f, a);
fb = feval (f, b);
if sign (fa) == sign (fb)
Uogólnienie algorytmu
funkcja
disp ('zly przedzial')
ze slajdu Instrukcja break
return
end
while b-a > eps*b
Sposoby przekazania nazwy funkcji
x = (a+b)/2;
przez listę zmiennych wejściowych:
fx = feval (f, x);
if fx == 0
" przy użyciu funkcji inline
break
" przy użyciu nazwy funkcji
elseif sign (fx) == sign (fa)
a = x; fa = fx;
" przy użyciu uchwytu funkcji
else
b = x; fb = fx;
end
end
Za pomocą funkcji inline
function x = bisekcja (f, a, b);
y = x3 - 2x - 5
fa = feval (f, a);
fb = feval (f, b);
wielomian = inline ('x^3-2*x-5');
if sign (fa) == sign (fb)
z = bisekcja (wielomian, 0, 3)
disp ('zly przedzial')
return
end
while b-a > eps*b
x = (a+b)/2;
fx = feval (f, x);
if fx == 0
break
elseif sign (fx) == sign (fa)
>> wielomian = inline ('x^3-2*x-5')
a = x; fa = fx;
wielomian =
else
b = x; fb = fx;
Inline function:
end
f(x) = x^3-2*x-5
end
Za pomocą pliku funkcji (a)
function x = bisekcja (f, a, b); Równanie van der Waals a
fa = feval (f, a);
a
ć (v - b) = RT
fb = feval (f, b);
P +

v2
Ł ł
if sign (fa) == sign (fb)
disp ('zly przedzial')
Znalezć objętość molową CO2 w
return
temperaturze 300 K i pod
end
ciśnieniem 30 atm = 30*101325 Pa
while b-a > eps*b
x = (a+b)/2;
f (v) = (Pv2 + a)(v - b) - RTv2
fx = feval (f, x);
if fx == 0
function z = objCO2 (v);
break
T = 300; P = 30*101325;
elseif sign (fx) == sign (fa)
a = 3.643e5; b = 0.0427;
a = x; fa = fx;
R = 8314.47;
else
z = (P*v^2 + a)*(v - b) - R*T*v^2;
b = x; fb = fx;
end
objetosc = bisekcja ('objCO2', 0.4, 1.0)
end
Za pomocą pliku funkcji (b)
5
f(v)=(P*v2+a)(v-b)-RTv2
x 10
8
R = 8314.47 J/(kmolK)
7
f(0.7032)=0
T = 300 K
6
P = 30 atm = 3039750 Pa
5
dla CO2:
4
3
a = 3.643e5 Pa(m3/kmol)2
2
b = 0.0427 m3/kmol
1
0
-1
v = 0.7032 % m3/kmol
-2
0.4 0.5 0.6 0.7 0.8 0.9 1
v
f(v)
Za pomocą uchwytu funkcji
function x = bisekcja (f, a, b);
function z = objCO2 (v);
fa = feval (f, a);
T = 300; P = 30*101325;
fb = feval (f, b);
a = 3.643e5; b = 0.0427;
if sign (fa) == sign (fb)
R = 8314.47;
disp ('zly przedzial')
z = (P*v^2 + a)*(v - b) - R*T*v^2;
return
end
Uchwyt funkcji jest identyfikatorem
while b-a > eps*b
funkcji (zmienną) tworzonym przez
x = (a+b)/2;
użytkownika.
fx = feval (f, x);
uchwyt = @nazwa_funkcji;
if fx == 0
break
elseif sign (fx) == sign (fa)
omol = @objCO2;
a = x; fa = fx;
objetosc = bisekcja (omol, 0.4, 1.0)
else
b = x; fb = fx;
end
objetosc = bisekcja (@objCO2, 0.4, 1.0)
end
Zmienne globalne
function z = objCO2 (v); function z = objCO2 (v);
T = 300; P = 30*101325; global T P
a = 3.643e5; b = 0.0427; a = 3.643e5; b = 0.0427;
R = 8314.47; R = 8314.47;
z = (P*v^2 + a)*(v - b) - R*T*v^2; z = (P*v^2 + a)*(v - b) - R*T*v^2;
Okno poleceń:
Funkcje oraz ewentualnie obszar
>> global T P
roboczy Matlaba w których
>> T = 350;
zadeklarowano zmienne globalne
>> P = 20*101325;
współdzielą te zmienne.
>> objetosc = bisekcja ('objCO2', 0.1, 1.5)
objetosc =
Przestrzeń robocza objCO2:
1.3497
a 3.643e5
Przestrzeń robocza Matlaba:
b 0.0427
R 8314.47
T 350
T 350
P 2026500
P 2026500
objetosc 1.3497
z 1.3497
Rekurencja
silnia
Definicja iteracyjna:
0!=1
n!=1*2*3*...*(n -1)*n
Definicja rekurencyjna:
0!=1
n!= (n -1)!*n
Algorytmy iteracyjny i rekurencyjny
function wynik = silniaI (n);
% algorytm iteracyjny
wynik = 1;
while n>1
wynik = wynik * n;
n = n - 1
function wynik = silniaR (n);
end
% algorytm rekurencyjny
if n == 0
wynik = 1;
else
Funkcja rekurencyjna
wynik = silniaR (n-1) * n;
wywołuje samą siebie
podczas wykonywania
end
Działanie algorytmu
numer
iteracyjnego
iteracji
function wynik = silniaI (n);
n wynik
% algorytm iteracyjny
1
4 1 wynik = 1;
while n>1
3 4
wynik = wynik * n;
2 12 2
n = n - 1
1 24
end
3
silniaR(4)
Działanie algorytmu
rekurencyjnego
n 4
24
wynik silniaR(3) *4
function wynik = silniaR (n);
n 3
% algorytm rekurencyjny
6
wynik silniaR(2) *3 if n == 0
wynik = 1;
2
else
n 2
wynik := silniaR (n-1) * n;
wynik silniaR(1) *2
end
1
n 1 wartość zmiennej wynik
wynik silniaR(0) *1
n 0
wynik 1
Wady i zalety rozwiązania rekurencyjnego
" jest krótsze w zapisie
" zwykle spowalnia program i zwiększa
wykorzystanie pamięci
" czasami jest praktycznie niezbędne
Struktury
nazwisko imie telefon
osoba Tomicka Karolina 345-67-89
data temperatura lepkosc
0.0 10.49
eksperyment 26.10.2009
5.0 6.730
10.0 4.241
15.0 2.496
20.0 1.519
nazwa MW TC Antoine
6.95464
substancja chloroform 119.37704 263.25
-1170.966
226.232
Tworzenie struktur (1)
B
log p = A +
t + C
nazwa MW TC Antoine
6.95464
substancja chloroform 119.37704 263.25
-1170.966
226.232
substancja.nazwa = 'chloroform';
substancja.MW = 119.37704;
substancja.TC = 263.25;
wektor
substancja.Antoine = [6.95464; -1170.966; 226.232];
kolumnowy
substancja.Antoine (1) = 6.95464;
wektor
substancja.Antoine (2) = -1170.966;
wierszowy
substancja.Antoine (3) = 226.232;
substancja.nazwa = input ('Podaj nazwe substancji: ', 's');
substancja.MW = input ('Podaj mase molowa: ');
substancja.TC = input ('Podaj temperature krytyczna: ');
substancja.Antoine = input ('Podaj stale rownania Antoine ' 'a: ');
Dostęp do elementów struktury
nazwa MW TC Antoine
6.95464
substancja chloroform 119.37704 263.25
-1170.966
226.232
substancja.nazwa = 'chloroform';
substancja.MW = 119.37704;
B
substancja.TC = 263.25;
log p = A +
substancja.Antoine = [6.95464; -1170.966; 226.232];
t + C
B
ć
A+

skladnik = substancja.nazwa;
p =10Ł t+C ł
masamol = substancja.MW;
p = 10^(substancja.Antoine (1) + substancja.Antoine (2) / (t + ...
substancja.Antoine (3)));
Tworzenie struktur (2)
nazwisko imie telefon
osoba Tomicka Karolina 345-67-89
osoba.nazwisko = 'Tomczak';
osoba.imie = 'Karolina';
osoba.telefon = '345-67-89';
osoba.nazwisko = input ('Podaj nazwisko: ', 's');
osoba.imie = input ('Podaj imie: ', 's');
osoba.telefon = inpu t('Podaj telefon: ', 's');
osoba = struct ('nazwisko', 'Tomicka', 'imie', 'Karolina', 'telefon', '345-67-89');
s = struct ('pole1', wartosc1, 'pole2', wartosc2, ...); - tworzy strukturę
i wstawia wartości
s = struct ('pole1', { }, 'pole2', { }, ...); - tworzy pustą strukturę
Tworzenie tablicy struktur
nazwisko imie telefon
osoba Tomicka Karolina 345-67-89
disp('Wprowadzanie i zapis danych osobowych')
osoba = struct('imie', {}, 'nazwisko', {}, 'telefon', {});
1 2
k = 0;
znak = 't';
nazwisko
while znak == 't'
imie
k = k+1;
telefon
osoba (k).nazwisko = input ('Podaj nazwisko: ', 's');
osoba (k).imie = input ('Podaj imie: ', 's');
osoba (k).telefon = input ('Podaj telefon: ', 's');
znak = input ('Czy chcesz podac nowe dane (t/n)? ', 's');
znak = lower (znak);
małe litery
end
save ('telefony', 'osoba')
zapisuje w pliku telefony.mat
Funkcje niskiego poziomu odczytu i zapisu plików
binarnych i tekstowych
fid = fopen (nazwapliku, op);
fopen  otwiera istniejący plik albo tworzy nowy
fid  identyfikator pliku
fclose  zamyka otwarty plik
(liczba całkowita bez
fscanf  odczytuje sformatowane dane z pliku
znaku)
fprintf  zapisuje sformatowane dane do pliku
op  rodzaj operacji:
'r'  tylko odczyt
getl  czyta następną linię z pliku
'w'  zastąpienie starego
feof  sygnalizuje koniec pliku
albo utworzenie
nowego pliku
fread  odczytuje dane binarne z pliku
'a'  dołączenie do starego
fwrite  zapisuje dane binarne do pliku
albo utworzenie
nowego pliku
fseek  ustawia położenie wskaznika pliku
status = fclose (fid);
status = feof (fid);
status  zamknięty = 0
status  nie osiągnięto końca = 0
nie można zamknąć =  1
osiągnięto koniec =  1
Zapis danych do pliku tekstowego
wektory wierszowe
disp ('Zapis danych doswiadczalnych do pliku.')
temp = [ ];
fprintf (fid, format, A, ...);
cieplo = [ ];
n = input ('Liczba punktow pomiarowych: ');
format  łańcuch zawierający
for k = 1:n
tekst, znaki kontrolne
t = input ('Podaj temperature: ');
i kody formatu
c = input ('Podaj cieplo parowania: ');
znaki kontrolne:
temp = [temp t];
\n  nowa linia
cieplo = [cieplo c];
\t  tabulacja
end
' '  apostrof
dane = [temp; cieplo];
nazwa = input ('Podaj nazwe pliku: ','s');
kody formatu:
nazwa = [nazwa '.txt'];
%e  naukowy
fid = fopen (nazwa, 'w');
%f  stałopozycyjny
fprintf (fid, 'temperatura cieplo parowania\n');
%s  łańcuch
fprintf (fid, ' %5.1f %6.1f\n', dane);
%u - całkowity
fclose (fid);
zapisywana kolumnami
5  szerokość pola, 1  po kropce
Odczyt danych z pliku tekstowego
disp ('Odczyt danych doswiadczalnych z pliku.')
linia = fgetl (fid);
nazwa = input ('Podaj nazwe pliku: ', 's');
nazwa = [nazwa '.txt'];
linia  łańcuch przeczytany
fid = fopen (nazwa, 'r');
z pliku bez znaku
fgetl (fid); % pomija linię tekstu
końca linii
dane = [ ];
while feof (fid) == 0
linia d
linia = fgetl (fid);
d = str2num (linia);
'100 558' [100 558]
dane = [dane; d];
end
Zawartość czytanego pliku:
fclose (fid);
temperatura cieplo parowania
temp = dane (:, 1);
wektory kolumnowe
100.0 558.0
ciep = dane (:, 2);
125.0 531.0
150.0 502.0
175.0 460.0
183.0 433.0
Czytanie pliku tekstowego
disp ('Odczyt danych doswiadczalnych z pliku.')
Zawartość czytanego pliku:
nazwa = input ('Podaj nazwe pliku: ', 's');
100.0 558.0
nazwa = [nazwa '.txt'];
125.0 531.0
C= textscan (nazwa, '%f %f ');
150.0 502.0
175.0 460.0
Tablica komórek
183.0 433.0
ilość komórek = ilość kodów formatu
100.0
ł
558.0
ł
ę125.0ś
ę531.0ś
ę ś
ę ś
ę ś
C{1} = 150.0
ę ś
C{2} = 502.0
ę ś
ę460.0ś
ę175.0ś
ę ś
ę183.0ś
ę433.0ś


C = textscan (nazwa_pliku, format);
format  łańcuch zawierający kody formatu
Zapis danych do pliku binarnego (1)
1 2 3 4
ć
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16];

fid = fopen ('test.bin', 'w');
5 6 7 8

A =
m = fwrite (fid, A, 'int8');

9 10 11 12
status = fclose (fid);

13 14 15 16
Ł ł
położenie BOF 1 2 3 4 5 6 7 8 9 10 11 12
zawartość 1 5 9 13 2 6 10 14 2 7 11 15
1 bajt
13 14 15 16 EOF
Precyzja Interpretacja
'int8' całkowita; 8 bitów
4 8 12 16
'uint32' całkowita bez znaku; 32 bity
'float64' zmiennopozycyjna; 64 bity
m = fwrite (fid, A, precyzja);
Zapisuje kolumnami tablicę A do pliku o identyfikatorze fid ustalając rozmiar
elementów na podstawie łańcucha precyzja (m - ilość zapisanych elementów)
Zapis danych do pliku binarnego (2)
1 2 3 4
ć
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 268 14 15 16];

5 6 7 8
fid = fopen ('test.bin', 'w');

A =

m = fwrite (fid, A, 'int16');
9 10 11 12

status = fclose (fid);
268 14 15 16
Ł ł
położenie BOF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
zawartość 1 5 9 268 2 6 10 14
2 bajty 2 bajty
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 EOF
3 7 11 15 4 8 12 16
Zapis danych do pliku binarnego (3)
1 2 3 4
ć
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 268 14 15 16];

5 6 7 8
fid = fopen ('test.bin', 'w');

A =

m = fwrite (fid, A, 'int16');
9 10 11 12

status = fclose (fid);
268 14 15 16
Ł ł
położenie BOF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
zawartość 0 1 0 5 0 9 1 12 0 2 0 6 0 10 0 14
2 bajty 2 bajty 268=256+12
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 EOF
0 3 0 7 0 11 0 15 0 4 0 8 0 12 0 16
Wskaznik pliku
fseek (fid, 4, 'bof')
położenie BOF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
zawartość 0 1 0 5 0 9 1 12 0 2 0 6 0 10 0 14
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 EOF
0 3 0 7 0 11 0 15 0 4 0 8 0 12 0 16
status = fseek (fid, przesunięcie, początek);
Przesuwa wskaznik pliku o liczbę bajtów przesunięcie zaczynając od miejsca
podanego przez łańcuch początek.
przesunięcie > 0  do końca początek:
przesunięcie = 0  bez zmiany 'bof'  początek pliku
przesunięcie < 0  do początku 'cof'  bieżąca pozycja
'eof'  koniec pliku
status: 0  wykonano
-1  błąd
Odczyt danych a pliku binarnego (1)
położenie BOF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
zawartość 0 1 0 5 0 9 1 12 0 2 0 6 0 10 0 14
2 bajty 2 bajty 268=256+12
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 EOF
0 3 0 7 0 11 0 15 0 4 0 8 0 12 0 16
fid = fopen ('test.bin', 'r'); fid = fopen ('test.bin', 'r');
status = fseek (fid, 0, 'bof'); status = fseek (fid, 6, 'bof');
[B, n] = fread (fid, [2, 3], 'int16'); [B, n] = fread (fid, 2, 'int8');
fclose (fid); fclose (fid);
B =
B =
1 9 2
12
5 268 6
1
Odczyt danych a pliku binarnego (2)
A = fread (fid);  czyta w formacie binarnym wszystkie dane z pliku
o identyfikatorze fid oraz umieszcza je w tablicy A.
A = fread (fid, ilość); - czyta elementy pliku w podanej ilości.
A = fread (fid, ilość, precyzja); - czyta elementy pliku zgodnie z formatem
podanym w łańcuchu precyzja. Formatem
domyślnym jest 'uint8'.
Specyfikacja ilość może mieć postać:
n  czyta n elementów umieszczając je w wektorze kolumnowym
inf  czyta do końca pliku tworząc wektor kolumnowy o tej samej liczbie
elementów jaka jest w pliku.
[m, n]  czyta taką ilość elementów aby wypełnić tablicę o rozmiarze m n.
Jeżeli elementów w pliku jest zbyt mało uzupełnia tablicę zerami.
Tablica jest wypełniana kolumnami.
Funkcje odczytu i zapisu plików binarnych *.mat
load  czyta wartości zmiennych z pliku *.mat
save  zapisuje wartości zmiennych do pliku *.mat
load (nazwa_pliku, 'zmienna_1', 'zmienna_2', ...);
nazwa_pliku  łańcuch z nazwą pliku ewentualnie poprzedzony ścieżką
zmienna  łańcuch z nazwą zmiennej której wartość należy odczytać
struktura = load (nazwa_pliku);
nazwa_pliku  łańcuch z nazwą pliku ewentualnie poprzedzony ścieżką
struktura  zawiera wartości poszczególnych zmiennych
save (nazwa_pliku, 'zmienna_1', 'zmienna_2', ...);
nazwa_pliku  łańcuch z nazwą pliku ewentualnie poprzedzony ścieżką
zmienna  łańcuch z nazwą zmiennej której wartość należy zapisać
Zapis danych do pliku binarnego *.mat
disp ('Zapis danych doswiadczalnych do pliku.')
temp = [ ];
cieplo = [ ];
n = input ('Liczba punktow pomiarowych: ');
for k = 1:n
t = input ('Podaj temperature: ');
c = input ('Podaj cieplo parowania: ');
temp = [temp t];
cieplo = [cieplo c];
end
nazwa = input ('Podaj nazwe pliku: ','s');
save (nazwa, 'temp', 'cieplo');
save (nazwa_pliku, 'zmienna_1', 'zmienna_2', ...);
nazwa_pliku  łańcuch z nazwą pliku ewentualnie poprzedzony ścieżką
zmienna  łańcuch z nazwą zmiennej której wartość należy zapisać
Odczyt danych z pliku binarnego *.mat
disp ('Odczyt danych doswiadczalnych z pliku.')
nazwa = input ('Podaj nazwe pliku: ', 's');
load (nazwa, 'temp', 'cieplo');
load (nazwa_pliku, 'zmienna_1', 'zmienna_2', ...);
nazwa_pliku  łańcuch z nazwą pliku ewentualnie poprzedzony ścieżką
zmienna  łańcuch z nazwą zmiennej której wartość należy odczytać
disp ('Odczyt danych doswiadczalnych z pliku.')
nazwa = input ('Podaj nazwe pliku: ', 's');
dane = load (nazwa);
temperatura = dane.temp;
cieplo_parowania = dane.cieplo;
struktura = load (nazwa_pliku);
nazwa_pliku  łańcuch z nazwą pliku ewentualnie poprzedzony ścieżką
struktura  zawiera wartości poszczególnych zmiennych
Funkcja xlsread  odczyt pliku Excela
A = xlsread (nazwa_pliku);  czyta dane numeryczne z pierwszego
arkusza Microsoft Excel
A = xlsread (nazwa_pliku, -1);  otwiera okno Excela umożliwiając
interaktywny wybór czytanych danych
A = xlsread (nazwa_pliku, arkusz);  czyta dane numeryczne z podanego
arkusza
A = xlsread (nazwa_pliku, zakres);  czyta dane numeryczne z podanego
zakresu pierwszego arkusza
A = xlsread (nazwa_pliku, arkusz, zakres);  czyta dane numeryczne z podanego
arkusza i zakresu
nazwa_pliku  łańcuch z nazwą pliku ewentualnie poprzedzony ścieżką
zakres  łańcuch z nazwą górnej lewej komórki albo nazwami górnej lewej
i prawej dolnej oddzielonych dwukropkiem
arkusz  nr arkusza albo łańcuch z nazwą arkusza
A  tablica zawierająca wartości liczbowe
Przykład odczytu z pliku Excela
disp ('Odczyt danych doswiadczalnych z pliku Excela.')
nazwa = input ('Podaj nazwe pliku: ', 's');
dane = xlsread (nazwa);
Zawartość czytanego pliku:
temperatura = dane ( : , 1);
cieplo_parowania = dane ( : , 2);
temperatura cieplo parowania
4 100.0 558.0
125.0 531.0
dane = xlsread ('eksperyment.xls');
150.0 502.0
175.0 460.0
Zewnętrzne wiersza lub kolumny
183.0 433.0
8
nie zawierające danych
D E
liczbowych są ignorowane
dane = xlsread ('eksperyment.xls', 'Arkusz2');
dane = xlsread ('eksperyment.xls', 2);
dane = xlsread ('eksperyment.xls', 'D4:E8');
dane = xlsread ('eksperyment.xls', 'Arkusz2', 'D4');
Funkcja xlswrite  zapis pliku Excela
xlswrite (nazwa_pliku, M);  zapisuje macierz M do pliku Excela
xlswrite (nazwa_pliku, M, arkusz);  zapisuje macierz M do pliku Excela na
podany arkusz w pliku Excela
xlswrite (nazwa_pliku, M, zakres);  zapisuje macierz M do prostokątnego
rejonu o podanym zakresie w pliku Excela
xlswrite (nazwa_pliku, M, arkusz, zakres);  zapisuje macierz M na podany
arkusz na pole o podanym zakresie
w pliku Excela
nazwa_pliku  łańcuch z nazwą pliku ewentualnie poprzedzony ścieżką
zakres  łańcuch z nazwą górnej lewej komórki albo nazwami górnej lewej
i prawej dolnej oddzielonych dwukropkiem
arkusz  nr arkusza albo łańcuch z nazwą arkusza
Przykład zapisu do pliku Excela
disp ('Zapis danych doswiadczalnych do pliku Excela.')
temp = [ ];
cieplo = [ ];
n = input ('Liczba punktow pomiarowych: ');
for k = 1:n
t = input ('Podaj temperature: ');
c = input ('Podaj cieplo parowania: ');
temp = [temp; t];
cieplo = [cieplo; c];
end
nazwa = input ('Podaj nazwe pliku: ','s'); A B
xlswrite (nazwa, [temp cieplo] );
1 100.0 558.0
125.0 531.0
macierz
150.0 502.0
175.0 460.0
dane = xlswrite ('eksperyment.xls'); 183.0 433.0
4


Wyszukiwarka

Podobne podstrony:
Wyklad studport 8
Wyklad studport 9
Wyklad studport 5
Wyklad studport 11
Wyklad studport 7
Wyklad studport 12
Wyklad studport 14
Wyklad 12 Podstawowe typy zwiazkow chemicznych blok s i p PCHN SKP studport
Wyklad 5 Uklad okresowy pierwiastkow studport
Wyklad 10 Elektrolity, woda, kwasy i zasady PCHN SKP studport
WYKŁAD 4 Elektronowa struktura atomu studport
Sieci komputerowe wyklady dr Furtak
Wykład 05 Opadanie i fluidyzacja
WYKŁAD 1 Wprowadzenie do biotechnologii farmaceutycznej

więcej podobnych podstron