Tải bản đầy đủ (.docx) (14 trang)

KHẢO SÁT HÀM SỐ VỚI MAPLE VÀ VISUAL C#

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (362.54 KB, 14 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Lập trình tính toán hình thức:
KHẢO SÁT HÀM SỐ VỚI MAPLE VÀ VISUAL C#
Giảng viên : PGS.TS Đỗ Văn Nhơn
Học viên : Nguyễn Thị Thu Trang
Mã số : CH1101147
Lớp : CH06
TP. Hồ Chí Minh, tháng 02 năm 2013100[Manual chapter break]
Nguyễn Thị Thu Trang – CH1101147
MỤC LỤC
[2]
Lập trình tính toán hình thức
I. Mục tiêu đề tài:
Áp dụng maple để giải bài toán khảo sát hàm số theo từng bước, trình bày
dạng trực quan, có đồ thị minh họa
II. Kiến thức áp dụng :
II.1. Lý thuyết toán khảo sát hàm số:
a. Tập xác định của hàm số :
Ta qui ước rằng: Khi cho hàm số bằng biểu thức y = f(x), nếu không nói gì
thêm thì tập xác định của hàm số y = f(x) là tập hợp tất cả các giá trị của x để biểu
thức y = f(x) có nghĩa (hay là giá trị của biểu thức f(x) được xác định).
Kí hiệu là: D
b. Sự biến thiên của hàm số :
Cho hàm số f xác định trên K
o Hàm số f gọi là đồng biến (hay tăng) trên K nếu:
o Hàm số y = f(x) gọi là nghịch biến (hay giảm) trên K nếu:
c. Phương pháp khảo sát sự biến thiên của hàm số
- B1: Lấy
- B2: Lập tỉ số:
- B3: Nếu tỉ số T > 0 thì hàm số tăng trên K.


- Nếu tỉ số T < 0 thì hàm số giảm trên K.
d. Tính chẵn, lẻ của hàm số :
Cho hàm số y = f(x) xác định trên D.
o Hàm số y = f(x) được gọi là hàm số chẵn nếu
o Hàm số y = f(x) được gọi là hàm số lẻ nếu
e. Phương pháp chứng minh hàm số chẵn, hàm số lẻ :
[3]
Lập trình tính toán hình thức
- B1: Tìm tập xác định D của hàm số.
- B2: Chứng minh tập D là tập đối xứng (cần chứng minh : )
- B3:Tính f(-x).
o Nếu f(-x) = f(x) thì hàm số là hàm số chẵn.
o Nếu f(-x) = - f(x) thì hàm số là hàm số lẻ.
* Lưu ý: Hàm số có thể không chẵn không lẻ.
f. Đồ thị hàm số :
Đồ thị của hàm số chẵn đối xứng qua trục tung. Đồ thị của hàm số lẻ đối
xứng qua gốc toạ độ
II.2. Phân loại hàm số hàm số
a. Hàm số bậc nhất y = ax +b
- Tập xác định D = R
- Sự biến thiên:
o Nếu a > 0 hàm số đồng biến trên R
o Nếu a < 0 hàm số nghịch biến trên R
Đồ thị:
Đồ thị là đường thẳng không song song, không trùng với hai trục toạ độ và
cắt trục Ox tại , Oy tại B(0; b).
b. Hàm số y = b
- Tập xác định D = R
- Hàm số hằng là hàm số chẵn.
- Đồ thị là đường thẳng song song với trục hoành và cắt trục tung tại

điểm (0; b).
c. Hàm số y =|x|
- Tập xác định D = R
- Hàm số y = |x| là hàm số chẵn. Đồ thị đối xứng qua trục tung.
- Hàm số đồng biến trên khoảng (0,) và nghịch biến trên khoảng ()
- Bảng biến thiên:
[4]
Lập trình tính toán hình thức
- Đồ thị :
d. Hàm số bậc hai y = ax2 + bx + c
- Tập xác định D = R
- Đồ thị là đường parabol có đỉnh nhận đường thẳng làm trục đối
xứng; có bề lõm quay lên khi a > 0, quay xuống khi a < 0
- Sự biến thiên của hàm số:
o Nếu a > 0 thì hàm số nghịch biến trên khoảng và đồng biến
trên khoảng
o Nếu a < 0 thì hàm số đồng biến trên khoảng và nghịch biến
trên khoảng
- Bảng biến thiên:
[5]
Lập trình tính toán hình thức
II.3. Một số dạng toán khảo sát hàm số
a. Dạng 1: Vẽ đồ thị hàm số bậc hai:
Các bước vẽ đồ thị của hàm số bậc hai:
- Xác định đỉnh của parabol :
- Xác định trục đối xứng và hướng bề lõm của parabol.
- Xác định một số điểm cụ thể của parabol, chẳng hạn: giao điểm của
parabol với hai trục tọa độ và các điểm đối xứng với chung qua trục
đối xứng.
- Căn cứ vào tính đối xứng, bề lõm và hình dáng parabol để “nối” các

điểm đó lại.
b. Dạng 2: Lập phương trình parabol (P) thỏa điều kiện K:
- Bước 1: Giả sử parabol (P) có phương trình
(P): y = ax
2
+ bx + c (a#0)
- Bước 2: Dựa vào điều kiện K để xác định a, b, c.
 Trong bước này ta thường có các điều kiện thường gặp sau[2]:
- Điểm A(x
0
;y
0
) (P) y
0
= ax
0
2
+ bx
0
+ c
- (P) có đỉnh
- (P) có giá trị cực đại (hoặc cực tiểu) bằng
- (P) đạt giá trị cực đại (hoặc cực tiểu) tại điểm có hoành độ bằng
- (P) nhận đường thẳng x = x
0
làm trục đối xứng
[6]
Lập trình tính toán hình thức
III. Kỹ thuật kết nối giữa Maple và VC#
Sử dụng thư viện Maplec của Maple

Đầu tiên tạo lớp MapleEngine để gọi kết quả trả về từ Maple
static class MapleEngine
{
public delegate void TextCallBack(IntPtr data, int tag, IntPtr
output);
public delegate void ErrorCallBack(IntPtr data, IntPtr offset,
IntPtr msg);
public delegate void StatusCallBack(IntPtr data, IntPtr used,
IntPtr alloc, double time);
public delegate IntPtr ReadLineCallBack(IntPtr data, IntPtr
debug);
public delegate long RedirectCallBack(IntPtr data, IntPtr name,
IntPtr mode);
public delegate IntPtr StreamCallBack(IntPtr data, IntPtr
stream, int nargs, IntPtr args);
public delegate long QueryInterrupt(IntPtr data);
public delegate IntPtr CallBackCallBack(IntPtr data, IntPtr
output);
public struct MapleCallbacks
{
public TextCallBack textCallBack;
public ErrorCallBack errorCallBack;
public StatusCallBack statusCallBack;
public ReadLineCallBack readlineCallBack;
public RedirectCallBack redirectCallBack;
public StreamCallBack streamCallBack;
public QueryInterrupt queryInterrupt;
public CallBackCallBack callbackCallBack;
}
[DllImport(@"maplec.dll")]

public static extern IntPtr StartMaple(int argc, String[] argv,
ref MapleCallbacks cb, IntPtr data, IntPtr info, byte[] err);
[DllImport(@"maplec.dll")]
public static extern IntPtr EvalMapleStatement(IntPtr kv, byte[]
statement);
[DllImport(@"maplec.dll")]
public static extern IntPtr IsMapleStop(IntPtr kv, IntPtr obj);
[DllImport(@"maplec.dll")]
public static extern void StopMaple(IntPtr kv);
}
Khai báo thêm các phương thức hỗ trợ trong mainform để sử dụng lớp
MapleEngine
static class MapleEngine
{
[7]
Lập trình tính toán hình thức
public delegate void TextCallBack(IntPtr data, int tag, IntPtr
output);
public delegate void ErrorCallBack(IntPtr data, IntPtr offset,
IntPtr msg);
public delegate void StatusCallBack(IntPtr data, IntPtr used,
IntPtr alloc, double time);
public delegate IntPtr ReadLineCallBack(IntPtr data, IntPtr
debug);
public delegate long RedirectCallBack(IntPtr data, IntPtr name,
IntPtr mode);
public delegate IntPtr StreamCallBack(IntPtr data, IntPtr
stream, int nargs, IntPtr args);
public delegate long QueryInterrupt(IntPtr data);
public delegate IntPtr CallBackCallBack(IntPtr data, IntPtr

output);
public struct MapleCallbacks
{
public TextCallBack textCallBack;
public ErrorCallBack errorCallBack;
public StatusCallBack statusCallBack;
public ReadLineCallBack readlineCallBack;
public RedirectCallBack redirectCallBack;
public StreamCallBack streamCallBack;
public QueryInterrupt queryInterrupt;
public CallBackCallBack callbackCallBack;
}
[DllImport(@"maplec.dll")]
public static extern IntPtr StartMaple(int argc, String[] argv,
ref MapleCallbacks cb, IntPtr data, IntPtr info, byte[] err);
[DllImport(@"maplec.dll")]
public static extern IntPtr EvalMapleStatement(IntPtr kv, byte[]
statement);
[DllImport(@"maplec.dll")]
public static extern IntPtr IsMapleStop(IntPtr kv, IntPtr obj);
[DllImport(@"maplec.dll")]
public static extern void StopMaple(IntPtr kv);
}
Để lấy kết quả trả về từ Maple, sử dụng phương thức MapleCaculate (kết
quả trả về dưới dạng chuỗi)
private string MapleCaculate(string Exp)
{
string exp = Exp;
kq = "";
IntPtr val = MapleEngine.EvalMapleStatement(kv,

Encoding.ASCII.GetBytes(exp + ";"));
//kq = standardizedString(kq);
return kq;
}
[8]
Lập trình tính toán hình thức
IV. Hiển thị công thức toán học trong VC#
Sử dụng hàm latex trong Maple chuyển đổi các công thức toán học sang cấu
trúc latex, sau đó dùng thư viện ngoài MimeTeX.dll để hỗ trợ việc xuất dữ liệu ra
file .gif
Ví dụ :
> y = x*abs(x)-2*x -1;
> latex(y = x*abs(x)-2*x -1);
y=x \left| x \right| -2\,x-1
[9]
Lập trình tính toán hình thức
V. Chương trình demo
Ngôn ngữ : lập trình giao diện bằng Visual C# 2008, lập trình tính toán
Maple, platform window XP, window 7
Thư viện hỗ trợ :
o Khendys.Controls.ExRichTextBox.dll : hỗ trợ việc hiển thị hình
ảnh trong ricktextbox
o MimeTeX.dll : hỗ trợ chuyển đổi latex sang file .gif
o maplec.dll : hỗ trợ kết nối giữa Maple và C#
Chương trình lưu trữ đề bài trong file text theo cấu trúc
Dạng toán khảo sát hàm số Dạng toán tìm phương trình Parabol
<y> y = 2*x+4
<var> x
<abc> c= 1 // điều kiện của
a,b,c

<A> (1 , 5) ;(-2 , -1) // tọa
độ các điểm đi qua parabol
<I> // tọa độ đỉnh của parabol
<y0> // tung độ mà tại đó
parabol đạt giá trị min(max)
<x0> // hoành độ mà tại đó
[10]
Lập trình tính toán hình thức
parabol đạt giá trị min(max)
<x> // phương trình đường
thẳng làm trục đối xứng của
parabol
Hoặc nhập dữ liệu trực tiếp từ màn hình giao diện

Ví dụ 1: Khảo sát hàm số
Kết quả :
KHẢO SÁT HÀM SỐ :
1. Tập xác định
Hàm số
có tập xác định là
2. Xét tính chẵn, lẻ
Ta có


[11]
Lập trình tính toán hình thức
Ta thấy
Nên hàm số
là hàm số không chẵn, không lẻ
3. Đỉnh và trục đối xứng

- Đồ thị hàm số là parabol có đỉnh
- Trục đối xứng của hàm số là đường thẳng
4. Tính lồi lõm
Ta có :
=> Đồ thị hàm số hướng bề lõm xuống dưới :
5. Xét tính đồng biến, nghịch biến
Vì :
- Hàm số đồng biến trên khoảng
- Hàm số nghịc biến trên khoảng
- Hàm số có giá trị lớn nhất là
khi
6. Đồ thị hàm số
[12]
Lập trình tính toán hình thức
Ví dụ 2 : tìm phương trình Parabol biết c = 1, pararabol
đi qua điểm có tọa độ (1, -3) và nhận đường thẳng làm trục đối xứng
Kết quả :
Tìm parabol :
Theo giả thiết ta có :

Vì parabol (P) đi qua điểm (1,-3)
nên tọa độ điểm thỏa mãn phương trình y = a*x^2 + bx +c

Vì parabol (P) có trục đối xứng là đường thẳng x = 5/2 nên

Từ các dữ kiện trên

Vậy phương trình parabol (P) cần tìm là

[13]

Lập trình tính toán hình thức
VI. Tài liệu tham khảo
[1] Sách giáo khoa đại số 10 – nhà xuất bản Giáo Dục (3/2009)
[2] The Maple Book ,Frank Garvan
[3] Slides Lập trình tính toán hình thức, trường đại học Công nghệ thông tin TP Hồ
Chí Minh
[4]
[14]

×