1. Trang chủ
  2. » Công Nghệ Thông Tin

IT - Matlab Software (Phần 2) part 7 pptx

8 387 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 8
Dung lượng 178,01 KB

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

Nội dung

Nếu [M,N] = SIZEX, thì Y và Z phải cùng kích thước POL2CART POL2CART Biến đổi hệ tọa độ cực sang hệ tọa độ Đề-các [X,Y] = POL2CARTTH,R Biến đổi dữ liệu lưu trong hệ tọa độ cực sang hệ

Trang 1

từng đơn vị, nghĩa là ALPHA = alpha:1:alpha+n-1, và các giá trị phải thoả mãn 0 <= alpha(j) <= 1000

E = BESSELI(ALPHA,X,1) tính Iα(X)*e-X , Iα(X)*EXP(-X) Quan hệ giữa các hàm Bessel loại 1 là Iα(X) = i-α * Jα(X) , Iα(X) = i^(-alpha) * Jα(X)

BESSELK

BESSELK Sửa đổi các hàm Bessel loại 2

K = BESSELK(ALPHA,X) tính các hàm Bessel loại 2, Kα(X) với giá trị thực, bậc không âm ALPHA và đối số X Kết quả có size(K) = size(Z) nếu ALPHA vô hướng, hoặc size(K) = [prod(size(Z)), length(ALPHA)] nếu ALPHA là vectơ Các phần tử của X có thể là giá trị thực không âm bậc bất kỳ Tuy nhiên, với ALPHA, có 2 hạn chế quan trọng: ALPHA phải tăng từng đơn vị, nghĩa là ALPHA = alpha:1:alpha+n-1, và các giá trị phải thoả mãn 0 <= alpha(j) <=

1000

E = BESSELK(ALPHA,X,1) tính Kα(X)*EXP(X) Quan hệ với các hàm Bessel nguyên bản có đối số ảo: Kα(x) = pi/2 * i-α * (Jα(i*x) + Yα(i*x))

Ví dụ:

besselk(3:9,[0:.2:9.8 10:.5:20],1) phát sinh bảng 71x7 ở trang 424 trong sách "Handbook of Mathematical Functions" của Abramowitz và Stegun

BETA

Hàm Beta

y = beta(z,w)

y = tích phân từ 0 đến 1 của t.^(z-1) * (1-t).^(w-1) dt z và w phải phù hợp thêm

Hàm beta chưa hoàn thành

y = beta(x,a,b) Các phần tử của x phải trong đoạn [0,1] a và b phải là các đại lượng vô hướng

BETAINC

BETAINC Hàm beta chưa hoàn thành

Y = BETAINC(X,A,B) Các phần tử của X phải trong đoạn [0,1] Các đối số X, A và B tất cả phải cùng kích thước, ngoại trừ hàm có các đối số

vô hướng như các ma trận hằng của kích thước chung của các đối số khác

BETALN

Lô-ga-rit của hàm beta

y = betaln(z,w) z và w phải phù hợp thêm

ELLIPJ

Các hàm elliptic Jacobi SN, CN và DN

[Sn,Cn,Dn] = ELLIPJ(U,M) trả về các giá trị của các hàm elliptic Jacobi SN, CN và DN, ước lượng tại đối số U và tham số M Như bổ sung hiện thời, M giới hạn 0 < M < 1

Trang 2

ELLIPJ(U,M) được tính chính xác đến EPS U và M phải là các ma trận cùng cỡ hoặc một trong hai là đại lượng vô hương Để chắc chắn không nhầm môđun K với tham số M - chúng quan hệ theo cách sau: M = K^2

ELLIPKE

ELLIPKE Tích phân elliptic đầy đủ

[K,E] = ELLIPKE(M) trả về giá trị của tích phân elliptic đầy đủ loại 1 và 2 trên M Như bổ sung hiện thời, M giới hạn 0 < M < 1

Độ chính xác của ELLIPKE(M) là EPS Để chắc chắn không nhầm môđun K với tham số M - chúng quan hệ theo cách sau: M = K^2

ERF

Hàm sai số

y = erf(x)

y = 2/sqrt(pi) nhân với tích phân từ 0 đến x của exp(-t^2) dt

ERFC

Hàm sai số bù

y = erfc(x)

y = 2/sqrt(pi) nhân với tích phân từ 0 đến x của exp(-t^2) dt

= 1 - erf(x)

ERFCX

Hàm sai số bù có chia tỉ lệ

y = erfcx(x)

y = exp(x^2) * erfc(x) ~ (1/sqrt(pi)) * 1/x với x lớn

ERFINV

Hàm ngược của hàm sai số

x = erfinv(y) thỏa mãn y = erf(x), 1 <= y < 1, -inf <= x <= -inf

EXPINT

Hàm tích phân mũ, E1(x)

Y = EXPINT(X) là tích phân từ X đến Inf (∞) của (exp(-t)/t) dt

GAMMA

Hàm gamma

Y = GAMMA(X) ước lượng hàm gamma tại tất cả các phần tử của X X phải thực

gamma(x) = tích phân từ 0 đến inf (∞) của t^(x-1) exp(-t) dt

gamma(n+1) = n! = n giai thừa = prod(1:n)

GCD

Ước chung lớn nhất

Trang 3

G = GCD(A,B) là ước chung lớn nhất của các số nguyên A và B

G = GCD(0,0) = 0 theo quy ước; tất cả các GCD khác đều nguyên dương

[G,C,D] = GCD(A,B) cũng trả về C và D với G = A*C + B*D

GAMMAINC

GAMMAINC Hàm gamma chưa hoàn thành

Y = GAMMAINC(X,A) ước lượng hàm gamma chưa hoàn thành tại tất cả các phần tử của X X phải thực X và A phải cùng kích thước, ngoại trừ hàm có các đối số vô hướng như các ma trận hằng cùng kích thước với các đối số khác

gammainc(x,a) = (tích phân từ 0 đến x của t^(a-1) exp(-t) dt)/gamma(a)

Lưu ý: gammainc(x,a) tiến về 1 khi x tiến về vô cùng

LCM

Bội chung nhỏ nhất

LCM(A,B) là bội chung nhỏ nhất của các số nguyên dương A và B

LEGENDRE

LEGENDRE Các hàm Legendre liên đới

P = LEGENDRE(N,X) tính các hàm Legendre liên đới bậc N và theo thứ tự M = 0, 1, , N, tính trên X

N là một số nguyên nhỏ hơn 257 X là vectơ có các phần tử X(j) thực thỏa mãn abs(X(j)) <= 1 Giá trị xuất P là ma trận cỡ (N+1)xL, với L = length(X) P(i,j) ứng với hàm Legendre liên đới bậc N và vị trí (i-1), tính tại X(j)

Định nghĩa toán học của hàm P là P(n,m;x) = (-1)^m * (1-x^2)^(m/2) * (d/dx)^m P(n,x) , với P(n,x) là đa thức Legendre bậc n

Lưu ý: dòng đầu của P là đa thức Legendre ước

lượng tại X (trường hợp M = 0)

SP = LEGENDRE(N,X,'sch') tính các hàm Schmidt quan hệ bán chuẩn tắc với các hàm Legendre là SP(n,m;x) Các hàm này quan hệ với các hàm Legendre liên đới không chuẩn P(n,m;x) bởi: SP(n,m;x) = sqrt( 2*(n-m)!/(n+m)! ) * P(n,m;x)

Ví dụ:

legendre(2, 0:0.1:0.2) trả về ma trận dạng

P(2,0;0) P(2,0;0.1) P(2,0;0.2)

P(2,1;0) P(2,1;0.1) P(2,1;0.2)

P(2,2;0) P(2,2;0.1) P(2,2;0.2)

GAMMALN

GAMMALN Hàm lô-ga-rit gamma

Y = GAMMALN(X) là LOG(GAMMA(X)), tránh tràn dưới và tràn trên

Trang 4

LOG2

Tách các số thực Theo chuẩn IEEE là logb()

y = LOG2(x) tính lô-ga-rit cơ số 2 của x

[f,e] = LOG2(x) với ma trận thực x, trả về ma trận thực, thường trong miền 0.5 <= abs(f) < 1, và

ma trận e các số nguyên, để x = f * 2.^e Mọi số 0 trong x cho ra f = 0 và e = 0 Cách này phù hợp với hàm ANSI C là frexp() và hàm thực chuẩn IEEE là logb()

POW2

Mũ số thực Theo chuẩn IEEE là scalbn()

x = pow2(y) tính 2y

x = pow2(f,e) với ma trận thực f và ma trận nguyên e thì tính x = f * (2 ^ e) Kết quả tính toán nhanh bằng cách đơn giản là cộng e vào phần mũ của f Cách này phù hợp với hàm ANSI C là ldexp() và hàm thực chuẩn IEEE là scalbn()

RAT

Xấp xỉ phân số

[N,D] = RAT(X,tol) trả về 2 ma trận nguyên để N./D gần bằng X, trong trường hợp này abs(N./D - X) <= tol*abs(X) Các giá trị xấp xỉ phân số được phát sinh bằng cách cắt liên tục các khai triển phần thập phân Ngầm định thì dung sai tol = 1.e-6*norm(X(:),1) RAT(X) hoặc RAT(X,tol) hiển thị liên tục các bước biểu diễn Cùng thuật toán, với giá trị ngầm định của dung sai tol, được dùng bên trong MATLAB cho lệnh FORMAT RAT

RATS

Xuât các phân số

RATS(X,LENS) dùng RAT để hiển thị các giá trị xấp xỉ phân số của các phần tử của X Độ dài của mỗi phần tử là LENS Ngầm định thì LENS = 13, cho phép 6 phần tử trong 78 vị trí

Dấu sao (*) được dùng cho các phần tử không thể in ra trong không gian phân bố, nhưng so sánh không đáng kể với các phần tử trong X Cùng thuật toán, với giá trị ngầm định của LENS, được dùng bên trong MATLAB cho lệnh FORMAT RAT

CART2SPH

CART2SPH Biến đổi hệ tọa độ Đề-các sang hệ tọa độ cầu

[AZ,EL,R] = CART2SPH(X,Y,Z) Biến đổi dữ liệu lưu trong hệ tọa độ Đề-các sang hệ tọa độ cầu Nếu [M,N] = SIZE(X), thì Y và Z cũng phải cùng kích thước AZ và EL tính theo đơn vị radian

CART2POL

CART2POL Biến đổi hệ tọa độ Đề-các sang hệ tọa độ cực

[TH,R] = CART2POL(X,Y) Biến đổi dữ liệu lưu trong hệ tọa độ Đề-các sang hệ tọa độ cực

Trang 5

[M,N] = SIZE(X), thì Y cũng phải cùng kích thước TH tính theo đơn vị radian

[TH,R,Z] = CART2POL(X,Y,Z) Biến đổi dữ liệu lưu trong hệ tọa độ Đề-các sang hệ tọa độ trụ

Nếu [M,N] = SIZE(X), thì Y và Z phải cùng kích thước

POL2CART

POL2CART Biến đổi hệ tọa độ cực sang hệ tọa độ Đề-các

[X,Y] = POL2CART(TH,R) Biến đổi dữ liệu lưu trong hệ tọa độ cực sang hệ tọa độ Đề-các Nếu [M,N] = SIZE(TH), thì R cũng phải cùng kích thước

TH phải theo đơn vị radian

[X,Y,Z] = POL2CART(TH,R,Z) Biến đổi dữ liệu lưu trong hệ tọa độ trụ sang hệ tọa độ Đề-các Nếu [M,N] = SIZE(TH), thì R và Z phải cùng kích thước

SPH2CART

SPH2CART Biến đổi hệ tọa độ cầu sang hệ tọa độ Đề-các

[X,Y,Z] = SPH2CART(AZ,EL,R) Biến đổi dữ liệu lưu trong hệ tọa độ cầu sang hệ tọa độ Đề-các Nếu [M,N] = SIZE(AZ), thì EL và R cũng phải cùng kích thước AZ và EL phải theo đơn vị radian

Mở và đóng tệp

FOPEN

Mở tệp

FID = FOPEN('filename',permission) mở tệp có tên chỉ định là filename với chế độ cho phép chỉ định là permission Permission là một trong các chuỗi:

'r'_ đọc

'w'_ ghi (tạo mới nếu cần)

'a'_ nối thêm vào cuối tệp (tạo mới nếu cần)

'r+' đọc và ghi (không tạo mới)

'w+' cắt tệp hoặc tạo mới để đọc và ghi

'a+' đọc và ghi thêm vào cuối tệp (tạo mới nếu cần)

'W' ghi mà không tự động xóa vùng đệm 'A' nối thêm mà không tự động xóa vùng đệm

Ngầm định các tệp được mở trong chế độ nhị phân Để mở tệp văn bản thì thêm 't' vào chuỗi permission, như 'rt' và 'wt+'

FID = FOPEN(' filename') giả sử permission là 'r' Nếu mở thành công thì danh hiệu FID lấy một đại lượng vô hướng nguyên của MATLAB, danh hiệu tệp được dùng như đối số đầu tiên cho các phục vụ vào ra tệp Nếu việc mở tệp không thành công thì

Trang 6

trả về -1 cho FID Ba danh hiệu tệp được tự động dùng mà không cần mở Chúng là fid=0 (nhập chuẩn), fid=1 (xuất chuẩn), và fid=2 (thiết bị lỗi chuẩn)

[FID, MESSAGE] = FOPEN(' filename ',permission) trả về một lỗi hệ thống nếu mở thất bại

FOPEN('all') trả về một vectơ dòng, các danh hiệu cho tất cả các tệp đang mở bởi người dùng (Nhưng không phải 0, 1, và 2)

[FILENAME, PERMISSION] = FOPEN(FID) trả về tên tệp và chế độ với danh hiệu tệp đã cho Nếu tệp được mở trong chế độ 'r' và không tìm thấy tệp trong thư mục làm việc thì FOPEN tìm xuống đường dẫn tìm kiếm của MATLAB

[FID, MESSAGE] = FOPEN(' filename ',permission, machineformat) mở tệp chỉ định với chế độ chỉ định và đọc dữ liệu bằng cách dùng FREAD hoặc ghi dữ liệu bằng cách dùng FWRITE với FORMAT đã cho bởi machineformat machineformat là một trong các chuỗi sau:

'native' hoặc 'n' - FORMAT máy cục bộ- ngầm định

'ieee-le' hoặc 'l' - chuẩn IEEE

'ieee-be' hoặc 'b' - chuẩn IEEE

'vaxd' hoặc 'd' - chuẩn VAX D

'vaxg' hoặc 'g' - chuẩn VAX G

'cray'_ hoặc 'c' - chuẩn Cray

'ieee-le.l64' hoặc 'a' - chuẩn IEEE và độ dài số liệu 64 bit

[FILENAME,PERMISSION,MACHINEFORMAT] = FOPEN(FID) trả về tên tệp, chế độ mở, và dạng máy với dạnh hiệu tệp Chế độ 'W' và 'A' được thiết kế để dùng với các đĩa từ và không tự động xóa vùng đệm hiện thời sau các thao tác xuất

Ví dụ, mở 1/4" băng từ trên trạm SPARC để ghi mà không tự động xóa vùng đệm: fid = fopen('/dev/rst0','W')

FCLOSE

Đóng tệp

FCLOSE(FID) đóng tệp với danh hiệu FID, là một số nguyên nhận được từ FOPEN() trước đây

FCLOSE('all') đóng tất cả cá tệp đang mở trừ 0,

1 và 2

FCLOSE() trả về s 0 nếu thành công, -1 nếu ngược lại

Trang 7

Vào/Ra tệp không dạng thức

FREAD

Đọc tệp nhị phân

[A, COUNT] = FREAD(FID,SIZE,PRECISION) đọc dữ liệu nhị phân từ tệp chỉ định và ghi vào ma trận A Đối số xuất tùy chọn COUNT trả về số phần tử đọc thành công FID là danh hiệu nguyên của tệp được mở từ FOPEN Đối số tùy chọn SIZE; nếu không có thì đọc toàn bộ tệp; nếu có thì các đề mục hợp lý là:

N đọc N phần tử vào một vectơ cột

inf đọc vào cuối tệp

[M,N] đọc các phần tử để lấp đầy ma trận cỡ MxN, theo thứ tự cột

N có thể là inf, nhưng không là M

Đối số PRECISION điều khiển số bit đọc cho mỗi giá trị và thông dịch các bit này như các giá trị ký tự, số nguyên hoặc số thực Các chuỗi sau có thểø dùng, hoặc các phiên bản MATLAB, hoặc C hoặc Fortran tương đương Nếu không chỉ định thì được ngầm định là 'uchar' Các phần tử của ma trận kết quả luôn lưu trong dạng số thực dài của MATLAB

MATLAB C hoặc Fortran Mô tả

'char' 'char' ký tự ,

8 bit

'schar' 'signed char' ký tự có dấu, 8 bit

'short' 'short' số

nguyên, 16 bit

'int' 'int' số

nguyên, 16 hoặc 32 bit

'long' 'long' số

nguyên, 32 hoặc 64 bit*

'float' 'float' số thực , 32 bit

'double' 'double' số thực dài , 64 bit

'uchar' 'unsigned char' ký tự không dấu, 8 bit

'ushort' 'unsigned short' số nguyên không dấu, 16 bit

'uint' 'unsigned int' số nguyên không dấu, 16 hoặc 32 bit

'ulong' 'unsigned long' số nguyên không dấu, 32 bit

'char' 'char*1' ký tự , 8 bit

'float32' 'real*4' số thực

32 bit

'float64' 'real*8' số

thực 64 bit

'int8' 'integer*1' số nguyên, 8 bit

Trang 8

'int16' 'integer*2' số nguyên,

16 bit

'int32' 'integer*4' số nguyên,

32 bit

'integer*8' số nguyên, 64 bits**

'intN' số

nguyên có dấu, N bit rộng

'uintN' số

nguyên không dấu, N bit rộng

N biểu hiện giá trị bất kỳ giữa 1 và 32

* 64 bits trên DEC alpha

** chỉ dùng trên DEC alpha

Ví dụ,

fid = fopen('FREAD.m','r');

F = FREAD(fid);

s = setstr(F')

mở tệp chứa đề mục HELP này, rồi đọc và hiển thị toàn bộ tệp, ngầm định dùng size = inf và precision = 'uchar' Kết quả length(F) là số ký tự trong tệp

[A, COUNT] = FREAD(FID,SIZE,PRECISION,SKIP) đưa vào đối số tùy chọn SKIP để chỉ định số byte bỏ qua sau mỗi lần đọc Cách này thường dùng để trích dữ liệu trong các trường không liên tục từ các bản ghi có độ dài cố định

FWRITE

Ghi dữ liệu vào một tệp nhị phân

COUNT = FWRITE(FID,A,PRECISION) ghi các phần tử của

ma trận A vào tệp chỉ định, dịch các giá trị MATLAB sang độ chính xác chỉ định là precision Dữ liệu được ghi theo thứ tự cột COUNT là số phần tử được ghi thành công FID là danh hiệu số nguyên của tệp nhận từ FOPEN, hoặc 1 chi xuất chuẩn hoặc 2 cho lỗi chuẩn PRECISION điều khiển dạng và kích thước của kết quả Xem danh sách PRECISION cho phép trong FREAD

COUNT = FWRITE(FID,A,PRECISION,SKIP) đưa vào đối số tùy chọn SKIP để chỉ định số byte bỏ qua trước mỗi lần ghi Cách này thường dùng để chèn dữ liệu trong các trường không liên tục từ các bản ghi có độ dài cố định

Ví dụ

fid = fopen('magic5.bin','wb')

FWRITE(fid,magic(5),'integer *4')

Tạo mới một tệp nhị phân 100-byte, chứa 25 phần tử của ma phương bậc 5, lưu như các số nguyên 4-byte

Nhập/xuất tệp có dạng thức

FSCANF

Đọc dữ liệu có dạng thức trong một tệp

Ngày đăng: 10/07/2014, 02:20

TỪ KHÓA LIÊN QUAN