BƯỚC ĐẦu làm việc với matlab giới thiệu



tải về 0.69 Mb.
trang3/4
Chuyển đổi dữ liệu06.06.2018
Kích0.69 Mb.
1   2   3   4
x)= -x1*x2*x3

-x1-2*x2-2*x3 ≤0

x1+2*x2+2*x3 ≤72

>> f3=inline('-x(1)*x(2)*x(3)','x')

f3 =


Inline function:

f3(x) = -x(1)*x(2)*x(3)

>> A=[-1 -2 -2; 1 2 2];

>> b=[0; 72];

>> [x,fval]=fimcon(f3,[10;10;10],A,b)

x =


24.0000

12.0000


12.0000

fval =


-3.4560e+003
Statistics toolbox
Bộ cộng cụ với hơn 200 hàm hỗ trợ tính tóan trong:

  • Probability Distributions: hỗ trợ 20 phân bố xác suất khác nhau, cung cấp các hàm phân bố, mật độ, tích lũy, nghịch đảo, bộ tạo số ngẫu nhiên. Ngòai ra nó còn cho phép xác định phân bố cho dữ liệu.

  • Descriptive Statistics: cung cấp các hàm cho thống kê mô tả.

  • Linear Models: hỗ trợ one-way, two-way, and n-way analysis of variance (ANOVA), analysis of covariance (ANOCOVA), hồi quy (regression).

  • Hypothesis Tests: hàm cho các kiểm định.

  • Statistical Plots: hỗ trợ vẽ các đồ thị thống kê.

  • Design of Experiments (DOE): hỗ trợ việc thiết kế thực nghiệm.


Probability Distributions

  • normpdf(X,MU,SIGMA) tính giá trị của hàm mật độ tại X cho phân bố Normal có tham số MU và SIGMA.

  • R = normrnd(MU,SIGMA,m,n) tạo một ma trận R(m,n) chứa các giá trị ngẫu nhiên có phân bố Normal với tham số MU và SIGMA.

  • norminv(P,MU,SIGMA) tính giá trị nghịch đảo của xác suất p của hàm phân bố Normal tích lũy với tham số MU và SIGMA.

  • [muhat,sigmahat,muci,sigmaci] = normfit(DATA, alpha) ước lượng tham MU và SIGMA với độ tin cậy100(1 - alpha) % cho dữ liệu DATA theo phân bố Normal.


Ví dụ:

X là biến ngẫu nhiên nhị thức với n=50, p=0,3. Tìm P(X<=17)


>> p=binocdf(17,50,0.3)

p =


0.7822
Ví dụ:

Tìm tham số μ=1/λ cho dữ liệu có phân bố hàm số mũ với độ tin cậy là 99%

>>data = exprnd(3, 100, 1);

>>[parmhat, parmci] = expfit(data, 0.01)

parmhat =

2.7292


parmci =

2.1384


3.5854
Descriptive Statistics

  • mean(x) tính trung bình cho mỗi cột dữ liệu trong X.

  • var(X) tính phương sai cho mỗi cột dữ liệu trong X.

  • prctile(X,p) tính số phân vị p% của dữ liệu X. p trong khỏang [0 100]

  • skewness(X), kurtosis(X) tìm skewness và kurtosis cho mỗi cột dữ liệu của X.


Ví dụ:

>> x=[2 3 4 5];

>> var(x)

ans =


1.6667
Statistical plotting

  • boxplot(X) tạo đồ thị box- whisker cho mỗi cột dữ liệu trong X.

  • normplot(X) vẽ đồ thị phân bố Normal cho mỗi cột dữ liệu trong X.

  • hist(X) vẽ đồ thị histogram cho dữ liệu X.

  • pareto(X) vẽ đồ thị Pareto cho dữ liệu X


Ví dụ:

­­>> boxplot(x)



Hình 4. boxplot
Linear model

  • p = anova1(X) tính bảng one-way ANOVA để so sánh trung bình của 2 hay nhiều cột dữ liệu trong ma trận mxn X, trong đó các cột chứa mẫu có m quan sat độc lập. Hàm trả lại giá trị p giả thuyết H0.

  • p = anova2(X,reps) tính two-way ANOVA để so sánh trung bình của 2 hay nhiều cột và 2 hay nhiều hàng các quan sát trong ma trận X. Dữ liệu trong các cột tương ứng với các thay đổi trong yếu tố A, dữ liệu trong hàng tương ứng với thay đổi trong yếu tố B. Nếu có hơn một quan sát trong một tổ hợp ta dùng reps.


Ví dụ:

>>X = meshgrid(1:5);

>>X = X + normrnd(0,1,5,5)

>>X =


-0.0741 2.7782 2.2129 4.0802 5.7902

1.2018 1.9937 3.7520 3.0627 5.1053

1.7629 2.5245 2.8331 4.6357 4.8414

-0.2882 3.3643 2.1838 5.6820 5.8709

0.0470 2.4820 5.0941 4.5936 4.8052

>>p = anova1(X)

p =

4.0889e-007


Ví dụ:

Có 2 yếu tố A và B. A có 3 cấp và B có 2 cấp. Dữ liệu A được xếp theo cột và B theo hàng.

>>pop =[ 5.5000 4.5000 3.5000

5.5000 4.5000 4.0000

6.0000 4.0000 3.0000

6.5000 5.0000 4.0000

7.0000 5.5000 5.0000

7.0000 5.0000 4.5000];

>> p = anova2(pop,3)

p =


0.0000 0.0001 0.7462
Phép so sánh

  • a = =b (eq(a,b))- so sánh bằng: so sánh các phần tử của ma trận a và b. Phép so sánh nà trả về một ma trận có giá trị 1 nếu a(i,j)=b(i,j).

  • a~ =b (ne(a,b))- khác

  • a

  • a<=b (le(a,b) – nhỏ hơn hoặc bằng

  • a>b (gt(a,b) – lớn hơn

  • a>=b (ge(a,b))- lớn hơn hoặc bằng.


Phép tính logic

  • ~a (not(a)) cho một ma trận với phần tử là 1 nếu phần tử tương ứng của a là 0 và 0 nếu phần tử tương ứng của khác 0.

  • a&b (and(a,b)) cho một ma trận có phần tử là 1 nếu phần tử tương ứng của a và b khác 0 và bằng 0 nếu một trong 2 phần tử tương ứng của a,b bằng 0.

  • a|b (or(a,b) cho một ma trận có phần tử là 1 nếu một trong 2 phần tử tương ứng của a và b khác 0 và bằng 0 nếu cả 2 phần tử tương ứng của a,b bằng 0.

  • xor(a,b) cho một ma trận có phần tử là 1 nếu chỉ một trong 2 phần tử tương ứng của a và b khác 0 và bằng 0 nếu cả 2 phần tử tương ứng của a,b bằng 0 hay khác không.



Script
Lệnh if
Cú pháp:
if expression

statements

end
Ý nghĩa: MATLAB đánh giá expression, nếu expression cho giá trị true hay khác không, MATLAB sẽ thực hiện statement


Cú pháp:
if expression1

statements1

elseif expression2

statements2

else

statements3



end
Ý nghĩa: MATLAB đánh giá expression1, nếu expression1 cho giá trị true hay khác không, MATLAB sẽ thực hiện statement1. Nếu expression1 cho giá trị false và expression2 cho giá trị true sẽ thực hiện statement2.
Lệnh switch
Cú pháp:
switch switch_expr

case case_expr

statement,...,statement

case {case_expr1,case_expr2,case_expr3,...}

statement,...,statement

...


otherwise

statement

end
Loop for
Cú pháp:

for varname=x:y:z

statement

statement

end
for varname=[a b c ...]



statement

statement

end
trong đó varname phải là tên biến. x, y, z có thể là số thực hay biểu thức


Loop while
Cú pháp
while expression

statements

end
Ý nghĩa: lập lại statement khi nào expression có tất cả phần tử khác không.
Lệnh continue
chuyển sang bước lặp tiếp theo
Lệnh break
ngừng và thoát ra vòng lặp.
Lệnh return
trở về chương trình đã gọi hàm hay script.
Symbolic Math toolbox
Bộ công cụ bộ sung khả năng giải tóan với các ký hiệu tóan học cho MATLAB. Lõi của bộ công cụ này được phát triễn bởi Maple. Nó cho phép thực hiện các phép tóan sau:


  • Calculus: đạo hàm, tích phân, giới hạn, chuỗi.

  • Đại số tuyến tính: nghịch đảo, định thức, giá trị eigen, Inverses, determinants, eigenvalues, singular value decomposition, and canonical forms of symbolic matrices.

  • Rút gọn: dùng để rút gọn biểu thức.

  • Giải phương trình: đại số và vi phân

  • Các hàm đặc biệt: cung cấp các hàm đặcd biệt như beta, bessel, gamma.

  • Transforms: Fourier, Laplace, z-transform.


Symbolic object
Để dùng được bộ công cụ ta phải định nghĩa một lọai dữ liệu đặc biệt khác với các lọai dữ liệu khác trong MATLAB- đó là symbolic (ký hiệu). Symbolic là một cấu trúc dữ liệu lưu lại chuỗi ký tự đại diện cho ký hiệu tóan học mà ta đang xử lý. ta dùng symbolic để biểu hiện một biến, biểu thức hay ma trận.
Ví dụ:

>> sqrt(2)

ans =

1.4142


>>= sqrt(sym(2))

ans=


2^(1/2)

Để khai báo một symbolic trong MATLAB, ta có thể dùng lệnh sym. Lệnh syms dùng để khai báo nhiều symbolic trong một dòng lệnh.


Ví dụ:

>> x=sym('x')

x =

x

>>syms a b



>> f=sin(a*x)

f =


sin(a*x)

>> diff(f)

ans =

cos(a*x)*a


Để xác định có bao nhiêu biến symbolic trong một biểu thức ta dùng lệnh findsym

Ví dụ:

>> findsym(f)

ans =


a, x
Để thay thế giá trị vào một một biến symbolic ta dùng lệnh subs
Ví dụ:

>> subs(f,a,2)

ans =

sin(2*x)


>> subs(f,{x,a},{2,5})

ans =


-0.5440
Calculus
Các hàm cho giải tích

  • diff: đạo hàm.

  • int: tích phân.

  • jacobian: ma trận Jacobian

  • limit: giới hạn

  • symsum: tổng của một chuỗi.

  • taylor: khai triễn chuỗi Taylor.


Ví dụ:

>> int(f)

ans =

-1/a*cos(a*x)



>> taylor(f)

ans =


a*x-1/6*a^3*x^3+1/120*a^5*x^5
Rút gọn biểu thức:

  • collect(f,v): gom đa thức theo biến v.

  • expand: khai triển đa thức.

  • factor: phân tích đa thức thành các nhân tử.

  • horner: phân tích đa thức thành một biểu thức dạn Horner.

  • numden: phân tích biểu thức thành dạng hữu tỷ.

  • simple: đơn giản tối đa biểu thức.

  • simplify: rút gọn biểu thức.


Ví dụ:

>> t=(x-2)^2+(x-2)^3+2

t =

(x-2)^2+(x-2)^3+2



>> collect(t,x)

ans =


-2+x^3-5*x^2+8*x

>> expand(t)

ans =

-2+x^3-5*x^2+8*x



>> t=x^2 +2*a*x +a^2 ;

>> factor(t)

ans =

(a+x)^2
Đồ thị


Đồ thị 2D
plot(X,Y) vẽ các điểm trong vector Y theo vector X
Ví dụ:

>>x=[1:0.2:20];

>> y=sin(x);

>> plot(x,y)




Hình. Đồ thị tạo ra bởi plot(x,y)
Trong MATLAB đồ thị được tạo trong một window gọi là figure. Khi ta dùng một lệnh vẽ đồ thị, nếu trong MATLAB không có sẵn một figure, một figure mới sẽ được tạo ra. Nếu đã có một hay nhiều figure, thì đồ thị mới sẽ thay thế đồ thị cũ trong figure hiện hữu. Để tránh điều này ta có thể tạo nên một figure (empty) bằng lệnh figure
Ví dụ:

>> figure





Hình. Empty figure

Để vẽ chồng đồ thị (thay vì thay thế) lên một đồ thị có sẵn trong figure ta dùng lệnh hold on. Để bỏ chế độ vẽ chồng, ta dùng tiếp lệnh hold off.


Ví dụ:

>>z=cos(x);

>>hold on

>>plot(x,z)






1   2   3   4


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2019
được sử dụng cho việc quản lý

    Quê hương