jak znale?? ca?ke funkcji podana w postaci tablicy wyników y=f(t) w matlabie lub maple?

Oct 25, 2006 Last reply: 19 years ago 7 Replies

witam. mam taki problem. po przeprowadzeniu badań otrzymałem szereg wyników dla poszczegolnych czasów, na tej podstawie moge wykreslić przebieg ale potrzebuje znależc całke opisujacej go funkcji i nie wiem jak to zrobi. moze ktos sie juz zetkną z tym problemem? prosze o pomoc i z góry dziekuje. Michał


Użytkownik "mizar3" snipped-for-privacy@op.pl napisał w wiadomości news: snipped-for-privacy@i42g2000cwa.googlegroups.com...

Z grubsza rzecz biorąc są dwie możliwości:

1) Znajdujesz funkcję opisującą z jakimś tam sensownym przybliżeniem Twoje wynika, a następnie w sposób analityczny znajdujesz całkę.

2) Liczysz całkę jako pole pod wykresem.

Pierwszy sposób jest na pewno lepszy, o ile potrafisz mniej więcej przewidzieć charakter zależności funkcji.

Dnia 25-10-2006 o 20:49:35 mizar3 snipped-for-privacy@op.pl napisał(a):

Jeśli dobrze zrozumiałem, to masz już funkcję opisującą przebieg daną wzorem, teraz potrzebujesz całkę tej funkcji.

Na przykładzie (MATLAB):

syms t,x; % x - wartość symboliczna int(sin(x)); % całka nieoznaczona int(sin(t*x),t); % całkowanie po dt int(sin(x),0,1); % całka oznaczona w granicach od 0 do 1

nie mam taj funkcji danej wzorem a mam jedynie jej wykres, tzn jedną tabelke z x a drugą z y i problem polega na znalezieniu x i y dla całki z tej funkcji. juz sie dowiedziałem że można to zrobic korzystająć z wzoru riemmana ale nie wiem jak napisac taki programik sumujący

pozdrawiam Michał

Dnia 28-10-2006 o 14:33:57 mizar3 snipped-for-privacy@op.pl napisał(a):

W takim razie nic prostszego :)

MATLAB - przykład (całkowanie numeryczne metodą trapezów):

% POCZTEK KODU

x=[0 1 2 3 4 5]; % przykładowy wektor argumentów y=[0.1 0.2 0.1 0.7 0.8 0.2]; % przykładowy wektor wartości

calka_y_dx(i)=0;

for i=1:(size(x,2)-1),

if i==1 calka_y_dx(i+1)=0.5*h*(y(i)+y(i+1)); % ze wzoru na pole powierzchni trapezu else h=x(i+1)-x(i); % wysokość trapezu calka_y_dx(i+1)=calka_y_dx(i)+0.5*h*(y(i)+y(i+1)); % ze wzoru na pole powierzchni trapezu end

end

figure; plot(x,y,'r:+',x,calka_y_dx,'b:*'); % wykres legend('y','calka z y po dx'); % legenda wykresu

% KONIEC KODU

Myślę, że teraz powinieneś sobie z tym poradzić bez problemu.

Daniel Gonet napisał(a):

Dzieki bardzo za pomoc. Pozostał mi jeszcze jedynie problem jak przenieść dane z excela aby z nich stworzyc wektory danych w matlabie. pozdr Michał

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required