wykresy 3 przykłady


Laboratorium metod numerycznych nr 3a
Edycja i tworzenie wykresów w Scilabie
Wywołanie instrukcji graficznej takiej jak plot czy plot3d powoduje umieszczenie rysowanego obrazu w oknie graficznym o numerze 0.
Wywołanie funkcji graficznej powoduje powstanie nowego obrazu na już istniejącym, stąd potrzeba uprzedniego wymazania zawartości
okna przy pomocy funkcji xbasc( ).
Na początku każdego skryptu czyścić pamięć i ekran
Przykład 1:Wykreślenie większej ilości krzywych na wspólnym wykresie, nadanie tytułu wykresom oraz podpisanie osi xi y.
x=linspace(-1, 1, 61)';
y=x^2;
plot2d(x,y)
ybis=1-x^2;
plot2d(x, ybis)
yter=2*y;
plot2d(x, yter)
xbasc()
plot2d(x, [y ybis yter])
xtitle(" Wykreślanie 3 krzywych na wykresie", " oś x", " oś y")//tytuł i podpisanie osi
Przypisywanie kolorów dla poszczególnych krzywych na wspólnym wykresie. Określanie zakresu wartości dla osi rzędnych i
odciętych.
Przykład 2: Narysować 5 funkcji Bessela na wspólnym wykresie. Przyjąć następujące wartości dla osi odciętych od 0 do 16, a dla osi
rzędnych od  0.4 do 0.6. Kolejność argumentów jest dowolna w linii 5.
x=linspace(0, 15,200)';
y=besselj(1:5, x);
xbasc()
plot2d(x, y, style=[2, 3, 4, 5, 6], leg="J1@J2@J3@J4@J5@")
xtitle("Funkcje Bessela, J1, J2, J3, J4, J5",  x ,  y )
Tabela 1 .Wartości przypisane do kolorów w Scilabie:
1- czarny, 2- niebieski 3- zielony (dość jasny, ale widoczny na ekranie)
4- jasnoniebieski 5- czerwony 6- różowy
7- czerwony 8- biały 9- granatowy
10  granatowy nieco jaśniejszy 11- najjaśniejszy granatowy
Wykresy zawierajÄ…ce symbole:
Przykład 3 Wykreślić na jednym układzie współrzędnych funkcję f=sin(x) za pomocą linii, oraz f=sin(x) utworzoną za pomocą znaczników.
x=linspace(0,2*%pi,40)';
y=sin(x);
yp=sin(x)+0.1*rand(x,"normal");
xbasc()
plot2d(x,[yp y],style=[-2,2],leg="y=sin(x)+perturbation@y=sin(x)")
Określenie skali
Przykład 4 Niezbędne jest skorzystanie ze skali izometrycznej bowiem chcemy narysować okrąg. Dodatkowy parametr w postaci
frameflag=val, gdzie val powinna przyjąć wartość 4, aby otrzymać skalę izotermiczną (dobraną na podstawie wartości minimalnej i
maksymalnej).
t=linspace(0,2*%pi,60)';
xbasc() Wyjaśnienie: erf to funkcja błędu wg wzoru poniżej:
x
x1=2*cos(t); y1=sin(t); //elipsa
2
erf(x) = Å" e- t2 dt
x2=cos(t); y2=y1 //okr\{a}g
+"
0
Ä„
x3=linspace(-2,2,60)'; y3=erf(x3);//funkcja b\l{}k{e}du
legenda="elipsa@okr\{a}g@funkcja b\l{}k{e}du"
plot2d([x1 x2 x3], [y1 y2 y3], style=[1, 2, 3], frameflag=4, leg=legenda)
xtitle("I znowu krzywe na rysunku")
Przykład 5
W pewnych wypadkach frameflag towarzyszyć będzie parametr rect. Jeśli np. chcemy samodzielnie określić obszar rysowania użyjemy
zapisu :rect=[x y , x , y ] w połączeniu z frameflag=1:
min, min max max
x=linspace(-5, 5, 200) ;
y=1./(1+x.^2);
xbasc()
plot2d(x, y, frameflag=1, rect=[-6, 0, 6, 1.1])
xtitle( Funkcja Runge-Kutty )
Przykład 6
Użycie axesflag5  bez pudełka, ale z osiami i jednostkami (punkt przecięcia dla x=0 i y=0)
x=linspace(-14, 14, 300)';
y=sin(x);
xbasc()
plot2d(x,y, style=2,axesflag=5)
xtitle( Funkcja sinus )
Inne wersje plot2d; plot2d2; plot2d3
Plot 2d2 pozwala narysować funkcję w oparciu o skalary. W miejscu prostego wykresu wprowadzamy punkty (x y ) i (x y ), plot2d2
i, i i+1, i+1
odcinek poziomy (od (x y ) do (x y )),a następnie odcinek pionowy od (x y ) do (x y ).
i, i i+1, i i+1, i i+1, i+1
Przykład 7:
n=10;
x=(0:n)';
y=x;
xbasc()//czyszczenie okna graficznego
plot2d2(x, y, style=2,frameflag=5,rect=[0,-1,n+1,n+1])
xtitle(" Przykład zastosowania instrukcji plot2d2")
Przykład 8. plot 3d rysuje diagram: dla każdego punktu (x y ), plot 2d3 rysuje segment pionowy od (x 0) do (x y ).
i, i i, i, i
n=6;
x=(0:n)';
y=binomial(0.5,n);
xbasc()
plot2d3(x,y,style=2,frameflag=5,rect=[-1, 0, n+1, 0.32])
xtitle("Prawdopodobieństwo dla prawa binomialnego B(6, 1/2)")
Przykład 9 Rysowanie większej ilości krzywych złożonych z różnej ilości punktów
x1=linspace(0,1,61)';
x2=linspace(0,1,31)';
x3=linspace(0.1,0.9,12)';
y1=x1.*(1-x1).*cos(2*%pi*x1);
y2=x2.*(1-x2);
y3=x3.*(1-x3)+0.1*(rand(x3)-0.5); //identyczne jak y2 ale z zaburzeniem;
ymin=min([y1;y2;y3]);
ymax=max([y1;y2;y3]);
dy=(ymax-ymin)*0.05;
rect=[0,ymin-dy,1,ymax+dy];
xbasc()
plot2d(x1, y1,style=1,frameflag=5,rect=rect)
plot2d(x2, y2,style=2,frameflag=0)
plot2d(x3, y3,style=-1,frameflag=0)
xtitle("Rysowanie wiekszej ilosci krzywych zlozonych z roznej ilosci punktow")
Przykład 10:
dl=linspace(-%pi, %pi);
y1=sin(dl);
y2=cos(dl);
xbasc();
xtile('Wykresy funkcji trygonometrycznych','wartosci na osi odcietych','wartosci na osi rzednych');
legend('funkcja sinus', 'funkcja kosinus', 2) //miejsce polozenia legendy
xset('thickness', 1)
plot(dl, [y1', y2'],style=[5,3,2]);
Przykład 11: Wykreślić na jednym układzie współrzędnych funkcje y=cos(t), (y=cos 2t), y=cos (3t). Podpisać odpowiednie krzywe za
pomocą legendy w prawym górnym rogu.
set figure_style new
xbasc();
t=0:0.1:2*%pi;
a=gca();
a.data_bounds=[t(1) -1.8;t($) 1.8];
plot2d(t,[cos(t'),cos(2*t'),cos(3*t')],[-1,2,3]);
e=gce();
e.children(1).thickness=3;
e.children(2).line_style=4;
hl=legend(['cos(t)';'cos(2*t)';'cos(3*t)'], a=1);
Przyklad 12: Sprawdzić, co będzie wynikiem poniższych poleceń:
nr=1:20;
x=[1;10];
y=[1;1];
xinit()
xset('thickness', 6)
plot2d(x, y*nr, style=nr)
Przykład 13: Sprawdzić dostępne znaczniki w Scilabie:
xbasc()
nr=-[1:20];
x=[1:10]';
y=ones(x);
xinit()
plot(x,y*nr,style=nr)
Przykład 14:
x1=linspace(0,1,61)';
x2=linspace(0,1,31)';
x3=linspace(0.1,0.9,12)';
y1=x1.*(1-x1).*cos(2*%pi*x1);
y2=x2.*(1-x2);
y3=x3.*(1-x3)+0.1*(rand(x3)-0.5); //identyczne jak y2 ale z zaburzeniem;
ymin=min([y1;y2;y3]);
ymax=max([y1;y2;y3]);
dy=(ymax-ymin)*0.05;
rect=[0,ymin-dy,1,ymax+dy];
xbasc()
plot2d(x1, y1,style=1,frameflag=5,rect=rect)
plot2d(x2, y2,style=2,frameflag=0)
plot2d(x3, y3,style=-1,frameflag=0)
xtitle("Rysowanie wiekszej ilosci krzywych zlozonych z roznej ilosci punktow")
Przykład 15:powierzchnie
x=linspace(-%pi, %pi, 31);
z=sin(x)'*sin(x);
n=200;
theta=linspace(30,360,n);//390 pełny obrót
apha=[linspace(60, 0, n/2) linspace(0, 80, n/2)];// od góry do dolu
xselect()
xset("pixmap",1)//aktywowanie podwójnego buforowania
driver("Xll")
//zmieniamy parametr theta
for i=1:n
xset("wwpc") //wyczyszczenie z bieżacego bufora
plot 3d(x, y, z, theta=theta(i), alpha=alpha(l), leg="x@y@z", flag=[2 4 4])
xtitle("Zmany punktu widzenia przy pomocy parametru theta")
xset("wshow")
end
//zmieniamy parametr alpha
for i=1:n
xset("wwpc") //wyczyszczenie bieżacego bufora
plot 3d(x, y, z, theta=theta(i), alpha=alpha(l), leg="x@y@z", flag=[2 4 4])
xtitle("Zmany punktu widzenia przy pomocy parametru alpha")
xset("wshow")
end
xset("pixmap",0)
driver("Rec")
Przykład 16: Krzywe w przestrzeni:
t=linspace(0,4*\%pi, 100);
x=cos(t), y=sin(t); z=0.1*t; //spirala
param3d(x, y, z)
x2=x1+0.1*(1-rand(x1));
y2=x1+0.1*(1-rand(y1));
z2=x1+0.1*(1-rand(z1));
xbasc()
xset("font", 2, 3]
param3d1([x1 x2], [y1 y2], list([z1 z2], [1,-9], flag=[4 4])
xset("font", 4, 4)
xtitle("Spirala z perelkami")


Wyszukiwarka

Podobne podstrony:
41 Scharakteryzuj oddzialywania czasteczkowe na przykladzie wykresu
przyklad wykresy zespolone
przykładowe błędne sprawko bez podpisanych wykresów, tabelek, rysunków
przyklad opis wykresu 2D
Przyklad wykresy Bodego
przykład MATLAB wykresy
cw6 arkusz obliczeniowy przyklad
przykładowy test A
przykladowyJrkusz150UM[1] drukow
OEiM AiR Przykladowy Egzamin
Znaczenie korytarzy ekologicznych dla funkcjonowania obszarów chronionych na przykładzie Gorców
przykladowe zadania redoks
Ćwiczenie 14 przykład
6 6 Zagadnienie transportowe algorytm transportowy przykład 2
Przyklad5 csproj FileListAbsolute

więcej podobnych podstron