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.