matlab zbior zadan

background image

Państwowa Wyższa Szkoła Zawodowa w Elblągu

Instytut Informatyki Stosowanej

Zbiór zadań z

podstaw programowania

w języku MATLAB

(wersja robocza 22.10.2006 r.)

poniższe materiały w obecnym stanie nie nadają się do publikacji

udostępniam je tylko dlatego, aby ułatwić przygotowanie się do sprawdzianiku !!!

ROBERT FIDYTEK

Elbląg 2006

© Robert Fidytek

background image

WPROWADZENIE

1. Zmiennej a przypisz wartość 5

>> a=5

2. Zmiennej b przypisz wartość 0,25

>> b=0.25

3. Zmiennej c przypisz wartość sin(

π

/2)

>> c=sin(pi/2)

4. Uzyskaj skrócone informacje na temat wszystkich istniejących zmiennych

>> who

5. Usuń z pamięci zmienną a

>> clear a

6. Uzyskaj szczegółowe informacje na temat wszystkich istniejących zmiennych

>> whos

7. Zapisz zmienne do pliku zmienne.mat

>> save zmienne.mat

8. Usuń z pamięci wszystkie zmienne

>> clear

9. Wczytaj dane z pliku zmienne.mat

>> load zmienne.mat

10. Przeczytać opis funkcji sqrt

>> help sqrt

11. Sprawdź jaką minimalną i maksymalną liczbę rzeczywistą dodatnią można zapisać

>> realmin, realmax

12. Przedstaw liczbę 12.25 w trzech różnych postaciach używając polecenia format.

>> format long; 12.25
>> format short e; 12.25
>> format rat; 12.25
>> format short; %przywracamy domyslny format

13. Dane są przyprostokątne a i b w pewnym trójkącie prostokątnym (np.: a=3, b=4).

Napisać instrukcję obliczającą długość przeciwprostokątnej c.
>> sqrt(a*a+b*b)

14. Oblicz resztę z dzielenia a przez b (np.: a=11.4, b=3)

>> mod(a,b)

© Robert Fidytek

background image

ŁAŃCUCHY ZNAKÓW

15. Oblicz sumę kodów ASCII dla łańcucha ‘Student’

>> sum (double(‘student’))

16. Mając zmienne s1 = Teoretyczne, s2 = podstawy, s3 = informatyki, podaj długość

zdania jakie utworzą
>> length(strcat(s1,s2,s3))

17. Wyświetl liczbę wystąpień litery a w zdaniu ‘Teoretyczne podstawy informatyki’

>> zdanie = ‘Teoretyczne podstawy informatyki’; litera=‘a’;
>> length(findstr(zdanie,litera))

18. Zsumuj liczbę a=1,52 i liczbę zapisaną jako łańcuch znaków b=’1,72’. Wynik

zaokrąglij w górę
>> ceil(a+str2double(b))

WEKTORY

19. Wygenerować wektor v liczb całkowitych od 25 do 52.

>> v=[25:52]

a) obliczyć długość wektora v

>> length(v)

b) znaleźć element największy w wektorze v

>> max(v)

c) znaleźć element najmniejszy w wektorze v

>> min(v)

d) obliczyć sumę wszystkich elementów wektora v

>>sum(v)

e) obliczyć iloczyn wszystkich elementów wektora v

>>prod(v)

f) obliczyć średnią ze wszystkich elementów wektora v

>>mean(v)

20. Wygenerować wektor liczb rzeczywistych:

v=[1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2]
>> v=1:0.1:2

21. Oblicz sumę liczb parzystych z przedziału <2,100>

>> sum(2:2:100)

22. Oblicz średnią arytmetyczną liczb nieparzystych z przedziału od <1,100>

>> mean(1:2:99)

23. Niech s będzie dowolnym łańcuchem znaków (np.: s=’Jola’).

Napisać instrukcję obliczającą iloczyn kodów ASCII słowa s.

© Robert Fidytek

background image

>> prod(double(s))

24. Niech n będzie dowolną liczbą naturalną (np.: n=5).

Napisać instrukcję obliczającą n! (n silnia).
>> prod(1:n)

25. Obliczyć wartość wyrażenia dla x=1, 1.3, 1.6, 1.9, 2.2, 2.5, 2.8, 3.1, 3.4, 3.7, 4.

>> x=1:0.3:4

a) ln(x

2

+x+1)

>> log(x.*x+x+1)

b) sin(x

2

)+cos(x

2

)

>> sin(x.*x)+cos(x.*x)

c) sin

2

x+cos

2

x

>> sin(x).^2+cos(x).^2

d) e

x

*(1+sin5x)

>> exp(x).*(1+sin(5*x))

26. Oblicz wartość funkcji y=sin(x)+ln(√cos(x)) dla liczb -5 π,-4 π, -3 π ....,5 π

>> x=-5*pi:pi:5*pi; y=sin(x)+log2(sqrt(cos(x)))

27. Wygeneruj 20 pierwszych wyrazów ciągu an=(-1)

n+1

*(2n-1)

>> n=1:20; an=((-1).^(n+1)).*(2*n-1)

MACIERZE

28. Wygeneruj macierz dwuwierszową o wyrazach od 1 do 6 w pierwszym wierszu i o

wyrazach od 2 do 12 (co 2) w drugim wierszu
>> A=[1:6;2:2:12]

29. W macierzy magicznej A o rozmiarach 5x5 nadaj elementowi A

3,5

wartość 11

>> A=magic(5), A(3,5)=11

30. Utwórz kwadratową macierz jednostkową A o rozmiarze 5x5.

>> A=eye(5)

31. Utwórz macierz A o rozmiarze 3x7 wypełnioną jedynkami

>> A=ones(3,7)

32. Wyznaczyć liczbę wierszy i kolumn w macierzy A

>> [k,w]=size(A)

33. Utwórz macierz D o rozmiarze 4x5 budując ją z macierzy:

A=[1 1 1;1 1 1], B=[2 2;2 2], C=[3 3 3 3 3;3 3 3 3 3]
>> D=[A B;C] % należy pamiętać o zgodności wymiarów

34. Niech A=[1:10;11:20;21:30;31:40]

a) utworzyć macierz B składającą się z kolumn macierzy A: 1-4 oraz 7

>> B=A(:,[1:4 7])

© Robert Fidytek

background image

b) utworzyć macierz C z elementów macierzy A leżących na przecięciu wierszy 1,3 z

kolumnami 1-3 i 5-7
>> C=A([1 3],[1:3 5:7])

35. Usunąć z macierzy A=[1:2:20;1:3:30]’ drugi i piąty wiersz

>> A([2 5],:)=[]

36. Usunąć z macierzy A=[1:2:20;1:3:30] drugi wiersz oraz drugą i trzecią kolumnę

>> A=A(1,[1:2 5:10])

37. Wygenerować macierz losową A o rozmiarze 2x4 i macierz B o rozmiarze 4x2

>> A=rand(2,4), B=rand(4,2)

a) Obliczyć A*B, B*A

>> B*A; B*A

b) Dokonać transpozycji macierzy A -> A

T

>> A=A'

c) Obliczyć A+B, A-B

>> A+B; A-B

38. Niech A=[1 2 3;4 5 6;7 8 9]

g) dodać do każdego elementu 10

>> A=A+10

h) do każdego elementu o nieparzystych indeksach dodać 20

>> A(1:2:3,1:2:3)=A(1:2:3,1:2:3)+20

i) obliczyć pierwiastek z każdego elementu

>> sqrt(A)

j) obliczyć wartość każdego elementu podniesioną do kwadratu

>> A.^2

39. Niech x=[1 2 3 4]’, y=[5 6 7 8]’

a) dodać sumę elementów x do sumy elementów y

>> sum(x)+sum(y)

b) podnieść każdy element x do potęgi odpowiadającego elementu y

>> x.^y

c) obliczyć z, jako wynik mnożenia elementów x przez odpowiadające im elementy y

>> z=x.*y

d) obliczyć x'*y-z i zinterpretować wynik

obliczenia sprowadzają się do: 70-z

40. Wylosować macierz A o rozmiarze 5x4.

a) znaleźć element największy w macierzy A

>> max(A(:))

b) znaleźć element najmniejszy w macierzy A

>> min(A(:))

c) obliczyć średnią ze wszystkich elementów w macierzy A

>> mean(A(:))

d) obliczyć mendianę ze wszystkich elementów w macierzy A

>>

© Robert Fidytek

background image

e) obliczyć odchylenie standardowe ze wszystkich elementów w macierzy A

>>

41. Dane są macierze A=[20 72 16 27;20 64 62 11] i B=[24 72 89 52;31 62 74 10].

Wyznacz liczbę c, która będzie największą liczbą z obu macierzy
>> c=max([max(max(A)') max(max(B)')])

42. Utworzyć macierz A składającą się z trzech kolumn: w pierwszej kolumnie umieść

liczby od 1 do 10, w drugiej pierwiastki kwadratowe tych liczb, a w 3 ich logarytm o
podstawie 2.

>> A = [1:10; sqrt(1:10); log2(1:10)]'

43. Wyzeruj wszystkie liczby z macierzy magicznej 5x5, oprócz tych zawartych na

głównej przekątnej.
>> tril(triu(magic(5)))

44. Z macierzy magicznej o rozmiarach 4x4, wyświetl rosnąco, liczby pierwsze.

>> A = magic(4); B = A( : ); sort(B(find(isprime(A( : )))))

45. Kody ASCII słowa „Kot”, macierz B=[73 21 13] i liczby 41, 35 i 91 są trzema

wierszami pewnej macierzy. Zsumuj wartości leżące na przekątnej diagonalnej.

>> sum(diag([double('Kot');B;41 35 91]))

46. Wygeneruj dowolną macierz A o rozmiarach 2x2, następnie powiel ją 2 razy w pionie

i poziomie i zamień na wektor (1x16).
>> A=[1 2;3 4]; B= reshape(repmat(A,2,2),1,16)

47. Zbadaj czas generowania macierzy magicznej o rozmiarze 19

>> tic, a=magic(19), toc

MACIERZE ZESPOLONE

48. Wprowadzić dowolną macierz zespoloną A o rozmiarze 4x2.

LINKI

http://www.ise.pw.edu.pl/dydaktyka/ptk/L12Smatl.html
http://neo.dmcs.p.lodz.pl/mn/laboratorium.htm
http://www.if.pwr.wroc.pl/~kotulska/matlab/lista1.pdf
http://www.pg.gda.pl/~kmb/polish/skrypt.pdf
http://ghnet.pl/~blazej/matlab/skrypt.pdf

© Robert Fidytek

background image

Pomysły:
1. Zdefiniować funkcję inkrementacji: inc(5)
Utwórz macierz trójwymiarową 3x2x2 gdzie na 1 stronie będą same 1, na 2 stronie same 2, a
na 3 same 3. Następnie dodaj wszystkie elementy tej macierzy.
Rozwiązanie : sum(A( : ))

© Robert Fidytek


Wyszukiwarka

Podobne podstrony:
matlab zbior zadan
5 Chem2 Zbiór zadań Odpowiedzi i wskazówki
Zbiór zadań
Zbiór zadań chemicznych dla geologów 12
138261 Zbior zadan 19
138261 Zbior zadan 10

więcej podobnych podstron