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)
341019485.007.png
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
341019485.008.png
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
341019485.009.png 341019485.010.png
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]
341019485.001.png 341019485.002.png 341019485.003.png
Materiały wykładowe do Podstaw Informatyki sem. 3 WILiŚ
IzabelaLubowiecka
341019485.004.png 341019485.005.png 341019485.006.png
 
Zgłoś jeśli naruszono regulamin