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

Báo cáo btl giải tích

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 (94.22 KB, 6 trang )

BÁO CÁO BÀI TẬP LỚN MATLAB ĐỀ TÀI 7

Tìm Hiểu Hàm fminbnd
A.Thành viên nhóm và giảng viên hướng dẫn
I.Thành viên nhóm
Nhóm gồm 10 thành viên học lớp L02-AB:

15101
1.Lê Quốc
Bảo 59
15102
2.Bùi Mạnh
Can 54
15104
3.Đỗ Ngọc
Duy 44
4.Lưu
15108
Trường
Gian 31
15127
5.Lê Ngọc
Quí 01
6.Nguyễn
15128
Hữu
Tài
88
Tha 15129
7.Lê Hồng
nh


91
8.Nguyễn
Thịn 15132
Tiến
h
64
15136
9.Hồ Đăng
Trí
54
10.Nguyễn
Tuấ 15138
Minh
n
39
II.Giảng viên hướng dẫn
Cô Trần Ngọc Diễm
B.Nội dung báo cáo
Hàm fminbnd dùng để tìm giá trọ nhỏ nhất của hàm một biến trong khoảng
xác định


Cú pháp:

I.







x=fminbnd(fun,x1,x2)
x=fminbnd(fun,x1,x2,options)
[x,fval]=fminbnd(...)
[x,fval,exitflag] = fminbnd(...)
[x,fval,exitflag,output] = fminbnd(...)

Giới thiệu

II.
a)

x=fminbnd(fun,x1,x2) :có chức năng đưa ra một giá trị x trong khoảng
x1 , x2 mà tại đó f nhỏ nhất

VD:Tìm GTNN của cos(x) với x trong khoảng (3,4)
x=fminbnd(@cos,3,4)
x=
3.1416
b)



x=fminbnd(fun,x1,x2,options) :lệnh này giúp bạn điều chỉnh các
nghiệm dài hay ngắn để rút ngắn bài làm của bạn (làm gọn), hoặc
bạn có thể dùng lệnh optimset để thực hiện nhiều cấu trúc:
Disply :
 ‘off’ không hiển thị output

VD :

x=fminbnd(@cos,3,4,optimset('Display','off'))
x=
3.1416


‘iter’ hiển thị output sau mỗi lần làm

VD:
x=fminbnd(@cos,3,4,optimset('Display','iter'))
Func-count

x

f(x)

Procedure

1

3.38197

-0.971249

initial

2

3.61803

-0.888633


golden


3

3.23607

-0.995541

golden

4

3.13571

-0.999983

parabolic

5

3.1413

-1

parabolic

6


3.14159

-1

parabolic

7

3.14156

-1

parabolic

8

3.14163

-1

parabolic

Optimization terminated:
the current x satisfies the termination criteria using OPTIONS.TolX of
1.000000e-04

x=
3.1416



‘final’ chỉ hiển thị output sau cùng

VD:
>> x=fminbnd(@cos,3,4,optimset('Display','final'))
Optimization terminated:
the current x satisfies the termination criteria using OPTIONS.TolX of
1.000000e-04

x=


3.1416


‘notify’ (mặt định) hiển thị output chỉ khi hàm không hội tụ

VD:
x=fminbnd(@(x).1/x,-1,-1/2,optimset('Display','notify'))
x=
-0.5001









c)

d)

e)

III.

FunValCheck : kiểm tra lại một lần nữa cho dù đã tìm được giá
trị đúng.
 'on' hiện thị thông báo lỗi khi hàm cho giá trị phức tạp
 'off' không báo lỗi
MaxFunEvals : cho phép đánh giá tất cả hàm số
MaxIter : cho phép lặp lại tất cả
OutputFcn : xác định hàm được dùng tại mỗi lần làm
PlotFcns : tự động điều chỉnh độ dài ngắn trong quá trình thực hiện
thuật toán , chọn từ các vị trí xác định trước hoặc vị trí mà bạn
chọn . chuyển qua hàm khác hoặc một cụm các hàm khác.
Tolx : chấm dứt tại x
[x,fval] = fminbnd(...) : trả về giá trị nhỏ nhất của f với x tương ứng
[x,fval,exitflag] = fminbnd(...) trả lại các giá trị exitflag mà chính nó
mô tả về điều kiện thoát của hàm fminbnd:
 nếu là 1 : fminbnd dùng kết quả x dựa trên option.tollx
 nếu là 0 : tối đa số hàm và số lần lặp đi lặp lại được làm
 nếu là -1 : thuật toán được chấm dứt bởi output
 nếu là -2 : bài toán sai (x1>x2)
[x,fval,exitflag,output] = fminbnd(...) trở về cấu trúc output được tối
ưu hóa các vấn đề :
• algorithm : những thuật toán được sử dụng
• funcCount : đánh giá số hàm số
• iterations :số lần lặp
• message :kết thúc tin nhắn


Giải thích


fun là hàm số cần tìm cực tiểu . fun chấp nhận 1 x vô hướng và trả về 1 f
vô hướng, hàm đối tượng được đánh giá tại x. hàm fun có thể được xác
định như 1 hàm tự viết hay 1 hàm có sẵn

Ví dụ

IV.
1.
2.

x=fminbnd(@cos,3,4) cho kết quả là với vài chữ số thập phân và 1
thông báo kết thúc
[x,fval,exitflag]=fminbnd(@cos,3,4,optimset(‘TolX’,1e12,’Display’,’off’))

cho kết quả làm tròn đến chữ số thập phân thứ 12, không hiển thị output,
trả về giá trị hàm tại x, trả về exitflag = 1
3.

fun có thể là hàm tự viết theo x, ví dụ f(x)=x^3-2x-5 , ta tạo 1 hàm số

f=@(x) x^3-2*x-5
rồi sử dụng fminbnd
x=fminbnd(f,0,2)
kết quả là
x=
0.8165

Giá trị của f tại cực tiểu là
y=f(x)
y=
-6.0887
Hoặc có thể làm như sau:
[x f]=minbnd(‘x^3-2*x-5’,0,2)
Cho kết quả
x=0.8165
f=-6.0887
4.Nếu fun là một hàm tham số, ta có thể dùng :
Function f=myfun(x,a)


f=(x-a)^2
chỉ định giá trị của a, ví du:
a=1.5
tính x
x=fminbnd(@(x)myfun(x,a),o,1)
V.

Giới hạn

Hàm số cần tìm cực tiểu phải liên tục trong đoạn cần tìm. Fminbnd có thể
chỉ cho kết quả gần bằng. fminbnd thường cho hiện kết quả gần bằng khi
cực tiểu tại ranh giới của khoảng đang xét. Fminbnd chỉ chạy với biến số
thực




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×