matlab skrypty

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

PRACA ZE SKRYPTAMI

1. Informacje ogólne

Pliki, które zawierają kod w języku Matlaba nazywane są M-plikami.

Pliki te charakteryzują się rozszerzeniem

.m

.

M-pliki można tworzyć używając dowolnego edytora tekstowego,

chociażby Notatnika. Dużo efektywniejsze jest jednak używanie programów,

które kolorują składnie skryptu tak, jak to czyni edytor, który dostarczany jest z

Matlabem (Rys. 1). Inne edytory oferujące to oraz wiele innych udogodnień to

TextPad dla środowiska Windows oraz Nedit dla Linuksa.

Rys. 1 Przykład kolorowania składni w skrypcie

Stworzony przy użyciu edytora tekstowego skrypt może być użyty jako

funkcja lub polecenie.

Zalecenia co do nazywania M-plików – nazwa pliku:

musi zaczynać się literą,

nie może zawierać spacji,

nie może zawierać znaku – (minus) oraz innych operatorów,

powinna być bez polskich liter.

PRz, KMK, 01’2005

str. 1/12

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

2. Wyświetlenie katalogu roboczego

Wyświetlenie katalogu roboczego odbywa się przy użyciu polecenia:

» pwd

W odpowiedzi dostaniemy:

ans =
C:\moje dokumenty

3. Zmiana katalogu roboczego

Zmiana katalogu odbywa się przy użyciu polecenia:

>> cd nazwakatalogu

Przykładowo:

>> cd pi

jeżeli nazwa katalogu była skrótem od Podstawy Informatyki, lub:

>> cd 'podstawy informatyki'

jeżeli nazwa katalogu była dwuwyrazowa, rozdzielona spacją. W tym

drugim przypadku niezbędne jest użycie apostrofów.

Katalog roboczy jest cały czas wyświetlana w polu:

Current Directory

tak,

jak to jest widoczne na Rys. 2.

Rys. 2 Katalog roboczy

4. Utworzenie nowego skryptu

W celu rozpoczęcie pracy nad nowym skryptem należy wybrać z menu

File

polecenie

New

i następnie

M-File

. Innym sposobem jest napisanie w linii

komend Matlaba:

>> edit silnia

PRz, KMK, 01’2005

str. 2/12

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

gdzie silnia będzie nazwą pliku, w którym zapisany zostanie skrypt.

Rozszerzenie

.m

zostanie przyporządkowane automatycznie. Użycie funkcji

edit spowoduje sprawdzenie czy w katalogu roboczym istnieje już plik o

podanej nazwie (w tym przykładzie silnia.m), a jeśli nie, to zostanie wyświetlone

okienko dialogowe jak to pokazane na Rys. 3 – potwierdzenie spowoduje

uruchomienie wbudowanego edytora.

Rys. 3 Potwierdzenie utworzenia nowego M-pliku

5. Edycja istniejącego skryptu

W celu edycji istniejącego skryptu należy wybrać z menu

File

polecenie

Open

. Następnie wystarczy wskazać w standardowym okienku dialogowym

(Rys. 4) nazwę pliku, który ma być poddany edycji.

Rys. 4 Okienko dialogowe – otwórz skrypt

Innym sposobem jest napisanie w linii komend Matlaba:

>> edit nazwapliku

PRz, KMK, 01’2005

str. 3/12

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

gdzie nazwapliku jest nazwą istniejącego w katalogu roboczym pliku o

rozszerzeniu

.m

.

6. Uruchomienie skryptu

Wykonanie skryptu można wywołać na dwa sposoby. Pierwszy z nich

użycie jednego z mechanizmów, w które wyposażony został wbudowany edytor

M-plików. Do dyspozycji mamy polecenie

Run

z menu

Debug

lub aktywny

przycisk spośród pokazanych na Rys. 5.

Rys. 5 Belka

narzędziowa Debug

Drugi sposób pozwala uruchamiać skrypty bezpośrednio z linii poleceń

Matlaba, bez konieczności uruchamiania edytora i wczytywania do niego

M-pliku. Załóżmy, że chcemy wykonać skrypt zapisany w pliku silnia.m. W tym

celu wydajemy polecenie:

>> silnia

Jeżeli w katalogu roboczym nie ma pliku silnia.m otrzymamy następujący

komunikat:

>> silnia

??? Undefined function or variable 'silnia'.

Niezależnie od sposobu uruchomienia skrypt będzie wykonywany linijka po

linijce z pominięciem tych jego fragmentów, które poprzedzone są znakiem

procentu – fragmenty te stanowiące komentarz są wyróżnione kolorem zielonym.

7. M-pliki jako funkcje użytkownika

Funkcje są M-plikami, które mogą akceptować argumenty (dane wejściowe)

i w wyniku swojego działania zwracać wartości (dane wyjściowe).

Po zdefiniowaniu i zapisaniu jako M-pliku na dysku, funkcję można

wywoływać ze zwykłych skryptów.

PRz, KMK, 01’2005

str. 4/12

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

Przykład:

W Matlabie argumenty funkcji trygonometrycznych muszą być podawane w

radianach, więc zachodzi konieczność przeliczania kątów z miary stopniowej na

radiany.

Pierwsza linia (nie licząc komentarzy) M-pliku zawiera definicję składni

funkcji. Po słowie kluczowym

function

następuje określenie nazw

zmiennych, w których zostaną zapisane obliczone wartości funkcji – w

omawianym przykładzie jest to

[

R

]

. Następnie, po znaku = podana jest nazwa

funkcji wraz z argumentami czyli rad

(

D

)

. Kolejne linie M-pliku zawierają

polecenia służące do obliczenia wartości funkcji na podstawie znanych

argumentów.

% przeliczanie stopni [Deg] na radiany [Rad]

function

[

R

]

= rad

(

D

)

;

R = D *

(

pi/180

)

;

Nazwa funkcji, którą podano w pierwszej linii M-pliku musi być taka sama

jak nazwa pliku (nie licząc rozszerzenia

.m

). W naszym przykładzie poniższa

funkcja musi być zatem zapisana w pliku

rad.m

.

PRz, KMK, 01’2005

str. 5/12

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

Zadanie 1:

zaznaczyć w programie Acrobat Reader powyższe trzy linie z

przykładem definicji funkcji za pomocą narzędzia

,

skopiować,

utworzyć nowy M-plik o nazwie

rad.m

,

wkleić

zapisać

przetestować działanie funkcji rad pisząc w linii poleceń Matlaba:

>> rad(90)

>> rad(45)

>> rad(360)

wyniki porównać z:

>> pi/2

>> pi/4

>> 2*pi

PRz, KMK, 01’2005

str. 6/12

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

Zadanie 2:

otworzyć w edytorze skrypt

wykresy.m

dokonać zmian w skrypcie – zastąpić użyte przeliczenie kąta funkcją
rad()

zapisać dokonane zmiany – należy wybrać opcję

Save As...

, co

umożliwi podanie nowej nazwy – proszę dodać na końcu swoje

inicjały

uruchomić skrypt z poziomu linii poleceń Matlaba

Skrypt będzie wykonywany etapami dzięki wykorzystaniu polecenia

pause.

W kolejnych etapach wyświetlane będą wykresy od najprostszego w formie

do najbardziej złożonego. Kolejne warianty zastępują poprzednie do czasu użycia

polecenia figure.

Na ostatnim wykresie przedstawione są jednocześnie obie funkcje.

Zastosowano różne sposoby zilustrowania ich zmienności – linia oraz słupek.

PRz, KMK, 01’2005

str. 7/12

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

Zadanie 3:

Uzupełnij skrypt rysujący wykres momentów zginających dla belki

przedstawionej na Rys. 6.

Rys. 6 Schemat belki

W zadaniu należy posłużyć się skryptem

belka.m

znajdującym się w

katalogu

c:\moje dokumenty\matlab\podstawy informatyki

.

Po otwarciu skryptu należy uzupełnić go formułami obliczającymi szukane

wielkości według podanych wzorów (1).

R

A

=

b

L

P

R

B

=PR

A

=

a

L

P

M

x=

{

R

A

x

dla 0

xa

R

B

⋅ Lx

dla a

xL

(1)

PRz, KMK, 01’2005

str. 8/12

a

L

R

A

P

b

R

B

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

8. Odczyt danych z plików

Wczytanie danych z pliku dyskowego odbywa się przy przy użyciu

polecenia load.

Najczęściej stosuje się:

>> load nazwapliku

powodujące wczytanie wszystkich zmiennych zapisanych w bianrnym pliku

nazwapliku.mat

. Pliki o rozszerzeniu mat są efektem użycia polecenia save.

W przypadku gdy Matlab ma zostać użyty do przetworzenia danych

pochodzących przykładowo z pomiarów, to użytkownik będzie dysponował

najprawdopodobniej plikami tekstowymi o odpowiednio sformatowanej

zawartości. W najprostszym przypadku pliki takie można wczytać poleceniem:

>> load nazwapliku.txt

Przykład:

Należy wczytać plik binarny o nazwie

dane.mat

znajdujący się w katalogu

roboczym:

>> load dane

Sprawdzenie jakie macierze zostały wczytane jest możliwe przez polecenie

whos:

>> whos

W Command Window powinien pojawić się następujący komunikat:

Name Size Bytes Class

A 1x7 56 double array
B 1x7 56 double array

Jak widać w pliku

dane.mat

były zapisane dwie macierze jednowierszowe

A i B o siedmiu elementach.

Następnie należy wczytać plik tekstowy

dane.txt

:

>> load dane.txt

PRz, KMK, 01’2005

str. 9/12

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

Ponowne wyświetlenie informacji o zmiennych znajdujących się w pamięci

pokaże:

>> whos
Name Size Bytes Class
A 1x7 56 double array
B 1x7 56 double array
dane 2x7 112 double array

Ważne

– dane odczytane z pliku tekstowego zostaną umieszczone w

pamięci pod nazwą taką, jak nazwa pliku z którego były ładowane.

Wyświetlenie poszczególnych zmiennych jest bardzo proste – wystarczy

podać ich nazwy w Command Window, przykładowo:

>> dane

Możliwe jest wyświetlenie jednocześnie wszystkich trzech macierzy, gdyż

wszystkie one mają taką samą liczbę kolumn. W tym przypadku należy posłużyć

się następującą konstrukcją:

>> [ A; B; dane ]

Oddzielenie nazw poszczególnych macierzy średnikami spowoduje, że

macierze składowe staną się kolejnymi wierszami nowo-budowanej macierzy –

wyświetlone zostaną w kolejnych wierszach.

ans =

6.1000 10.3000 11.3000 12.3000 13.2000 14.2000 16.1000

61.3000 46.4000 46.4000 40.8000 31.6000 29.9000 22.0000

6.1000 10.3000 11.3000 12.3000 13.2000 14.2000 16.1000

61.3000 46.4000 46.4000 40.8000 31.6000 29.9000 22.0000

Jak widać w plikach

dane.mat

oraz

dane.txt

były zapisane te same zbiory.

Jednak w pliku binarnym

mat

mogły być zapisane dodatkowo nazwy

poszczególnych zmiennych.

Na koniec należy usunąć wszystkie zmienne z pamięci poleceniem:

>> clear all

PRz, KMK, 01’2005

str. 10/12

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

ZADANIE 4:

otworzyć w edytorze skrypt

wielomian.m

uzupełnić skrypt postępując zgodnie z informacjami zawartymi w

komentarzach

zapisać dokonane zmiany – należy wybrać opcję

Save As...

, co

umożliwi podanie nowej nazwy – proszę dodać na końcu swoje

inicjały

wykonać skrypt

PRz, KMK, 01’2005

str. 11/12

background image

Podstawy Informatyki, Matlab – opis do ćwiczeń laboratoryjnych

9. Zapis wyników obliczeń do pliku

Zapis wyników obliczeń do pliku dyskowego odbywa się przy przy użyciu

polecenia save.

Przykład:

Przykładowe użycie tego polecenia:

>> save wielomian

Spowoduje zapisanie do pliku

wielomian.mat

wszystkich zmiennych

znajdujących się w pamięci. Przekonamy się o tym wydając następujące

polecenia:

>> whos

które spowoduje wyświetlanie nazw zmiennych oraz innych informacji o:

dane, dx, f, i, k, n, p, x, xn, y, yn.

Następnie za pomocą polecenia:

>> clear all

zostaną usunięta wszystkie zmienne z pamięci. Możemy przekonać się o

tym ponownie wydając polecenie whos.

Dużo częściej potrzebne jest zapisanie wybranych zmiennych.

Zanim to jednak będzie można wykonać należy załadować do pamięci to, co

zostało zapisane do pliku

wielomian.mat

.

Tym razem proszę posłużyć się poleceniem:

>> load wielomian x y f

Ponowne użycie polecenia whos pokaże, że w pamięci znajdują się tylko te

zmienne, które zostały wymienione po nazwie pliku

wielomian(.mat)

: x y f.

Zapis jednej spośród powyższych zmiennych zostanie zrealizowany

poleceniem:

>> save wspolczyniki f

gdzie

wspolczynniki(.mat)

to oczywiście nazwa pliku, do którego nastąpi

zapis.

PRz, KMK, 01’2005

str. 12/12


Wyszukiwarka

Podobne podstrony:
Podstawy programowania w Matlabie skrypt
20121113 MATLAB 4a skrypty
MATLAB cw 12 14 Skrypty
ti 2 funkcje i skrypty, matlab
Matlab cw1 2 zaoczni
06 pamięć proceduralna schematy, skrypty, ramyid 6150 ppt
cz 1, Matlab moj
Image Processing with Matlab 33
MATLAB graf(1)
geodezja satelitarna skrypt 2 ppt
kod matlab
Cw08 Matlab2
Mój skrypt 2011
Mechanika Techniczna I Skrypt 2 4 Kinematyka

więcej podobnych podstron