W3.pdf
(
167 KB
)
Pobierz
Materiały wykładowe do Podstaw Informatyki sem. 3 WILiŚ
Izabela Lubowiecka
STRUKTURA JĘZYKA Matlab – przykłady obliczeń
SKRYPTY
- zawierają sekwencje instrukcji języka Matlab. Wykonanie skryptu polega na
wykonaniu kolejnych zapisanych w nim instrukcji.
Jak to zrobić w środowisku Matlaba?
Wystarczy wpisać nazwę skryptu (bez rozszerzenia)
Możliwe jest także uruchomienie skryptu z pozycji edytora (np. klawisz
F5
).
Skryptach można odwoływać się do innych skryptów oraz (zdefiniowanych) funkcji
(uruchamiać wewnątrz).
Komentarze (wiersze, których nie czyta interpreter języka) należy poprzedzać znakiem
‘%’
.
FUNKCJE
- przyjmują argumenty wejściowe (parametry funkcji) i zwracają argument
wyjściowy (wartość funkcji). Podczas uruchomienia konieczne jest podanie wartości
parametrów.
function
y = nazwa (x)
Argument wejściowy
Nazwa funkcji
Słowo kluczowe
Polecenie
help
nazwa_skryptu
,
help
nazwa_funkcji
(np. help mom, help srednia)
wyświetla pierwsze 3 linie komentarza zawartego w zbiorze.
Definicje funkcji
function
[wynik] = silnia(n)
% funkcja oblicza silnię liczby n (n!)
wynik = 1;
for
i = 1:n
wynik = wynik*i;
end
WYKŁAD 3
Argument wyjściowy (wynikowy)
Materiały wykładowe do Podstaw Informatyki sem. 3 WILiŚ
IzabelaLubowiecka
UWAGA:
skrypt, w którym zdefiniowano funkcję powinien mieć jej nazwę
i rozszerzenie ‘
m
’
function
[mean,stdev] = stat(x)
% funkcja liczy wartość średnią x
% i odchylenie stand.
n = length(x);
mean = sum(x) / n;
stdev = sqrt(sum((x - mean).^2)/n);
Aby odzyskać wartość funkcji należy podać jej nazwę i w nawiasie wartość argumentu
(argumentów), np.
silnia(5)
albo wywołać w skrypcie, np.
n = input (‘podaj liczbę naturalną n= ‘)
sil_n = silnia(n)
Funkcja z komunikatem błędu
function
y = srednia (x)
%funkcja liczy średnią wartość elementów wektora
%wprowadzenie "nie-wektora" spowoduje zakomunikowanie błędu
[m, n] = size(x);
if
(~((m==1)|(n==1))|(m==1 & n==1))
%warunek logiczny
error
('X musi byc wektorem')
end
y=sum(x)/length(x)
Gdy argument funkcji
JEST
wektorem…
przykład użycia funkcji:
wynik
:
y = 0.800
>>
srednia([2 3 -20 1 18])
Gdy argument funkcji
NIE
jest wektorem…
przykład użycia funkcji:
wynik
:
>>
srednia([2 3 -20 1 18; 1 0 0 4 7])
??? Error using ==> srednia
X musi być wektorem
komentarz programisty
Materiały wykładowe do Podstaw Informatyki sem. 3 WILiŚ
IzabelaLubowiecka
PRZYKŁADY SKRYPTÓW
% memu ekranowe
m = 0;
clc
while m < 4
m = menu('Wybierz przycik:','Film','Generacja wektora','Ciag Fib','STOP')
if
(m == 1)
film1
% uruchamia skrypt film1.m
elseif
(m == 2)
t = [0:0.3:6]
% generuje wektor t
elseif
(m == 3)
% uruchamia skrypt fib.m
pobierz m
fib
end
end
Czy zmienna
m =4?
tak
STOP
nie
Czy zmienna
m =1?
tak
uruchom film
nie
Czy zmienna
m =2?
tak
wygeneruj
wektor
nie
nie
Czy zmienna
m =3?
t
ak
uruchom
Fibonacci
PRZYKŁADY ZASTOSOWAŃ MATLABA DO OBLICZEŃ Z ZAKRESU
WYTRZYMAŁOŚCI MATERIAŁU I MECHANIKI BUDOWLI
PRZYKŁAD
% skrypt oblicza naprężenia od czystego zginania w
% przekroju dwuteowym o zadanej geometrii
disp('Podaj parametry przekroju dwuteowego:')
b = input(' szerokosc polki [cm]: ')
s = input(' grubosc polki [cm]: ')
h = input(' wysokosc srodnika [cm]: ')
t = input(' grubosc srodnika [cm]: ')
% wprowadzenie wartości momentu zginającego
disp(‘Podaj max. moment zginający działający na przekrój’)
M = input( ‘Podaj moment M [kNcm] = ‘)
Ix = mom(b,s,h,t)
% wykorzystana funkcja obliczająca moment bezwładności
disp(‘ Naprężenia ekstremalne w przekroju:’)
Sig = M/Ix * (h/2+s)
% Sig = M/Ix *y
Materiały wykładowe do Podstaw Informatyki sem. 3 WILiŚ
Izabela Lubowiecka
% funkcja oblicza moment bezwładności przekroju
function
Ix = mom(a,b,c,d)
% odleglosc srodka ciezkosci polki od osi centralnej dwuteownika
m = 0.5*c + 0.5*b;
% obliczenie momentu bezwladnosci
Ix = 2*(a*b^3/12+a*b*m^2)+d*c^3/12;
d
c
PRZYKŁAD
Dany jest stan naprężenia
Sig = [2 10 8
10 5 1
a
b
5 4 1]
Obliczyć naprężenia główne
PRZYKŁAD
Dany jest stan odkształcenia
E = [2 10 8
2 5 0
Obliczyć odkształcenia główne
PRZYKŁAD
Narysować wykres momentów zginających w łuku jak na rysunku.
L
– długość [m]
f
– wysokość [m]
M
– moment zginający [kNm]
P
– siła pozioma [kN]
M
P
L
0 0 1]
Materiały wykładowe do Podstaw Informatyki sem. 3 WILiŚ
IzabelaLubowiecka
Plik z chomika:
edudako
Inne pliki z tego folderu:
PI_wykl_2_KB.pdf
(8430 KB)
PI_wykl_3_KB.pdf
(4999 KB)
PI_wykl_1_KB.pdf
(4173 KB)
PRISM.pdf
(793 KB)
W4.pdf
(105 KB)
Inne foldery tego chomika:
BOo
chemia
ITL lab
matlab
MATMA
Zgłoś jeśli
naruszono regulamin