Contents

%*%% Uporaba programskega okolja Mathematica za izracun vrednosti funkcij ter
% risanje grafov funkcij*

%Definirajmo funkcijo f(x) = a*e^(b*x)cos(c*x),
%kjer so vrednosti parametrov a = 2, b = –0,5 ter c = 1,5.

a = 2
b = -0.5
c = 1.5;
% Če zaključimo enačbo s podpičjem, se izračun ne izpiše v ukazni vrstici,
% sicer se izpiše. Zato se izpišeta vrednosti za a in b ne pa tudi za c.

%Določimo seznam vrednosti funkcije, ko se spremenljivka x spreminja
%od vrednosti –5 do 5 s korakom po 0,5.

x=-5:0.5:5;
f=a*exp(b.*x).*cos(c.*x)  % komentar


% Izpis tabele
[x;f]'  % združim  vektorja (niza) x in f in ju transponiram.
% Ker izraz ni zaključen s podpičjem, se izpišejo vrednosti

% Izris točk
plot(x,f,'*')  % izris točk z zvezdicami
figure;         % nova slika
plot(x,f,'r*-')  % izris točk z zvezdicami + linija + rdeča barva
figure;         % nova slika
plot(x,f,'g--','Linewidth',2)  % izris točk z zvezdicami + linija + rdeča barva


% ker je točk premalo za bolj zvezen zapis, zmanjšamo korak med točkai
x=-5:0.1:5;
f=a*exp(b.*x).*cos(c.*x)  % komentar
figure;         % nova slika
plot(x,f,'k--','Linewidth',2)  % izris točk z zvezdicami + linija + rdeča barva

% Opis osi
xlabel('X / m')
ylabel(' f  / T');
a =

     2


b =

   -0.5000


f =

  Columns 1 through 7

    8.4458   16.9452   14.1895    5.8937   -1.8894   -5.7281   -5.3822

  Columns 8 through 14

   -2.6597    0.2333    1.8790    2.0000    1.1397    0.0858   -0.5935

  Columns 15 through 21

   -0.7284   -0.4702   -0.0941    0.1780    0.2599    0.1882    0.0569


ans =

   -5.0000    8.4458
   -4.5000   16.9452
   -4.0000   14.1895
   -3.5000    5.8937
   -3.0000   -1.8894
   -2.5000   -5.7281
   -2.0000   -5.3822
   -1.5000   -2.6597
   -1.0000    0.2333
   -0.5000    1.8790
         0    2.0000
    0.5000    1.1397
    1.0000    0.0858
    1.5000   -0.5935
    2.0000   -0.7284
    2.5000   -0.4702
    3.0000   -0.0941
    3.5000    0.1780
    4.0000    0.2599
    4.5000    0.1882
    5.0000    0.0569


f =

  Columns 1 through 7

    8.4458   11.1924   13.4119   15.1018   16.2724   16.9452   17.1517

  Columns 8 through 14

   16.9314   16.3300   15.3982   14.1895   12.7589   11.1616    9.4513

  Columns 15 through 21

    7.6793    5.8937    4.1381    2.4513    0.8668   -0.5875   -1.8894

  Columns 22 through 28

   -3.0226   -3.9762   -4.7447   -5.3273   -5.7281   -5.9547   -6.0184

  Columns 29 through 35

   -5.9331   -5.7151   -5.3822   -4.9531   -4.4473   -3.8841   -3.2822

  Columns 36 through 42

   -2.6597   -2.0333   -1.4182   -0.8280   -0.2743    0.2333    0.6869

  Columns 43 through 49

    1.0811    1.4122    1.6782    1.8790    2.0161    2.0923    2.1116

  Columns 50 through 56

    2.0789    2.0000    1.8811    1.7288    1.5500    1.3515    1.1397

  Columns 57 through 63

    0.9210    0.7013    0.4858    0.2793    0.0858   -0.0913   -0.2494

  Columns 64 through 70

   -0.3865   -0.5014   -0.5935   -0.6627   -0.7096   -0.7351   -0.7408

  Columns 71 through 77

   -0.7284   -0.6999   -0.6574   -0.6034   -0.5402   -0.4702   -0.3957

  Columns 78 through 84

   -0.3189   -0.2418   -0.1663   -0.0941   -0.0265    0.0353    0.0904

  Columns 85 through 91

    0.1381    0.1780    0.2098    0.2337    0.2497    0.2583    0.2599

  Columns 92 through 98

    0.2552    0.2449    0.2297    0.2106    0.1882    0.1636    0.1374

  Columns 99 through 101

    0.1104    0.0833    0.0569

Nekaj manipulacij z nizi

f(1)  % izpiše se prva vrednost v nizu
f(2:10)  % izpiše se del niza: od 2 do 10 točke
length(f) % izpiše se dolžina niza
max(f)      % največja vrednost v nizu
min(f)      % najmanjša vrednost v nizu
mean(f)     % povprečna vrednost
find(f==max(f))  % poišče indeks pri katerem je vrednost funkcije največja
x(find(f==max(f)))  % poiščemo pri katerem x-u je ta maksimum
ans =

    8.4458


ans =

  Columns 1 through 7

   11.1924   13.4119   15.1018   16.2724   16.9452   17.1517   16.9314

  Columns 8 through 9

   16.3300   15.3982


ans =

   101


ans =

   17.1517


ans =

   -6.0184


ans =

    1.5725


ans =

     7


ans =

   -4.4000

Numerična Integracija

z numerično integracijo izračunamo površino pod krivuljo. Površina pod absciso je negativna.

% izris površine pod krivuljo s funkcijo area
figure
area(x,f)

% prikaz integracije površin kot seštevanje površin prikazanih s funkcijo
% bar
figure
bar(x,f,'r')

g=cumsum(f)  % sprotno seštevanje f(x)*dx, kjer je dx=0.1
G=sum(f)

figure
plot(x,f,x,g)  % izrišemo funkcijo in njen integral

% Malo polepšamo in dodamo legendo in mrežo
figure
plot(x,f,x,g,'*-','Linewidth',2)  % izrišemo funkcijo in njen integral
grid
legend('funkcija f','integral funkcije f')


% Izrišimo integral tako, da bo os za funkcijo integrala na desni
figure
plotyy(x,f,x,g)


% Poiščimo max vrednost integrala
find(g==max(g))
g =

  Columns 1 through 7

    8.4458   19.6382   33.0501   48.1519   64.4243   81.3695   98.5212

  Columns 8 through 14

  115.4526  131.7826  147.1809  161.3704  174.1293  185.2909  194.7422

  Columns 15 through 21

  202.4215  208.3152  212.4533  214.9045  215.7713  215.1838  213.2944

  Columns 22 through 28

  210.2717  206.2955  201.5509  196.2236  190.4955  184.5408  178.5224

  Columns 29 through 35

  172.5893  166.8742  161.4921  156.5390  152.0916  148.2076  144.9254

  Columns 36 through 42

  142.2657  140.2324  138.8142  137.9862  137.7120  137.9452  138.6322

  Columns 43 through 49

  139.7133  141.1255  142.8037  144.6827  146.6988  148.7911  150.9028

  Columns 50 through 56

  152.9817  154.9817  156.8628  158.5916  160.1417  161.4931  162.6328

  Columns 57 through 63

  163.5538  164.2551  164.7409  165.0202  165.1060  165.0147  164.7653

  Columns 64 through 70

  164.3788  163.8774  163.2839  162.6213  161.9117  161.1766  160.4358

  Columns 71 through 77

  159.7074  159.0075  158.3501  157.7467  157.2065  156.7363  156.3406

  Columns 78 through 84

  156.0218  155.7800  155.6137  155.5196  155.4931  155.5285  155.6189

  Columns 85 through 91

  155.7570  155.9349  156.1448  156.3784  156.6281  156.8864  157.1463

  Columns 92 through 98

  157.4015  157.6464  157.8761  158.0867  158.2749  158.4385  158.5758

  Columns 99 through 101

  158.6862  158.7696  158.8265


G =

  158.8265


ans =

    19