MATLAB ćwiczenie 9

Transkrypt

MATLAB ćwiczenie 9
MATLAB
ćwiczenie 9
7 maja 2014
Tworzenie skryptów
Skrypt nazywany też M – plikiem jest ciąg instrukcji Matlaba zapisany w pliku. Skrypt w matlabie tworzy się wywołując edytor skryptów z menu Plik lub
klikając ikonę nowego skryptu. Skrypt jest wykonywany po wpisaniu w oknie
poleceń jego nazwy bez rozszerzenia. (skrypty mają rozszerzenie .m)
Przykład skryptu
disp(’skrypt rozwiązujący układ dwóch równań z dwiema niewiadomymi’) %
a=[1 1]
while a(1,1)~=2 || a(1,2)~=2
A=input(’podaj macierz układu A=’)% instrukcja umożliwiająca wpisanie
a=size(A);
if a(1,1)~=2 || a(1,2)~=2
disp(’niepoprawne wymiary macierzy’)
end
end
b=input(’Podaj kolumnę wyrazów wolnych b=’)% podobnie jak wyżej
detA=det(A);
if detA==0
disp(’wyznacznik macierzy A jest =0’)
else
Ax=A;Ax(:,1)=b;Ay=A;Ay(:,2)=b;
x=det(Ax)/detA;y=det(Ay)/detA;
disp([’x=’ num2str(x) ’
y=’ num2str(y)]) %Teksty łączy się wpisując
Wpisz powyższy skrypt. Dodaj warunki dotyczące kolumny wyrazów wolnych
(powinna być wymiarów 2x1) wzorując się na sprawdzaniu macierzy A.
Zadanie
Utwórz skrypt rozwiązujący układ równań o dowolnych wymiarach przy pomocy wzorów Cramera. Skrypt wczytuje macierz sprawdzając czy jest kwadratowa,
oraz kolumnę wyrazów wolnych, również sprawdzając wymiary. Gdy wyznacznik macierzy jest różny od zera to wyznacza rozwiązanie. w formacie x1= x2=
... . W skrypcie można zastosować pętlę
for i=1:n
instrukcje
end
zadanie
Utwórz skrypt gry pod nazwą zgadnij liczbę
Gra polega na tym, że komputer ma zgadnąć liczbę którą pomyślałeś. Na początku komputer pyta z jakiego zakresu jest liczba. Następnie podaje liczbę
a Ty odpowiadasz czy Twoja liczba jest większa lub mniejsza albo równa. W
momencie gdy komputer poda prawidłową liczbę jest koniec gry. Komputer podaje w ilu krokach liczba została odgadnięta. Instrukacja wczytująca tekst ma
postać
a=input(’pytanie’,’s’)
Tworzenie funkcji
Funkcję tworzymy podobnie jak skrypt, przy czym wygodniej jest wybrać z
menu File opcję function. Otrzymujemy schemat funkcji:
function [ output_args ] = nazwa_funkcji( input_args )
%UNTITLED3 Summary of this function goes here
%
Detailed explanation goes here
end
wewnątrz definicji funkcji powinien znaleźć się wiersz
output_args=
przykład
function x =rowlin( a,b )
%rozwiązanie równania liniowego
%
rozwiązuje równanie postaci ax+b=0
if a~=0
x=-b/a;
else
disp(’Brak rozwiązania’)
end
end
Zadanie
Utwórz funkcję która oblicza dla danego boku wielokąta foremnego o n kątach promień okręgu opisanego na tym wielokącie i wpisanego w ten wielokąt. (Skorzystaj z funkcji trygonometrycznych w razie braków w wykształceniu
skorzystaj z google). Argumentami funkcji jest długość boku wielokąta i ilość
boków.
Dołącz do funkcji rysunek wielokąta (wierzchołki wielokąta można obliczyć
korzystając z promienia okręgu opisanego i funkcji trygonometrycznych kąta w
wielokącie.
Zadanie
Utwórz funkcję zliczającą ilość wystąpień zadanego znaku np. ’a’ w tekście.
Przydatna może być funkcja
findstr(tekst1,tekst2)
znajdująca wystąpienia krótszego tekstu w dłuższym. (Sprawdź jak działa)
Utwórz funkcję podającą dla każdego znaku o kodzie ASC od 32 do 255
ilość wystąpień w zadanym tekście. Argumentem funkcji powinien być tekst,
wartością funkcji tablica w której obok znaku jest ilość jego wystąpień, przy
czym wypisane są znaki które przynajmniej raz wystąpiły. Można użyć funkcji
char(kodASC)
oraz funkcji zdefiniowanej powyżej.