04 cwiczenie programowanie

background image

1

Programowanie w MATLAB-

ie

dr inż. Henryk Olszewski

background image

2

Ćwiczenie 1: Instrukcja if

Obliczyć wartość funkcji f(x) określoną wzorem:



1

x

dla

2

x

3

,

1

x

dla

x

3

x

dla

6

x

)

x

(

f

2

2

background image

3

Ćwiczenie 1: Instrukcja if

Obliczyć wartość funkcji f(x) określoną wzorem:

» if x>3

» f=x.*x-6;

» elseif x>=-1 & x<=3

» f=x;

» else

» f=x.*x-2;

» end



1

x

dla

2

x

3

,

1

x

dla

x

3

x

dla

6

x

)

x

(

f

2

2

background image

4

Ćwiczenie 2: Instrukcja if

Za pomocą funkcji reshape utworzyć z elementów wektora
y macierz Z o rozmiarze w*k. Sprawdzić, czy wektor y
zawiera w*k elementów:

background image

5

Ćwiczenie 2: Instrukcja if

Za pomocą funkcji reshape utworzyć z elementów wektora y
macierz Z o rozmiarze w*k. Sprawdzić, czy wektor y zawiera w*k
elementów:

» if length(y)==w*k

» Z=reshape(y,w,k)

» else

» ‘Nie można wykonac operacji!’

» end

background image

6

Ćwiczenie 3: Instrukcja switch

Utwórz macierz A o rozmiarze n*n. W zależności od wartości
zmiennej c ma być to:

a) gdy c=0

- macierz o wszystkich elementach równych

0;

b) gdy c=1 - macierz o wszystkich elementach równych 1;

c) gdy c=2 - macierz jednostkowa,

d) dla innych wartości c - macierz wypełniona liczbami

pseudolosowymi.

background image

7

Ćwiczenie 3: Instrukcja switch

Utwórz macierz A o rozmiarze n*n:

» switch c

» case 0

» A=zeros(n)

» case 1

» A=ones(n)

» case 2

» A=eye(n)

» otherwise

» A=rand(n)

» end

background image

8

Ćwiczenie 4: Pętla for

Utwórz macierz A o rozmiarze 5x4 taką, że:

1

j

i

j

i

A

ij

background image

9

Ćwiczenie 4: Pętla for

Utwórz macierz A o rozmiarze 5x4 taką, że:

» for i = 1:5,

»

for j = 1:4,

»

A(i,j) = (i+j)/(i+j+1);

»

end

» end

1

j

i

j

i

A

ij

background image

10

Ćwiczenie 5: Pętla while

Obliczyć wartość setnego elementu ciągu Fibonacciego
danego wzorem:



2

n

dla

u

u

u

...

1

u

1

u

2

n

1

n

n

2

1

background image

11

Ćwiczenie 5: Pętla while

Obliczyć wartość setnego elementu ciągu Fibonacciego danego wzorem:

» u1=1; u2=1; i=2; n=100;
» while i<n
» u3=u1+u2;
» u1=u2;
» u2=u3;
» i=i+1;
» end
» u3

Otrzymujemy wartość:

u3 = 3.5422e+020



2

n

dla

u

u

u

...

1

u

1

u

2

n

1

n

n

2

1

background image

12

Ćwiczenie 6: Skrypty

Napisać skrypt kwadrat, obliczający pierwiastki równania
kwadratowego. W skrypcie wykonaj następujące polecenia:

a) wczytaj współczynniki równania kwadratowego a, b, c;

b) wyświetl pierwiastki równania x1 i x2.

Powyższy skrypt umieścić w pliku kwadrat.m.

background image

13

Ćwiczenie 6: Skrypty

%Skrypt oblicza rzeczywiste pierwiastki
%równania kwadratowego y=a*x^2+b*x+c
a=input(‘a=‘); b=input(‘b=‘); c=input(‘c=‘);
delta=b.*b-4*a.*c;
if delta>0

x1=(-b-sqrt(delta))/(2*a);
x2=(-b+sqrt(delta))/(2*a);
disp(‘x1=‘), disp(x1)
disp(‘x2=‘), disp(x2)

elseif delta == 0

x1=-b/(4*a); disp(‘x1=x2=‘), disp(x1)

else

disp(‘Równanie nie ma pierwiastków rzeczywistych’)

end

background image

14

Ćwiczenie 6: Skrypty

Po wykonaniu każdego polecenia w programie MATLAB następuje przejście do
nowego wiersza, aby uzyskać elegancki efekt działania skryptu, należy
połączyć wyświetlanie tekstu i liczb w jedno polecenie. W tym celu należy
zmienne liczbowe x1 i x2 przekształcić w łańcuchy znakowe. Argumentem
funkcji disp może być tylko jedna zmienna, łańcuchy te należy następnie
połączyć. Wówczas wiersze skryptu przyjmą następującą postać:

disp(strcat(‘x1=‘,nim2str(x1))
disp(strcat(‘x2=‘,nim2str(x2))

a uruchomienie skryptu spowoduje wyświetlenie:

x1=-2
x2=1

W celu wyświetlenia wyników w jednym wierszu należy dokonać dalsze zmiany:

disp(strcat(‘x1=‘,nim2str(x1), ‘x2=‘,nim2str(x2)))

co da następujący wynik:

x1=-2, x2=1

background image

15

Ćwiczenie 7: Funkcje

Zdefiniować funkcję prosta, która oblicza współczynniki A,
B, C prostej Ax+By+C=0 przechodzącej przed dwa dane
punkty P1(x1,y1) i P2(x2,y2). Powyższa funkcję zapisać w
pliku prosta.m.

background image

16

Ćwiczenie 7: Funkcje

Zdefiniować funkcję prosta, która oblicza współczynniki A, B, C prostej
Ax+By+C=0 przechodzącej przed dwa dane punkty P1(x1,y1) i
P2(x2,y2). Powyższa funkcję zapisać w pliku prosta.m:

function [A, B, C]=prosta(x1,y1,x2,y2)
%Wynikiem działania funkcji prosta o 4 parametrach
%wejściowych będących współrzędnymi dwóch punktów
%P1(x1,y1) i P2(x2,y2) są współczynniki A, B, C
%prostej Ax+By+C=0 przechodzącej przez te punkty
A=y2-y1;
B=x1-x2;
C=y1.*x2-y2.*x1;

Wywołanie funkcji:

» [A1,B1,C1]=prosta(1,1,2,2)

spowoduje wyznaczenie:

A1=1

B1=-1 C1=0

background image

17

Ćwiczenie 8: Funkcja inline

Zdefiniować funkcję dwóch zmiennych f2(x,y)=x2+y2 oraz
obliczyć jej wartość dla x=3, y=-1:

background image

18

Ćwiczenie 8: Funkcje inline

Zdefiniować funkcję dwóch zmiennych f2(x,y)=x2+y2 oraz
obliczyć jej wartość dla x=3, y=-1:

» f2=inline(‘x.^2+y.^2’);

» z=f2(3,-1)

f2 =

Inline function

f2(x,y) = x.^2+y.^2

z =

10

background image

19

Dziękuję za uwagę


Document Outline


Wyszukiwarka

Podobne podstrony:
04 Petle programowe cwiczenia przygotowujace
Z Ćwiczenia 26.04.2008, Programowanie
Ekonomia ćwiczenia program PS1 2014 2015 (1)
Ćwiczenia Program Pojęcia i systemy
Cwiczenie4 Programowanie id 125 Nieznany
04 Ćwiczenia
psio zadania cwiczenia-1, Programowanie
04 Cwiczenie2
wiersz Ćwiczenie 3 – Program diskpart
Ćwiczenie 9-program, UG, SEM3, GENETYKA
Ćwiczenie 4-program, UG, SEM3, GENETYKA
Ćwiczenie 1-program, UG, SEM3, GENETYKA
Ćwiczenie 3-program, UG, SEM3, GENETYKA
Ćwiczenie 8-program, UG, SEM3, GENETYKA
Ćwiczenie 5-program, UG, SEM3, GENETYKA

więcej podobnych podstron