1. Trang chủ
  2. » Luận Văn - Báo Cáo

ỨNG DỤNG TRONG GIẢI PHƯƠNG TRÌNH BẬC BA

17 627 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 840,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHMở đầu Ngày nay máy tính đã thâm nhập vào hầu hết các lĩnh vực khoa học và đời sống.. và nhiều chương trình chuyên dụng cho từng bộ môn của toán học

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

Mở đầu

Ngày nay máy tính đã thâm nhập vào hầu hết các lĩnh vực khoa học và đời sống Nhiều chương trình ứng dụng đã được phát triển liên quan tới quản lý dữ liệu,

in ấn, đồ họa sử lý ảnh Riêng đối với ngành toán đã có những sản phẩm phần mềm mang tính phổ dụng như Mathematica, Matlab, Maple, và nhiều chương trình chuyên dụng cho từng bộ môn của toán học Những phần mềm trên giúp ích rất nhiều cho việc giảng dạy toán, học toán cũng như việc ứng dụng toán trong các ngành kỹ thuật, kinh tế, và vì thế tại các nước phát triển chúng trở thành cẩm nang của nhiều sinh viên, kỹ sư và các ngành nghiên cứu khoa học

Trong phạm vi của bài thu hoạch nhỏ này, em sẽ giới thiệu về lập trình Symbolic được ứng dụng qua giải phương trình bậc 3 Qua đây, chúng em cũng xin được gửi lời cảm ơn đến Giáo sư - Tiến sỹ Đỗ Văn Nhơn, người đã tận tâm truyền đạt những kiến thức nền tảng cơ bản cho chúng em về môn học “Lập trình Symbolic”

Trang 2

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

MỤC LỤC

Mở đầu 1

TÍNH TOÁN TRONG MAPLE 3

I TÍNH TOÁN CƠ BẢN 3

Tính toán biểu thức chính xác dạng số hữu tỉ, căn thức, số phức 3

Các tính toán số nguyên gồm: 3

II CÁC KIỂU CẤU TRÚC CƠ BẢN 8

Sequences 8

Lists 9

Sets 10

Arrays 10

Tables 11

Strings 11

Lệnh type và whattype 11

PHẦN II : ỨNG DỤNG TRONG GIẢI PHƯƠNG TRÌNH BẬC BA 13

I TÓM TẮT CÁCH GIẢI 13

13

II VIẾT PROCEDURE 14

III KIỂM NGHIỆM VÀ HẠN CHẾ 15

Tài liệu tham khảo 16

Trang 3

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

PHẦN I :

TÍNH TOÁN TRONG MAPLE

I TÍNH TOÁN CƠ BẢN

Tính toán biểu thức chính xác dạng số hữu tỉ, căn thức, số phức

>

- Lệnh evalf =""evaluate to a floating-point number"."

>

> sqrt(2) * sqrt(2);

> sqrt(2.) * sqrt(2.); # Notice the decimal points.

> 1./3 + 1./3 - 2./3;

Các tính toán số nguyên gồm:

+ biểu thức thông thường

+ giai thừa, hàm length

+ Các hàm: abs, ifactor, iquo, irem, igcd, isprime, max, min, mod, v.v

+ hàm convert

> 2*5; 2^5: 100/4; 100

/6

;

> number := 10^39 - 10^19 - 1;

>

> (ifactor(number)); # factorize the integer

> nextprime(number); # determine the next largest prime

> isqrt(number);

>

> iperfpow(64,'p');

Trang 4

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

> p;

> 100!;

> 1000000!;

> length(%);

> kernelopts(maxdigits);

- Các tính toán số thực gồm:

> (1/2+1/2*sqrt(5))^2;

> expand(%);

> 1/%;

> simplify(%);

> rationalize(%);

> (4+2*3^(1/2))^(1/2);simplify(%);

> sqrt(4+2*sqrt(3));

> evalf(Pi);

> Digits;

> Digits:=15;evalf(sqrt(15));

> sin(2);

Trang 5

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

> sin(2.0);

- Tính toán số phức.

> restart;

> Complex(0,1); Complex(2,3);

> (2+3*I) * (4+5*I);

> Re(%), Im(%), conjugate(%), abs(%), argument(%);

> 1/(2+p-q*I);

> evalc(%);

> restart;

> interface(imaginaryunit=J);

> J^2;

- Các hàm toán học:

+ sin, cos, tan,

+ sinh, cosh, tanh,

+ arcsin, arccos, arctan,

+ exp

+ ln, log[10]

+ sqrt

+ round, trunc

+ Zeta

v.v

- Số Pi

>

> sin( Pi/15 );

> convert( %, radical );

Maple is case sensitive

> PI;

Trang 6

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

> pi;

> Pi;

Tính toán Symbolic

- Biến và phép gán

> x;

> x:=3;

> x;

> x:='x';

> x;

> p := x^2+2*x+1;

> p;

> x:=3;

> p;

> p := a*t^2+b*t+c;

> t:=2;

> p;

> a:=5;

> p;

> t:=z;

> p;

> x, y := 1, 2;

Trang 7

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

So sánh bằng và evalb

> restart;

> a=5;

> a;

> a:=5;

> a;

> x^2-2*x-1 = 0;

> solve( %, x );

> a := b = 2;

> evalb(2+2=5);

> x:=5;y:=6;

> evalb(x=y);

>

- Lệnh assign

> restart;

> solve(3*x-4,{x});

> x;

> solve(3*x-4,{x});

> assign(%);

> x;

> x := 'x';

> y:=1;

> y:=y+x;

Trang 8

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

> s := 0;

> s:=s,s;

- sum, add, product

- series, taylor

> restart;

> sum(i,i=1 10);

> add(i,i=1 10);

> taylor( exp(x), x=0, 4 );

> type(series( exp(x), x=0, 4 ),taylor);

II CÁC KIỂU CẤU TRÚC CƠ BẢN

Sequences

> restart;

> S := 1,2,3,4;

a || S;

> x,y,z := 3,6, a1;

z;

> seq1 := a, b, c, d;

> seq2 := u, v, w, x, y, z;

> seq3 := seq1, seq2;

> seq4 := seq1, 'seq2';

> seq5 := 'seq1', 'seq2';

> seq6 := 'seq1, seq2';

> seq3;

Trang 9

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

> seq4;

> seq5;

> seq6;

- Hàm seq , và ký toán tử $.

> seq(a^n,n=0 10);

a$4;

> seq( x^i, i=-2 5 );

> seq( Pi, i=-2 2 );

> seq( 1/n, n=1 10 );

> seq( evalf(1/n), n=1 10 );

>

Lists

- Cú pháp

> L := [1,2,3,a,b];

x := 'x':

polys := [1,x,x^2];

- Các lệnh: nops, op,

> nops(L);

op(L);

L[2];

L[2 4];

map(x->x^2,L);

member(3,L);

Trang 10

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

>

Sets

- Cú pháp

> A := {1,2,3,x};

- Các toán tử: union, intersect, minus

>

- Các lệnh: nops, op

>

- Chuyển đổi kiểu giữa sequence, set, list

> S := 1,2,3;

A := {S};

L := [S];

L1 := [op(A)];

convert(L, set);

>

Arrays

> squares := array(1 3);

squares := array(1 3, [1,8,127]);

squares[2];

> P := array(1 3,1 3);

P[1,2];

P := array(1 3,1 3, [[m,1,1],[1,m,1],[1,1,m]]);

P[1,2];

Trang 11

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

Tables

- Table là sự mở rộng khái niệm Array: cho phép sử dụng chỉ số là bất kỳ loại gì, không nhất thiết là số nguyên.

>

Strings

- Chuỗi gồm các ký tự giữa 2 nháy kép (").

> s := "hello.";

length(s);

s[2 4];

- Các hàm: (xem trong StringTools)

> ?StringTools

- Lệnh parse.

> expr := parse("x^2+y^2=1");

>

Lệnh type và whattype.

>

> restart;

> whattype(5.0);

> whattype(I);

> whattype(`an example of a long name`);

> whattype("an example of a long string");

> whattype({1, 2, 3});

> whattype(1, 2, 3);

>

> restart;

> type(5.0, float);

> type(x+1, `+`);

> type(a[1], symbol);

Trang 12

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

> type(a[1], indexed);

> hastype(x+1, `+`);

> typematch(x+1, (a::symbol) &+ (b::integer));

> a, b;

> hastype(x+1/2*y, fraction);

> hastype(x+2*y, fraction);

> type(x^2+x+1, polynom);

> type({x^2+x+1, x^2-x}, set(polynom));

> type(x^2+x+Pi, polynom(integer,x));

>

> restart;

> typematch(exp(x), a::exp(b::name));

> a, b;

> number := 1: whattype(number);

> number := 0.75: whattype(number);

Trang 13

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

PHẦN II : ỨNG DỤNG TRONG GIẢI PHƯƠNG TRÌNH BẬC BA

I TÓM TẮT CÁCH GIẢI

Trang 14

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

II VIẾT PROCEDURE

ptbacba := proc (pt, bienm)

local tr, k, i, j, g, v, a, b, c, d, vt, m1, x1, x2, x3, isConst;

isConst := false;

vt := lhs(pt);

printf("Phuong trinh co : vt= %a\n", vt);

a := coeff(vt, x^3);

printf("Phuong trinh co: a= %a\n", a);

b := coeff(vt, x^2);

printf("Phuong trinh co : b = %a\n", b);

c := coeff(vt, x);

printf("Phuong trinh co : c = %a\n", c);

d := coeff(vt, x, 0);

printf("Phuong trinh co : d = %a\n", d);

tr := simplify(b^2-3*a*c);

printf("Phuong trinh co : delta= %a\n", tr);

i := 9*a*b*c-2*b^3-27*a^2*d;

printf("Tu so cua k: i = %a,\n", i);

g := abs(tr.tr.tr+0.);

printf("Tri tuyet doi cua delta mu 3: g = %a,\n", g);

v := g^(1/2);

printf("Can cua delta: v = %a,\n", v);

j := 2*v;

printf("Mau so cua k: j = %a,\n", j);

k := i/j;

printf("Phuong trinh co: k = %a,\n", k);

if type(tr, `*`) = false and type(tr, `+`) = false and type(tr, symbol) = false then

isConst := true

end if;

if isConst = true then

if 0 < tr then

if abs(k) <= 1 then x1 := (1/3)*(2*tr*cos((1/3)*arccos(k))-b)/a;

x2 := (1/3)*(2*tr*cos((1/3)*arccos(k)+(-2)*3.14/3)-b)/a;

x3 := (1/3)*(2*tr*cos((1/3)*arccos(k)+2*3.14/3)-b)/a;

printf("Phuong trinh co ba nghiem phan biet: x1 = %a, x2 = %a, x3 = %a\n", x1, x2, x3)

else

Trang 15

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

x1 := (1/3)*tr*abs(k)*(sqrt[3](abs(k)+sqrt(k^2-1))+sqrt[3](abs(k)-sqrt(k^2-1)))/(a*k)-(1/3)*b/a;

printf("Phuong trinh co nghiem duy nhat: x1 = %a\n", x1) end if

end if;

if tr = 0 then

x1 := (1/3)*(-b+sqrt[3](b^3-27*a^2*d))/a;

printf("Phuong trinh co nghiem boi : x1 = %a\n", x1)

end if;

if tr < 0 then

x1 := (1/3)*tr*(sqrt[3](k+sqrt(k^2-1))+sqrt[3](k-sqrt(k^2-1)))/a-(1/3)*b/a;

printf("Phuong trinh co nghiem duy nhat: x1 = %a\n", x1)

end if;

return ;

end if;

m1 := solve(tr = 0, bienm);

if m1 <> NULL then

x1 := subs(bienm = m1[1], (1/3)*(-b+sqrt[3](b^3-27*a^2*d))/a);

x2 := subs(bienm = m1[2], (1/3)*(-b+sqrt[3](b^3-27*a^2*d))/a);

printf("Khi %s bang %a ", bienm, m1[1]); printf("thi phuong trinh nghiem boi %a \n", x1); printf("Khi %s bang %a ", bienm, m1[2]); printf("thi phuong trinh nghiem boi %a \n\n", x2) end if;

m1 := solve(0 < tr, bienm);

if m1 <> NULL and abs(k) <= 1 then

printf("Khi %s thuoc %a hoac %a", bienm, m1[1], m1[2]);

x1 := (1/3)*(2*sqrt*(tr, symbolic)*cos((1/3)*arccos(k))-b)/a;

x2 := (1/3)*(2*sqrt*(tr, symbolic)*cos((1/3)*arccos(k)+(-2)*3.14/3)-b)/a;

x3 := (1/3)*(2*sqrt*(tr, symbolic)*cos((1/3)*arccos(k)+2*3.14/3)-b)/a;

printf("thi phuong trinh co 3 nghiem la: %a va %a va %a \n\n", x1, x2, x3)

end if;

if m1 <> NULL and 1 < abs(k) then

x1 :=

(1/3)*tr*abs(k)*(sqrt[3](abs(k)+sqrt(k^2-1))+sqrt[3](abs(k)-sqrt(k^2-1)))/(a*k)-(1/3)*b/a;

printf("thi phuong trinh co nghiem la: %a \n", x1)

end if;

m1 := solve(tr < 0, bienm);

if m1 <> NULL then

x1 := (1/3)*tr*(sqrt[3](k+sqrt(k^2-1))+sqrt[3](k-sqrt(k^2-1)))/a-(1/3)*b/a;

printf("Khi %s thuoc doan %a hoac %a ", bienm, m1[1], m1[2]);

printf("Phuong trinh co nghiem duy nhat: x1 = %a\n", x1)

end if ;

end proc;

III KIỂM NGHIỆM VÀ HẠN CHẾ

>

Trang 16

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

Phuong trinh co: vt= x^3+7*x^2-5*x-3

Phuong trinh co: a= 1

Phuong trinh co: b = 7

Phuong trinh co: c = -5

Phuong trinh co: d = -3

Phuong trinh co: delta= 64

Tu so cua k: i = -920,

Tri tuyet doi cua delta mu 3: g = 262144.,

Can cua delta: v = 512.0000000,

Mau so cua k: j = 1024.000000,

Phuong trinh co: k = -.8984375000,

Phuong trinh co ba nghiem phan biet: x1 = 24.33333333, x2 = 13.21993730, x3 = -44.50421457

>

Phuong trinh co: vt= x^3+2*x^2-5*x-3

Phuong trinh co: a= 1

Phuong trinh co: b = 2

Phuong trinh co: c = -5

Phuong trinh co: d = -3

Phuong trinh co: delta= 19

Tu so cua k: i = -25,

Tri tuyet doi cua delta mu 3: g = 6859.,

Can cua delta: v = 82.81907993,

Mau so cua k: j = 165.6381599,

Phuong trinh co: k = -.1509314038,

Phuong trinh co ba nghiem phan biet: x1 = 9.969282480, x2 = -.1379641767e-1, x3 = -11.93592015

HẠN CHẾ : Chương trình chưa giải được phương trình bậc 3 có hệ số m

Tài liệu tham khảo

Trang 17

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

Giảng viên : GS.TS Đỗ Văn Nhơn

Chương trình đào tạo thac sĩ CNTT qua mạng.

http://vi.wikipedia.org/wiki/Ph%C6%B0%C6%A1ng_tr%C3%ACnh_b

%E1%BA%ADc_ba

Ngày đăng: 10/04/2015, 01:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w