Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
update
  • Loading branch information
chv14004 committed Mar 29, 2017
1 parent b2ac676 commit e545ce2
Show file tree
Hide file tree
Showing 7 changed files with 74 additions and 21 deletions.
20 changes: 19 additions & 1 deletion helpfile.m
@@ -1 +1,19 @@
help file



test_arrays
fprintf('size of Matrix error \n');
for i=3:10;
[ud,uo,lo]=lu_tridiag(e(1:i-1),f(1:i),g(1:i-1));
b=ones(i,1);
x=solve_tridiag(ud,uo,lo,b);
A=eval(['A',int2str(i)]);
y=A\b;

z=norm(x-y);

fprintf(' %d ',i);
fprintf(' %6.28f \n' ,z);
end


17 changes: 11 additions & 6 deletions lu_tridiag.m
@@ -1,6 +1,6 @@
function [ud,uo,lo]=lu_tridiag(e,f,g);
function [ud,uo,lo]=lu_tridiag(g,f,e);
% lu_tridiag calculates the components for LU-decomposition of a tridiagonal matrix
% given its off-diagonal vectors, e (a) and g (b)
% given its off-diagonal vectors, e (n=0) and g (1=0)
% and diagonal vector f (d)
% the output is
% the diagonal of the Upper matrix, ud (dd)
Expand All @@ -11,14 +11,19 @@ function [ud,uo,lo]=lu_tridiag(e,f,g);
ud=zeros(m,n);
uo=zeros(m,n);
lo=zeros(m,n);


ud(1)=f(1);
lo(1)=0;
uo=e;

for s=1:(m-1)
uo(s)=e(s);
end
uo(m)=0;

for i=2:n
lo(i)=g(i)/(ud(i-1));
ud(i)=f(i)-(lo(i)*e(i-1));
for i=2:m
lo(i,1)=g(i-1,1)/(ud(i-1,1));
ud(i,1)=f(i,1)-(lo(i,1)*e(i-1,1));
end


Expand Down
22 changes: 22 additions & 0 deletions question6.m
@@ -0,0 +1,22 @@
clc;
clear;

BeamLength=5;
NumSegments=10;
deltax=BeamLength/NumSegments;

n=NumSegments-1;
A=zeros(n,n);

for i=1:n
A(i,i)=2;
end

for i= 1:n-1
A(i,i+1)=-1;
A(1+i,i)=-1;
end
A(n,n)=-3

eig(A)

12 changes: 8 additions & 4 deletions solve_tridiag.m
Expand Up @@ -14,18 +14,22 @@ z(1)=b(1);
x=zeros(s,n);



%solve Lz=b using forward subsitution
for i= 2:n
z(i)=b(i)-(lo(i)*z(i-1));
for i= 2:s
z(i)=b(i)-(lo(i)*z(i-1));

end

%solve Ux=z using backward substitution
x(n)=z(n)/ud(n);
x(s)=z(s)/ud(s);

for k= (n-1):-1:1
for k= (s-1):-1:1

x(k)=(z(k)-uo(k)*x(k+1))/ud(k);
end


end


12 changes: 12 additions & 0 deletions springmass.m
@@ -0,0 +1,12 @@
k1=10;
k2=20;
k3=20;
k4=10;
m1=1;
m2=2;
m3=4;
km=[(1/m1)*(k2+k1),-(k2/m1),0;-(k2/m2),(1/m2)*(k2+k3),-(k3/m2);0,-(k3/m3),(1/m3)*(k3+k4)];

eigenvalues=eig(km)

frequencies=sqrt(eigenvalues)
4 changes: 2 additions & 2 deletions test_arrays.m
@@ -1,8 +1,8 @@
rand("seed",1);


for i = 3:10
e=sort(randi(6,[i-1,1]));
f=sort(randi(10,[i,1]));
g=sort(randi(9,[i-1,1]));
eval(['A',int2str(i),'=diag(f)+diag(e,-1)+diag(g,1);']);
end
end
8 changes: 0 additions & 8 deletions testarrays

This file was deleted.

0 comments on commit e545ce2

Please sign in to comment.