|
Budownictwo 2006 Wydział Inżynierii Lądowej Politechniki Krakowskiej
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
barg
Podawacz Cegieł
Dołączył: 09 Paź 2006
Posty: 14
Przeczytał: 0 tematów
Pomógł: 5 razy Ostrzeżeń: 0/5
|
Wysłany: Wto 14:30, 11 Gru 2007 Temat postu: zmodyfikowany Newton |
|
|
function[y]=f(x)
y=2*x*x*x-3*x*x+5*x -6;
end
function[y]=fp(x)
y=2*3*x*x-3*2*x+5;
end
function[x1,iter]=m_zmod_newt(a,b,eps)
fb=f(b);
fa=f(a);
fp=fp(b);
if fa*fb>0
break
end
x0=b;
for iter=1:150
x1=x0-f(x0)/fp;
if (abs(x1-x0)<eps)||(abs(f(x1))<1.e-10)
return
end
x0=x1;
end
end
a=-5;
b=10;
k=50;
d=(abs(a)+abs(b))/k;
xa=0;
for i=1:k+1
x(i)=a+xa;
y(i)=f(x(i));
xa=xa+d;
end
x_0=m_zmod_newt(a,b,0.001);
x_0
plot(x,y,"-",x_0,f(x_0),"*")
hold on
pause
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Zenek Obornik
Podawacz Cegieł
Dołączył: 01 Cze 2007
Posty: 10
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 14:39, 11 Gru 2007 Temat postu: |
|
|
function[y]=f(x)
y=6*(x-4)*(x+3)*(x-9)
end
function[x,iter]=m_regfalsi(a,b,eps)
fa=f(a);
fb=f(b);
if fa*fb>0
break
end
for iter=1:150
x=a-fa/(fb-a)*(b-a);
fx=f(x);
if fa*fx>0
if(abs(x-a)<eps)||(abs(fx)<1.e-10)
return;
end
a=x;
fa=fx;
else
if(abs(x-b<eps))||(abs(fx)<1.e-10)
return;
end
b-x;
fb=fx;
end
end
end
c=-15
d=15
e=0.01
[c,d]=m_regfalsi(-15,15,0.01)
plot(x,y,"-@")
hold on
pause
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Zenek Obornik
Podawacz Cegieł
Dołączył: 01 Cze 2007
Posty: 10
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 14:58, 11 Gru 2007 Temat postu: |
|
|
function[y]=f(x)
y=6*(x-4)*(x+3)*(x-9)
end
function[x,iter]=m_regfalsi(a,b,eps)
fa=f(a);
fb=f(b);
if fa*fb>0
break
end
for iter=1:150
x=a-fa/(fb-a)*(b-a);
fx=f(x);
if fa*fx>0
if(abs(x-a)<eps)||(abs(fx)<1.e-10)
return;
end
a=x;
fa=fx;
else
if(abs(x-b<eps))||(abs(fx)<1.e-10)
return;
end
b-x;
fb=fx;
end
end
end
a=-5;
b=10;
k=50;
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Zenek Obornik
Podawacz Cegieł
Dołączył: 01 Cze 2007
Posty: 10
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 15:03, 11 Gru 2007 Temat postu: |
|
|
function[y]=f(x)
y=6*(x-4)*(x+3)*(x-9)
end
function[x,iter]=m_regfalsi(a,b,eps)
fa=f(a);
fb=f(b);
if fa*fb>0
break
end
for iter=1:150
x=a-fa/(fb-a)*(b-a);
fx=f(x);
if fa*fx>0
if(abs(x-a)<eps)||(abs(fx)<1.e-10)
return;
end
a=x;
fa=fx;
else
if(abs(x-b<eps))||(abs(fx)<1.e-10)
return;
end
b-x;
fb=fx;
end
end
end
a=-5;
b=10;
k=50;
d=(abs(a)+abs(b))/k;
[x0,iter]=m_regfalsi(-5,10,0.01)
xa=0;
for i=1:k+1
x(i)=a+xa;
y(i)=f(x(i));
xa=xa+d;
end
x0=m_regfalsi(a,b,0.01)
x0
plot(x,y,"-",x0,f(x0),"*")
hold on
pause
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|