Matematika - pomoć pri rešavanju zadataka (obavezno pročitati uputstva u prvom postu)

evo da malo razbudim ove matematicare :D . Radi se o sledecem: imam funkciju x=ky^c, k i c su mi nepoznate konstante, a poznate su mi vrijednosti y za odredjeno x (koje je takodje poznato), tako da ja mogu nacrtati grafik koji naravno nije linearan... Meni treba da linearizujem ovu fukciju tako da mogu naci koeficijent pravca, preko koga cu naci neku od ovih nepoznatih konstanti (k ili c), e sad ja vas pitam kako da je linearizujem i da li je to uopste mguce? :confused: :worth: :lol:

Pa možeš da je linearizuješ u okolini neke tačke (tamo gde ti treba linearizacija) tako što ćeš da je razviješ u Tejorov red u okolini te tačke, pri tome odbacujući sve članove reda veće od prvog.
 
@paganko ti si bas saljiv ponekad... Ja nisam ni ovo znao a kamo li to.... :D Meni treba da nacrtam grafik koji je linearan i to sam ovako uradio, zatim odredio koeficijent pravca i gotovo... O tom razvijanju u red ja pojma nemam... :/

Pa to ti je druze, nista prostije:

Tejlorov red funkcije f(x) u okolini tacke x=a jednak je:

d8f92ef8e46a567502e11ceb74574b40.png


Posto ti treba linearna funkcija odbacujes sve clanove vece od prvog. Nije nikakva filozofija, linearizacija se standardno tako radi u teoriji upravljanja. Nadjes prvi izvod funkcije koju linearizujes, uvrstis radnu tacku i dobijes linearizovanu funkciju u okolini te radne tacke.
 
evo da malo razbudim ove matematicare :D . Radi se o sledecem: imam funkciju x=ky^c, k i c su mi nepoznate konstante, a poznate su mi vrijednosti y za odredjeno x (koje je takodje poznato), tako da ja mogu nacrtati grafik koji naravno nije linearan... Meni treba da linearizujem ovu fukciju tako da mogu naci koeficijent pravca, preko koga cu naci neku od ovih nepoznatih konstanti (k ili c), e sad ja vas pitam kako da je linearizujem i da li je to uopste mguce? :confused: :worth: :lol:


То што ти хоћеш да одрадиш је познато као параметарска естимација. То се често среће у мерењима кад знаш какав је математички модел величине коју мериш али не знаш вредности параметара тог модела.
Само да се надовежем на Паганка: ти имаш непозната два параметра, па ф-ју мораш да развијаш у Тејлоров ред као скаларну ф-ју векторског аргумента (у овом случају аргумент је вектор непознатих параметара [k,c]).
Написао сам ти теорију о томе на две странице, али не знам како да то копирам овде, а мрзи ме да upload-ујем. У принципу, комбинујеш Њутнов метод налажења нуле нелинеарне функције са методом минимизације суме квадрата. Ево ти мали МАТЛАБ програмчић у којем сам применио ту теорију, па одатле можеш видети принцип рада:

function njutn
% za funkciju y=k * a ^ c
% estimira nepoznate vrednosti parametara k i c
% ako su zadate vrednosti nezavisne velicine a i merene velicine y
%--------------------------------------------------------------------------------------
clc % brisi ekran

%---------------------------------------------------------------------------------------
ktacno = 3.2; % ovo je samo za primer, u stvari ovu vrednost hocu da nadjem
ctacno = 2.7; % isto kao i gornji komentar
%---------------------------------------------------------------------------------------
% na ovom mestu se zapravo unose eksperimentalne vrednosti za a i y
% posto ne znam vrednosti za a i y, ja cu ih proizvoljno simulirati
a = (1:0.5:5)'; % <------ OVDE UNESI VREDNOSTI ZA TVOJU NEZAVISNU PROMENLJIVU
y = ktacno*a.^ctacno; % <------ OVDE UNESI VREDNOSTI ZA TVOJU ZAVISNU PROMENLJIVU
%---------------------------------------------------------------------------------------


% ODAVDE POCINJE ALGORITAM
% pocetno pogadjanje jako bitno utice na to da li ce algoritam
% ispravno izracunati parametre ili ce divergirati!
x0 = [2.0;2]; % pocetno pogadjanje parametara
EPSILON = 1e-5; % zeljena tacnost proracuna

ITER = 0; % brojac iteracija
dx = [1;1]; % dx je korekcija pocetnog pogadjanja
while max(abs(dx)) > EPSILON % sa iteracijama prekini tek kad je dx zanemarljivo malo
fun = F(a,x0); % za zadato x0 izracunaj pogadjanje vrednosti za funkciju
jak = J(a,x0); % i odgovarajuci Jakobijan

dx = pinv(jak)*(y-fun) % izracunaj korekciju dx
x0 = x0 + dx % dodaj je na x0; tako dobijas bolje vrednosti za x0
plot(a,y,a,fun,'o',a,fun,'r--'); grid on; % posmatranje kako se estimirana f-ja priblizava eksperimentalnim podacima
ITER = ITER + 1; % broj iteracije, ako je potrebno
end

%---------------------------------
function fun = F(a,x0)
% y = k*a^c
k=x0(1);
c=x0(2);
fun=k*a.^c;
return

function jak = J(a,x0)
% y = k*a^c
k=x0(1);
c=x0(2);
J1 = a.^c; % izvod k*a^c po k
J2 = k*a.^c.*log(a); % izvod k*a^c po c
jak = [J1 J2]; % formiraj matricu za jakobijan
return
 
Видим да је завладао период учмалости због годишњих одмора... зато ево нечега за мало мозгања пред спавање:

Претпоставимо да имамо N коцкица (реч је о стандардним коцкицама са 6 страница, као за "јамб" или "не љути се човече"), које истовремено бацамо. Примећујемо да је стандардна девијација збира добијених бројева на коцкицама цео број. Колика је најмања (ненулта) вредност за N да би ово било могуће?
 
Imas gresku u zadatku. . . A x + B y + C z + D = 0 je jednacina ravni a ne prave. . . (A, B, C) ti je normala na datu ravan i ako uzmes i pomozis (A, B, C) (x-x1, y-y1, z-z1) i izjednacis sa 0, dobices datu jednacinu ravni. . . Inace, generalno, (a1, a2, a3) ti je pravac prave. . . Ali kao sto napisah, prvo ti je jednacina ravni, a drugo prave a to bas i nije isto :)
 
Не знам где си са градивом, али ово ми пада на памет:
http://en.wikipedia.org/wiki/Lambert_W_function

Видим да на тој страни дају и одговарајуће решење, па га нећу преписивати. Можда задатак има неки контекст који те спашава? :P
 
treba mi mala pomoc: kako mogu rijesiti jednacinu tipa x^x=a??

Добро је да си уочио грешку, али без обзира на то, тема је занимљива. Миша те је упутио на праву адресу.

Ја ћу покушати да објасним једну нумеричку методу (јер се ради о трансцендентној једначини) која се не користи баш тако често, а неки пут је јако подесна.
Метода је итеративна, а не заснива се нити на Њутновој методи (Newton-Raphson метода или метода тангенте) нити на методи секанте ("Reguli falsi" metoda).
Напомињем да је Њутнова метода обично и најбржа, тј. у најмањем броју итерација доводи до циља.

Поступак је следећи:
Ако хоћеш решити ј-ну f(x) = a, онда из те једначине изразиш х као x = f1(a,x), тј. посматраш х као функцију од a и х.
Ову једначину сада можеш лако решити графички (нацрташ ф-ју y=x и ф-ју y=f1(a,x) и нађеш њихов пресек), или итеративно. Итеративни поступак је следећи:

1. изабереш почетно погађање за х, нека је то х0.
2. израчунаш ново x1 = f1(a,x0)
3. видиш колика је разлика између почетног и новог решења: RAZ = abs(x1-x0)
Ако је та разлика довољно мала, нпр. мања од неког EPSILON, онда престајеш са даљим рачуном
4. за почетно погађање сада узимаш нову вредност: х0 = х1
5. идеш на корак 2.

Ево малог MATLAB програмчића који то ради:
a = 2; % unesi parametar
EPSILON = 1e-7; % zadata tacnost proracuna
RAZ = 1; % razlika izmedju pocetnog i novog resenja, za pocetak je na nekoj velikoj vrednosti
x0 = 0.1; % pocetno pogadjanje rezultata
fprintf('ITER. x0 x1 EPS\n')
fprintf('------------------------------------------------------------\n')
ITER = 0; % brojac iteracija
while RAZ> EPSILON; % ako je razlika manja od zadate tacnosti, zavrsi sa radom
ITER = ITER + 1;
x1 = a^(1/x0); % nova vrednost za x
RAZ = abs(x1 - x0); % nadji koliko su daleko novo i pocetno resenje
fprintf('%3d %12.7f %12.7f %12.7f\n',ITER,x0,x1,RAZ)
x0 = x1; % novo resenje se proglasava za pocetno
end
fprintf('\n\nProvera: %12.7f ^ %12.7f = %12.7f\n',x0,x0,x0^x0)

Нпр, за a=2 било је потребно 24 итерације:
ITER.____x0_____________ x1_____________RAZ
-----------------------------------------------------------------------------------------
1___ 0.1000000_______1024.0000000_______1023.9000000
2___1024.0000000_______ 1.0006771_______1022.9993229
3___ 1.0006771_______ 1.9990622_______ 0.9983850
4___ 1.9990622_______ 1.4144435_______ 0.5846186
5___ 1.4144435_______ 1.6323968_______ 0.2179533
6___ 1.6323968_______ 1.5290082_______ 0.1033886
7___ 1.5290082_______ 1.5735453_______ 0.0445371
8___ 1.5735453_______ 1.5534842_______ 0.0200611
9___ 1.5534842_______ 1.5623463_______ 0.0088621
10___ 1.5623463_______ 1.5583972_______ 0.0039492
11___ 1.5583972_______ 1.5601502_______ 0.0017531
12___ 1.5601502_______ 1.5593707_______ 0.0007795
13___ 1.5593707_______ 1.5597171_______ 0.0003464
14___ 1.5597171_______ 1.5595631_______ 0.0001540
15___ 1.5595631_______ 1.5596315_______ 0.0000684
16___ 1.5596315_______ 1.5596011_______ 0.0000304
17___ 1.5596011_______ 1.5596146_______ 0.0000135
18___ 1.5596146_______ 1.5596086_______ 0.0000060
19___ 1.5596086_______ 1.5596113_______ 0.0000027
20___ 1.5596113_______ 1.5596101_______ 0.0000012
21___ 1.5596101_______ 1.5596106_______ 0.0000005
22___ 1.5596106_______ 1.5596104_______ 0.0000002
23___ 1.5596104_______ 1.5596105_______ 0.0000001
24___ 1.5596105_______ 1.5596105_______ 0.0000000

Provera: 1.5596105 ^ 1.5596105 = 2.0000000
 
Greska ti je f^(n+1)(c)(x-x_0)^(n+1)/(n+1)! gde je c neka konstanta. . . Ti imas drugi izvod pa je n=2, aproksimiras u okolini 1, x_0=1; a interval ti je [1, 11/10]. . . Pa sada nadji treci izvod funkcije f, sto je f^3(x)=4 e^(2/x)-(4x-1)e^(2/x) 2/x^2 sad ga ti malo sredi i ako sam ja dobro u glavi uradio trebalo bi da dobijes f^3(x)=(2-1/x)^2 e^(2/x) i to ima maksimim kad x uzima najmanju vrednost a to je bas kad je c=1 pa je maksimim od treceg izvoda e^2 i onda imamo da je tvoja greska
max |f^(n+1)(c)(x-x_0)^(n+1)/(n+1)!|=max |f^(3)(c)(x-x_0)^(3)/(3)!|=max |f^(3)(c)| max|(x-x_0)^(3)/6|=e^2 (1/10)^3 1/6=e^2/600
gde smo za max|x-x_0| uzeli maksimalnu razliku izmedju x i x_0, ie uzmes interval u kom je x, [1, 11/10] i od njega "odmuzmes" x_0 (oduzmes x_0 od granica) i sto dobijes da je vece je ono sto uzmes za maksimalnu razliku. . . I to je cela prica. . .
A ti samo proveri treci izvod da nisam nesto uprskao. . .
 

Back
Top