Arkadaşlar soru bu. Dönem içinde sadece 1 saat matlab gördük. O kadar bilgiyle de soruyu çözemedim. Yardımcı olursanız memnun olurum
Arkadaşlar soru bu. Dönem içinde sadece 1 saat matlab gördük. O kadar bilgiyle de soruyu çözemedim. Yardımcı olursanız memnun olurum
matlab deılde ustat newton-raphsonun calısma prensıbını anlatan bı fortran algoritması var ıstersen
arkadaşlar şu soruyu newton rapson nun bairstow yöntemiyle çözebilecek var mı?
- - - Updated - - -
f(x)=2*x^3-2
ozooo89 Nickli Üyeden Alıntı [Misafirler Kayıt Olmadan Link Göremezler Lütfen Kayıt İçin Tıklayın ! ]
Şu adresten alıntıdır (üzerinde birkaç oynama yaptım):
[Misafirler Kayıt Olmadan Link Göremezler Lütfen Kayıt İçin Tıklayın ! ]
Dosyanın adı Untitled.m olması gerek. Yoksa çalışmaz. Eğer dosya adı farklı olacaksa, kodun ilk satırındaki "function Untitled" da dosya adıyla aynı olması lazım.
a değeri çözümü istenen polinomun katsayıları, tol değeri ise çözümün ne hassasiyetle yapılmasının istendiğidir.
function Untitled
clear all;clc;
a = [2,0,0,-2]; % f(x) polinomu katsayıları: f(x)=2x^3+0*x^2+0*x^1-2*x^0
tol = 0.001; % sonucun ne kadar hassas olacağı
n = length(a)-1;
a=a/a(1);
a=a(2:length(a));
it=1;
while n>2
u=1; v=1; st=1;
while st>tol
b(1)=a(1)-u; b(2)=a(2)-b(1)*u-v;
for k=3:n
b(k)=a(k)-b(k-1)*u-b(k-2)*v;
end
c(1)=b(1)-u; c(2)=b(2)-c(1)*u-v;
for k=3:n-1
c(k)=b(k)-c(k-1)*u-c(k-2)*v;
end
c1=c(n-1); b1=b(n); cb=c(n-1)*b(n-1);
c2=c(n-2)*c(n-2); bc=b(n-1)*c(n-2);
if n>3, c1=c1*c(n-3); b1=b1*c(n-3); end
dn=c1-c2;
du=(b1-bc)/dn; dv=(cb-c(n-2)*b(n))/dn;
u=u+du; v=v+dv;
st=norm([du dv]); it=it+1;
end
[r1,r2,im1,im2]=solveq(u,v,n,a);
rts(n,1:2)=[r1 im1]; rts(n-1,1:2)=[r2 im2];
n=n-2;
a(1:n)=b(1:n);
end
u=a(1); v=a(2);
[r1,r2,im1,im2]=solveq(u,v,n,a);
rts(n,1:2)=[r1 im1];
if n==2
rts(n-1,1:2)=[r2 im2];
end
kokler=rts(:,1)+1i*rts(:,2)
function [r1,r2,im1,im2]=solveq(u,v,n,a)
if n==1
r1=-a(1);im1=0; r2=0; im2=0;
else
d=u*u-4*v;
if d<0
d=-d;
im1=sqrt(d)/2; r1=-u/2; r2=r1; im2=-im1;
elseif d>0
r1=(-u+sqrt(d))/2; im1=0; r2=(-u-sqrt(d))/2; im2=0;
else
r1=-u/2; im1=0; r2=-u/2; im2=0;
end
end
Konu Fallen_ONE tarafından (07.11.2012 Saat 23:43 ) değiştirilmiştir.
Merhabalar,
Halen matlab ödevi veya matlab projesi için yardım arıyorsanız, aşağıdaki sayfaya bekleriz:
[matlabprojeyardim.com]
[Misafirler Kayıt Olmadan Link Göremezler Lütfen Kayıt İçin Tıklayın ! ]
Konu sadikhava tarafından (27.11.2012 Saat 17:04 ) değiştirilmiştir.
Şu an 1 kullanıcı var. (0 üye ve 1 konuk)
Konuyu Favori Sayfanıza Ekleyin