PROJEKTY NUMERKI wartosci wlasne


obliczenie max wektora wlasnego
#! /usr/bin/octave -q

function[iter,lambda,x]=iter(A,xk)

lamk=0.0;
c=(xk'*xk)^0.5;
uk=xk/c;
epsL=1;
epsR=1;
iter=1;

while (epsL>1e-6)&(epsR>1e-6)
xk1=A*uk;
lamk1=uk'*xk1;
k=epsR;
c=(xk1'*xk1)^0.5;
uk1=xk1/c;
epsL=abs((lamk1-lamk)/lamk1);
epsR=((uk1-uk)'*(uk1-uk))^0.5;

iter=iter+1;
if (iter>200)
printf('rozbiezny\n');
return
end %if

lamk=lamk1;
uk=uk1;
end %while

lambda=lamk
x=uk;
end %function

%dane
A=[2 3 1;4 6 5;9 8 2];
xk=[1;0;0];
%wywoalenie
[iter,lambda,x]=iter(A,xk)



function r=iteracjaodwrotna
A=[1 -1 0;-2 4 -2;0 -1 2];

xk=[1;0;0];
lamk=0.0;
c=(xk'*xk)^0.5;
uk=xk/c;
epsL=1;
epsR=1;
iter=1;
A=inv(A);
while (eps>1e-6)&(epsR>1e-6)
xkl=A*uk;
lamk1=uk'*xk1;
k=epsR;
c=(xkl'*xkl)^0.5;
uk1=xk1/c;
epsL=abs((lamk1-lamk)/lamk1);
epsR=((uk1-uk)'*(uk1-uk))^0.5;

iter=iter+1;
if (iter>200)
printf('proces rozbiezny\n');
return
end
lamk=lamk1;
uk=uk1;
end
lambda=lamk^(-1);
x=uk;
end


a to ponoć jacobiego metoda

A=[10,1,2;3,10,1;0,2,5];
B=[13;14;7];
n=size(A,1);
xk=zeros(1,n);
x=zeros(1,n);
eps=0.00001;
for iter=1:50
for i=1:n
s=0;
for k=1:n
if k~=i
s=s+A(i,k)*x(k);
end
end
xk(i)=(B(i)-s)/A(i,i);
end
max=sqrt((x(1)-xk(1))^2);
for i=2:n
if sqrt((x(i)-xk(i))^2)>max
max=sqrt((x(i)-xk(i))^2);
end
end
x=xk;
if max<=eps
end
end
end
x
max


function[iter,iRk,wektorn]=potegowa
%west-wektor startowy, mian-mianownik w wektorze znormalizowanym,
%wenor-wektor znormalizowany, wenor1- wektor znormalizownay nastepny, wesn-
%wektor startowy nastepny iter -liczba iteracji, iRk-iloczyn Redleya
%(wartość wałasna maksymalny co do wartosci bezwglednej) ,wektorn- wektor znormalizownany na koncu
% epsL i epsR - szcowane błedy
A=input('Podaj macierz A: ')
west=input('Podaj wektor startowy: ')
blad=input('Podaj wartość błedu n: ')
lamk=0.0;
mian=(west'*west)^0.5;
wenor=west/mian;
epsL=1;
epsR=1;
iter=1;
while (epsL>blad)&(epsR>blad)
wesn=A*wenor;
lamk1=wenor'*wesn;
k=epsR;
mian=(wesn'*wesn)^0.5;
wenor1=wesn/mian;
epsL=abs((lamk1-lamk)/lamk1);
epsR=((wenor1-wenor)'*(wenor1-wenor))^0.5;
iter=iter+1;
if (iter>200)
printf('rozbiezny\n');
return
end %if
lamk=lamk1;
wenor=wenor1;
end %while
iRk=lamk;
wektorn=wenor;
end %function


Wyszukiwarka

Podobne podstrony:
PROJEKTY NUMERKI wartosci walsne programy
Wykład 22 Wektory i wartosci własne
12 wartosci wlasne www
PROJEKTY NUMERKI rozniczka
zestaw al wartosci wlasne
Projekt strumienia wartości Zarządzanie Logistyczne
PROJEKTY NUMERKI rożniczka oct
POCZUCIE WŁASNEJ WARTOŚCI
Poczucie własnej wartości
wykład 12 wartości i wektory własne
O POCZUCIU WLASNEJ WARTOSCI
PRZEKONANIA O SOBIE WSPIERAJĄCE POCZUCIE WŁASNEJ WARTOŚCI
zalozenia projekt wartosciowanie

więcej podobnych podstron