1. Trang chủ
  2. » Khoa Học Tự Nhiên

Code matlab bài tập lớn Phương pháp tính thầy Nguyễn Hồng Lộc

10 13,1K 330

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 373,67 KB

Nội dung

ĐỀ PHƯƠNG PHÁP TÍNH THẦY LỘC.

Trang 1

ĐỀ PHƯƠNG PHÁP TÍNH THẦY LỘC

Trang 3

CODE BÀI TẬP LỚN PHƯƠNG PHÁP TÍNH THẦY LỘC

CÂU 1:

function Cau1

clc;

format short

syms x

mn = input('Nhap 2 so cuoi MSSV: ');

M = (mn+12)/10;

%%%%%%%%%%%%%%

f = exp(x)+2*x^2+sin(x)/M-10;

a = 1;

b = 2;

if double(subs(f,x,a)*subs(diff(diff(f,x),x),x,a))>0

X = a;

else

X = b;

end

if double(subs(diff(f,x),x,a))<double(subs(diff(f,x),x,b));

min = subs(diff(f,x),x,a);

else

min = subs(diff(f,x),x,b);

end

for i = 1:2 %chay nghiem tu x1 -> x2

X = X - subs(f,x,X)/subs(diff(f,x),x,X);

Denta = ceil((abs(subs(f,x,X))*10^4)/min)/10^4;

i = i+1;

end

x2 = double(X), SaiSo = double(Denta),

end

CÂU 2:

function Cau2

clc

format short

syms x

mn = input('Nhap 2 so cuoi MSSV: ');

M = (mn+12)/10;

%%%%%%%%%%%%%%%%%%%%

A=[6+M 2 -3 4 5; 4 7+M 4 -2 -6; 3 -3 8+M -2 -5; 2 -3 4 9+M -3; 5 -3 4 -2 10+M];

B=[9;8;7;6;5];

[L , U]= lu(A);

X= inv(A)*B;

l43 = L(4,3);

u55 = U(5,5);

x5 = X(5,1);

Trang 4

a = 'Phan tu L43 la:';

disp(a);

disp (l43);

b = 'Phan tu U55 la:'; disp(b); disp(u55);

c = 'Gia tri x5 la:';

disp(c); disp (x5)

end

CÂU 3:

function Jacobi

clc;

mn = input('Nhap 2 so cuoi MSSV: ');

M = (mn + 12)/10;

%%%%%%%%%%%%%%%%%%%%%%%%

a = [12+M 2 -3 4 5; 4 13+M 4 -2 -6; 3 -3 14+M 2 -5; 2 -2 4 15+M -3; 5 -4 5 -3 16+M];

b = [9; 8; 7; 6; 5];

x = [1.5; 0.3; 3.4; 1.4; 5.6];

i=0;A=x(1);B=x(2);C=x(3);D=x(4);E=x(5);

while i<3 %tim nghiem x3

X=(b(1)-a(1,2)*B-a(1,3)*C-a(1,4)*D-a(1,5)*E)/a(1,1);

Y=(b(2)-a(2,1)*A-a(2,3)*C-a(2,4)*D-a(2,5)*E)/a(2,2);

Z=(b(3)-a(3,1)*A-a(3,2)*B-a(3,4)*D-a(3,5)*E)/a(3,3);

T=(b(4)-a(4,1)*A-a(4,2)*B-a(4,3)*C-a(4,5)*E)/a(4,4);

K=(b(5)-a(5,1)*A-a(5,2)*B-a(5,3)*C-a(5,4)*D)/a(5,5);

A = X; B = Y; C = Z; D = T; E = K;

i=i+1;

end

x1 = A, x2 = B, x3 = C, x4 = D, x5 = E,

end

CÂU 4:

function GaussSeidel

clc;

mn = input('Nhap 2 so cuoi MSSV: ');

M = (mn + 12)/10;

a = [12+M 2 -3 4 5; 4 13+M 4 -2 -6; 3 -3 14+M 2 -5; 2 -2 4 15+M -3; 5 -4 5 -3 17+M];

b = [9; 8; 7; 6; 4];

x = [0.1; 0.3; 0.4; 0.5; 0.9];

i=0;A=x(1);B=x(2);C=x(3);D=x(4);E=x(5);

while i<3 %tim nghiem x3

A=(b(1)-a(1,2)*B-a(1,3)*C-a(1,4)*D-a(1,5)*E)/a(1,1);

B=(b(2)-a(2,1)*A-a(2,3)*C-a(2,4)*D-a(2,5)*E)/a(2,2);

C=(b(3)-a(3,1)*A-a(3,2)*B-a(3,4)*D-a(3,5)*E)/a(3,3);

D=(b(4)-a(4,1)*A-a(4,2)*B-a(4,3)*C-a(4,5)*E)/a(4,4);

E=(b(5)-a(5,1)*A-a(5,2)*B-a(5,3)*C-a(5,4)*D)/a(5,5);

i=i+1;

Trang 5

end

x1 = A, x2 = B, x3 = C, x4 = D, x5 = E,

end

CÂU 5:

function Cau5

clc;

format short

mn = input('Nhap 2 so cuoi MSSV: ');

M = (mn+12)/10;

%%%%%%%%%%%%%%%

syms x

X = [1.3 1.7 2.3 2.7 2.9 3.1];

Y = [1.2 8.6 2.3 2.5 2*M 6.6];

n = size(X,2); h=[]; b=[];d=[];

A = zeros(n);

B = zeros(n,1);

A(1,1)=1; A(n,n)=1;

for i=1:n-1

h(i) = X(i+1)-X(i);

end

for i=2:n-1

A(i,i)=2*(h(i-1)+h(i));

A(i,i-1)=h(i-1);

A(i,i+1)=h(i);

B(i,1)=3*(Y(i+1)-Y(i))/h(i)-3*(Y(i)-Y(i-1))/h(i-1); end

c = inv(A)*B;

for i=1:n-1

b(i)=(Y(i+1)-Y(i))/h(i)-h(i)*(c(i+1)+2*c(i))/3; d(i)=(c(i+1)-c(i))/(3*h(i));

end

t = 1.4;

I = 0;

for i =1:n-1

if t>= X(i) && t<X(i+1)

I = Y(i) + b(i)*(t-X(i)) + c(i)*(t-X(i))^2 + d(i)*(t-X(i))^3; end

end

fprintf('Xap xi gia tri cua ham tai x = %.1f',t);

disp(I);

t = 2.5;

I = 0;

for i =1:n-1

if t>= X(i) && t<X(i+1)

Trang 6

I = Y(i) + b(i)*(t-X(i)) + c(i)*(t-X(i))^2 + d(i)*(t-X(i))^3; end

end

fprintf('Xap xi gia tri cua ham tai x = %.1f',t);

disp(I);

end

CÂU 6:

function Cau6

clc;

format short ;

syms x m real

mn = input('Nhap 2 so cuoi MSSV: ');

M = (mn+12)/10;

X = [1.3 1.7 2.3 2.7 2.9 3.1];

Y = [1.2 8.6 2.3 2.5 3*M 6.6];

n = size(X,2);

g1 = 0.2;

gn = 0.5;

for i = 1:n-1

H(i) = X(i+1) - X(i);

end

A(1) = 2*H(1);

A(n) = 2*H(n-1);

for j = 2:n-1

A(j) = 2*(H(j-1) + H(j));

end

B(1) = 3*(Y(2)-Y(1))/H(1)-3*g1;

B(n) = 3*gn - 3*(Y(n)-Y(n-1))/H(n-1);

for k = 2:(n-1)

B(k) = 3*(Y(k+1)-Y(k))/H(k) - 3*(Y(k)-Y(k-1))/H(k-1); end

D = diag(A,0); E = diag(H,1); F = diag(H,-1);

C = inv(E+F+D)*(B');

for l = 1:(n-1)

d(l) = (C(l+1)-C(l))/(3*H(l));

b(l) = (Y(l+1)- Y(l))/H(l) - H(l)*(C(l+1)+2*C(l))/3; end

t = 1.4;

I = 0;

for i =1:n-1

if t>= X(i) && t<X(i+1)

I = Y(i) + b(i)*(t-X(i)) + C(i)*(t-X(i))^2 + d(i)*(t-X(i))^3; end

end

Trang 7

fprintf('Xap xi gia tri cua ham tai x = %.1f',t);

disp(I);

t = 3.0;

I = 0;

for i =1:n-1

if t>= X(i) && t<X(i+1)

I = Y(i) + b(i)*(t-X(i)) + C(i)*(t-X(i))^2 + d(i)*(t-X(i))^3; end

end

fprintf('Xap xi gia tri cua ham tai x = %.1f',t);

disp(I);

end

CÂU 7:

function Cau7

clc;

format short

syms x m

M = input('Nhap M: ');

%%%%%%%%%%%%%%%%%%%%

u = [1.2 1.3 1.4 1.5 1.7];

y = [2*M 2.5 5 4.5 5.5];

gx = sqrt(x.^2+1);

hx = cos(x);

A = zeros(2); B = zeros(2,1);

for i = 1:5

A(1,1)=A(1,1)+subs(gx.^2,u(i)) ;

A(2,2)=A(2,2)+subs(hx.^2,u(i));

A(1,2)=A(1,2)+subs(hx.*gx,u(i));

B(1,1)=B(1,1)+y(i)*subs(gx,u(i));

B(2,1)=B(2,1)+y(i)*subs(hx,u(i));

end

A(2,1) = A(1,2);

C = inv(A)*B;

A = C(1), B = C(2),

end

CÂU 8:

function Cau8

clc;

mn = input('Nhap 2 so cuoi MSSV: ');

M = (mn+12)/10;

syms x

%%%%%%%%%%%%%%%%%

p = [0.1 0.3 0.6 0.9 1.1 1.4];

Trang 8

q = [3*M 0.6 1.5 3.7 3.2 4.3];

x1 = 1; x2 = 1; x3 = 1; x4 =1; x5 = 1;

for i = 1:(size(p,2)-1)

a(i) = (q(i+1)-q(i))/(p(i+1)-p(i));

x1 = x1*(x-p(i));

end

for i = 1:(size(a,2)-1)

b(i) = (a(i+1)-a(i))/(p(i+2)-p(i));

x2 = x2*(x-p(i));

end

for i = 1:(size(b,2)-1)

c(i) = (b(i+1)-b(i))/(p(i+3)-p(i));

x3 = x3*(x-p(i));

end

for i = 1:(size(c,2)-1)

d(i) = (c(i+1)-c(i))/(p(i+4)-p(i));

x4 = x4*(x-p(i));

end

for i = 1:(size(d,2)-1)

e(i) = (d(i+1)-d(i))/(p(i+5)-p(i));

x5 = x5*(x-p(i));

end

A = subs(diff((q(1)+a(1)*x5+b(1)*x4+c(1)*x3+d(1)*x2+e(1)*x1),x),x,0.5); disp('gia tri xap xi dao ham cap 1 cua ham tai x=0.5 la:');disp(double(A)); end

CÂU 9:

function Cau9

clc;

syms x y;

mn = input('Nhap 2 so cuoi MSSV: ');

M = (mn+12)/10;

%%%%%%%%%%%%%%%%

a= 2;

b = 62;

n =120;

h= (b-a)/n;

m=n/2;

f= (2*M*x^2+x+1)/(7*x^4+x+6);

y= subs(f,x,a)+subs(f,x,b)+4*subs(f,x,a+h);

for i = 1 :m-1

y= y+ 2*subs(f,x,a+2*i*h)+4*subs(f,x,a+(2*i+1)*h);

end

y=double(y*h/3);

disp(y);

Trang 9

end

CÂU 10:

function Cau10

format short;

clear all;

clc;

syms x u y;

mn = input('Nhap 2 so cuoi MSSV: ');

M = (mn+12)/10;

h = 0.2;

x1 = 1;

y1 = 2.4;

xi = 2.2;

f = 2*M.*x+x.*sin(x+2.*y);

K1 = 0; K2 = 0; K3 = 0; K4 = 0;

u = [];u(1) = x1;

k = (xi-x1)/h;

for i=1:k

u(i+1)= u(i) + h;

end

y = []; y(1) = y1;

for i=1:round(k)

K1=h*subs(subs(f,u(i)),y(i));

K2=h*subs(subs(f,u(i)+h/2),y(i)+K1/2); K3=h*subs(subs(f,u(i)+h/2),y(i)+K2/2); K4=h*subs(subs(f,u(i)+h),y(i)+K3); y(i+1)=y(i)+(K1+2*K2+2*K3+K4)/6; end

n = round(k+1);

disp('Xap xi: '), y(n),

end

CÂU 11:

function Cau11

clc;

format short

syms x real

mn = input('Nhap 2 so cuoi MSSV: ');

M = (mn+12)/10;

a = 0; b = 1;

h = 0.1; ya = 1; yb = 1.2;

n = (b-a)/h;

px = x + 2*M;

qx = x.^3;

rx = -30;

Trang 10

fx = -x.*(x+1);

for i = 1:n

x(i) = a + i*h;

end

n = round(n);

A = zeros(n-1);

B = zeros(n-1,1);

A(1,1) = subs(rx,x(1)) - 2*subs(px,(x(1)))/(h^2);

A(1,2) = subs(px,x(1))/(h^2) + subs(qx,x(1))/(2*h);

A(n-1,n-1) = subs(rx,x(n-1)) - 2*subs(px,x(n-1))/(h^2);

A(n-1,n-2) = subs(px,x(n-1))/(h^2) - subs(qx,x(n-1))/(2*h); B(1,1) = subs(fx,x(1)) - subs((px/(h^2)-qx/(2*h)),x(1))*ya; B(n-1,1) = subs(fx,x(n-1))-subs((px/(h^2)+qx/(2*h)),x(n-1))*yb; for i=2:n-2

A(i,i) = subs(rx,x(i)) - 2*subs(px,(x(i)))/(h^2);

A(i,i-1) = subs(px,x(i))/(h^2) - subs(qx,x(i))/(2*h);

A(i,i+1) = subs(px,x(i))/(h^2) + subs(qx,x(i))/(2*h);

B(i,1) = subs(fx,x(i));

end

C = inv(A)*B;

Xap = 'Xap xi gia tri cua ham y(0.1) = ';disp(Xap);disp(C(1)); Xap = 'Xap xi gia tri cua ham y(0.5) = ';disp(Xap);disp(C(5)); Xap = 'Xap xi gia tri cua ham y(0.9) = ';disp(Xap);disp(C(9)); end

Ngày đăng: 04/08/2015, 21:27

TỪ KHÓA LIÊN QUAN

w