24/05/2018, 22:55

Các hàm số trong Mathcad

Mathcad lập sẵn một số hàm dùng trong tính toán kỹ thuật thông dụng và chuyên sâu. Để có được một hàm số ta có thể thực hiện theo hai cách sau:  Từ thanh menu: chọn Insert/Function (hình5. 1).  Từ bàn phím: gõ chính xác tên ...

Mathcad lập sẵn một số hàm dùng trong tính toán kỹ thuật thông dụng và chuyên sâu. Để có được một hàm số ta có thể thực hiện theo hai cách sau:

 Từ thanh menu: chọn Insert/Function (hình5. 1).

 Từ bàn phím: gõ chính xác tên hàm.

Hình 5.1. Hộp thoại Insert Function

Sau đây sẽ liệt kê một số hàm thường sử dụng trong tính toán kỹ thuật:

Hàm Bessel

  • Hàm Bessel thay đổi

I0(x) I1(x) In(m,x)

K0(x) K1(x) Kn(m,x)

  • Hàm Airy

Ai(x) Bi(x)

  • Hàm Bessel Kelvin

Bei(n,x)ber(n,x)

  • Hàm Spherical Bessel

is(n,x)ys(n,x)

- Trong đó x là tập hợp số thực và không có thứ nguyên.

Hàm điều kiện không liên tục

 if(cond,x,y) : trả về x nếu cond là TRUE, ngược lại trả về y.

 (m,n) - Kronecker delta : trả về 1 nếu m=n, ngược lại trả về 0.

 sign(x): trả về 0 nếu x=0, trả về 1 nếu x>0, trả về -1 với những trường hợp còn lại. x là số thực.

 (i,j,k): hoàn tất hàm số không đối xứng Tensor.

 (x) : hàm số bước. Trả về 0 nếu x<0, ngược lại trả về 1.

Hàm số vẽ đường cong (Curve Fitting)

  • Hàm tuyến tính

 slope(vx,vy) và intercept(vx,vy): hai hàm này được sử dụng chung với nhau, những hàm này tìm đường thẳng cho đúng với bộ số liệu đã khai báo.

  • Hàm đa giác

 regress(vx,vy,k): tìm đa giác cho đúng với bộ số liệu đã khai báo.

 loess(mxy,vz,span): tìm bộ thứ tự đa giác thứ hai cho đúng với bộ số liệu đã kề cận.

  • Hàm Multivariate polynomial

 regress(Mxy,vz,k) : tìm bề mặt của hình đa giác cho đúng với bộ số liệu đã khai báo.

 loess (Mxy, vz, span): tìm bộ thứ tự đa giác thứ hai cho đúng với bộ số liệu đã kề cận.

 Hàm Generalized

 linfit(vx,vy,F): tìm hệ số tạo thành sự kết hợp tuyến tính của các hàm cho đúng với các điểm dữ liệu.

 genfit(vx,vy,F): tìm các thông số tạo thành hàm số đã chỉ định cho đúng với các điểm dữ liệu.

Hàm thống kê và phân tích dữ liệu

  • Các hàm phân tích dữ liệu (Data analysis functions)

Mô tả các hàm phân tích dữ liệu như mean, variance, standard deviation, kurtosis và correlation.

  • Các hàm phân phối (Distribution functions)

Mô tả các hàm gamma, error và những hàm khác có khả năng thực hiện việc phân phối.

  • Các số ngẫu nhiên (Random numbers)

Mô tả các con số ngẫu nhiên đã được kích hoạt và cách áp dụng chúng để kích hoạt các con số ngẫu nhiên để thực hiện việc phân phối.

  • Hàm lập phổ đồ (Histograms):

Mô tả cách nhận sự phân bổ tần số của dữ liệu mẫu.

  • Phân tích tổng hợp (Combinatorcal analysis)

Tính các số hoán vị và tập hợp

  • Hàm số tính giao điểm (Interpolation and prediction)

Mô tả giao điểm của đường tuyến tính và khối.

  • Smoothing

Mô tả một số phương pháp làm phẳng dữ liệu tạp âm.

  • Curve fitting

Mô tả kỹ thuật trong phép tính hồi quy, cả tuyến tính lẫn không tuyến tính.

Giải phương trình vi phân

  • Giải các phương trình vi phân

rkfixed(y x1,x2,npoints,D)

  • Các hệ thống phẳng

Bulstoer(y,x1,x2,npoints,D)

  • Các hệ thống Stiff

stiffb(y,x1,x2,npoints,D,J)

stiffr(y,x1,x2,npoints,D,J)

  • Các hệ thống thay đổi chậm

Rkadapt (y,x1,x2,npoints,D)

  • Tìm điểm cuối cùng trong vùng định điểm (interval)

 bulstoer(y,x1,x2,acc,D,kmax,s)

 rkadapt(y,x1,x2,acc,D,kmax,s)

 stiffb(y,x1,x2,acc,D,J,kmax,s)

 stiffr(y,x1,x2,acc,D,J,kmax,s)

  • Giải quyết giá trị tại hai điểm

 bvalfit(v1,v2,x1,x2 xf,D,load1,load2,score)

 sbval(v,v1,v2,x2,D,load,score)

  • Giải quyết thành phần trong phương trình vi phân

 relax(a,b,c,d,e,f,u,rjac)

 multigrid(M,ncycle)

Hàm tìm đáp án phương trình

 find(x,y): tìm ẩn số của phương trình.

 minerr(x,y,...): tìm đáp án tương ứng của hệ phương trình.

 root(f(x),x): tìm ẩn số của hàm lượng giác.

 lsolve(M,v): giải hệ phương trình.

 polyroots(v): tìm các căn số của tử số có hệ nằm trong v.

Hàm chuyển đổi riêng biệt

 fft(v): tàm chuyển đổi Fourier của số liệu đã gán trong Véc tơ v.

 ifft(u): hàm nghịch đảo của fft. Trả về v nếu u=fft(v).

 cfft(A): hàm chuyển đổi Fourier của số thực hoặc phức trong mảng A.

 icfft(B): hàm nghịch đảo của của cfft. Trả về A nếu B=cfft(A)

 FFT(v): nhận dạng fft ngoại trừ những toán tử và hệ số bình thường khác.

 CFFT(A): nhận dạng ifft ngoại trừ những toán tử và hệ số bình thường khác.

 IFFT(u): nhận dạng ifft ngoại trừ những toán tử và hệ số bình thường khác.

 ICFFT(B) : nhận dạng iccft ngoại trừ những toán tử và hệ số bình thường khác.

 wave(v): chuyển đổi riêng sóng hiệu của số liệu thực trong Véc tơ v.

 iwave (u): hàm nghịch đảo của wave. Trả về v nếu u=wave(v).

Hàm báo lỗi

 erf(x)

Hàm số mũ và Logarith

 exp(z): số e tăng theo bội số z.

 log(z,b): tính giá trị logarit cơ số b của z. Nếu bỏ qua không khai báo b, sẽ xem như tính logarit cơ số 10 của z (mặc định b=10).

 ln(z): số log tự nhiên (log cơ số e) của z.

Khai báo:

- z phải là một tập hợp (số thực, số phức hoặc số ảo).

- z phải không được định hướng.

- Đối với các hàm log và ln, z không thể mang số zero.

- b là thành phần tùy chọn, mang số dương. Nếu được gộp chung, b là một tập hợp. Nếu bỏ qua b được xem như 10.

- Đối với số phức z, các hàm log trả về những giá trị từ vế chính của những hàm này, ngược lại:

ln(z)=ln(|z|) + i arg(z)

Khai báo loại hàm số (EXPRESSION TYPE)

 IsScalar(x): trả về 1 nếu x là một tập hợp, ngược lại sẽ trả về 0.

 isArray(x): trả về 1 nếu x là Véc tơ hoặc ma trận, ngược lại trả về 0.

 sstring(x): trả về 1 nếu x là chuỗi, ngược lại trả về 0.

Hàm truy cập (FILE ACCESS FUNCTIONS)

 READPRN("File"): đọc mảng số liệu từ tập tin dữ liệu.

 WRITEPRN("file"): ghi mảng số liệu từ tập tin dữ liệu.

 APPENDPRN("file"): nối mảng số liệu từ tập tin dữ liệu.

 READRGB("file"): đọc tập tin ảnh màu.

 READBMP("file"): đọc tập tin hình ảnh theo chế độ thanh xám.

 WRITERGB("file"): tạo tập tin ảnh màu.

 WRITEBMP("file"): tạo tập tin ảnh màu theo chế độ thang xám.

Hàm số tối ưu (FUNCTION OPTIMIZATION)

 minimize (f,var 1,var2,...): tìm giá trị tối thiểu.

 maximize (f,var1,var2,...): tìm giá trị tối đa.

Các hàm Hyperbol (HYPERBOL FUNTIONS)

sinh(z) cosh (z)

tanh (z) csch (z)

seach (z) coth (z)

Khai báo:

- z phải mang giá trị radians.

- z phải là một tập hợp.

- z không được định hướng.

Hàm nghịch đảo Hyperbol (INVERSE HYPERBOLIC FUNTIONS)

asinh (z)acoth (z)

acish (z)acsch (z)

atanh (z)asech (z)

Khai báo:

- z phải là tập hợp.

- z không định hướng.

Hàm lượng giác đảo (INVERSE TRIG FUNTIONS)

asin (z)acsc(z)

acosh (z)asec (z)

atan (x,y)

Khai báo:

- z phải là tập hợp.

- z không định hướng.

- x và y là những tập hợp.

Những giá trị được trả về:

- asin(z), acsc(z), acosh(z), asec(z), atan(z): trả về góc độ theo radian giữa −π/2 size 12{ - π/2} {}và π/2 size 12{π/2} {} khi z là số thực.

- atan2(x,y): trả về góc độ (độ theo radian giữa −π/2 size 12{ - π/2} {}và π/2 size 12{π/2} {} bao gồm −π size 12{ - π} {}) từ trục x đến đường thẳng chứa điểm gốc (0,0) và tọa độ (x,y).

- acos(z): trả về các góc độ theo radian giữa 0 và π size 12{π} {} khi z là số thực.

Các hàm tiếp tuyến (INTERPOLATION FUNTIONS)

 Linterp(vx,vy,x): giá trị giao điểm tại x khi các điểm trong vx, vy được nối với nhau bằng những đường thẳng.

 Ispline(vx,vy): giao điểm của các điểm đầu cuối của những đường thẳng tạo thành khối. Trả về Véc tơ vs để dùng với hàm interp.

 pspline(vx,vy): giao điểm của các điểm đầu và cuối của những đường parabol tạo thành khối.trả về véc tơ vs để dùng với hàm interp.

 cspline(vx,vy): các đường giao tuyến nhau trong khối. Trả về Véc tơ vs để dùng với hàm interp.

 bspline (vx,vy,u,n): sự giao tiếp của các đường B-spline tạo góc độ n đưa ra các điểm được chỉ định bằng những giá trị trong u. Trả về Véc tơ vs để dùng với hàm interp.

 interp(vs,vx,vy,x): trả về giá trị giao điểm của qua cách dùng những đường giao tiếp.vs là Véc tơ được trả về từ các hàm Ispline, pspline, cspline hoặc bspline.

 predict (v, m, n): trả về những giá trị n đã được xác định trước dựa theo các thành phần nằm trong v.

Các hàm phụ (MISCELLANEOUS FUNTIONS)

 mod(x,y): trả lại số dư của x chia y.

 angle(x,y): góc từ trục x đến tọa độ (x,y).

Hàm vẽ phổ đồ (HISTOGRAMS)

 hist (intervals,data): trả về phổ đồ của dữ liệu.

 Nếu intervals là Véc tơ, trả về Véc tơ với thành phần ith là số điểm trong dữ liệu data nằm giữa ith và (i+1)th của intervals.

 Nếu intervals là một tập hợp (scalar), trả về véc tơ minh họa số điểm trong data nằm trong dãy số của khoảng cách đều nhau được thể hiện bởi intervals.

Khai báo:

- intervals là một tập hợp hoặc một véc tơ. Khi là tập hợp, chúng đặc trưng bằng những con số với khoảng cách đều nhau với những giá trị được chứa trong data.

- Khi intervals là véc tơ của những giá trị thực theo thứ tự tăng dần, các giá trị thể hiện những khoảng cách theo các thành phần được chứa trong data.

- Data là Véc tơ của giá trị số liệu thực.

Hàm làm tròn số (Rounding a number)

 round(x,n): làm tròn giá trị x theo số thập phân n. Nếu bỏ qua n, giá trị x sẽ được làm tròn theo số nguyên gần nhất (n được xem như bằng 0). Nếu n<0 thì x được làm tròn theo số thập phân n nằm bên trái dấu thập phân. Lưu ý rằng x phải là tập hợp số thực và n phải là số nguyên.

Ví dụ:

***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***

Hàm rút gọn chuỗi số (Truncation Functions)

 floor(x): trả về số nguyên lớn nhất.

 ceil(x): trả về số nguyên nhỏ nhất.

 trunc(x): trả về số nguyên của x bằng cách loại bỏ phần phân số.

Khai báo:

- x là số thực.

Lưu ý: khi x dương hàm floor và trunc trả về cùng kết quả.

Ví dụ:

***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***

Các hàm chuỗi (String Functions)

 concat(S1,S2): nối chuỗi S2 vào cuối chuỗi S1. Trả về chuỗi.

 error(S): trả về chuỗi S và hiện thông tin lỗi.

 IsString(x): trả về 1 nếu x là chuỗi, ngược lại trả về 0.

 Strlen(S): xác định ký tự trong chuỗi S. Trả về số nguyên.

 Search(S,Sub,S,x): tìm vị trí bắt đầu của chuỗi phụ SubS trong S, bắt đầu từ vị trí x trong S.

 Str2num(S): đổi chuỗi số S thành hằng số.

 Num2str(x): đổi số x thành chuỗi.

 Str2vec(S): đổi chuỗi S thành Véc tơ của mã ASCII.

 Vec2tr(v): đổi các Véc tơ của mã ASCII sang dạng chuỗi.

Các hàm nội suy (Cubic Spline Interpolation)

 cspline(vx,vy): trả về Véc tơ nguồn thứ hai đối với dữ liệu của Véc tơ vx và vy.Véc tơ này sẽ trở thành đại lượng thứ nhất của hàm interp. Kết quả sẽ là khối tại các điểm đầu cuối.

 pline(vx,vy): tương tự như hàm cspline, ngoại trừ kết quả có dạng parabol ngay các điểm đầu cuối.

 lspline(vx,vy): tương tự như cspline, ngoại trừ kết quả là đường tuyến tính ngay các điểm đầu cuối.

 interp(vs,vx,vy,x): trả về giá trị giao điểm của vy tại điểm x.

Khai báo:

- vx là Véc tơ của những giá trị dữ liệu thực theo thứ tự tăng dần. Chúng tương ứng với giá trị x.

- vy là Véc tơ của những giá trị dữ liệu thực. Chúng tương ứng với giá trị y. Số thành phần tương tự như vx.

- v là Véc tơ được kích hoạt bởi cspline, pspline, lspline.

- x là giá trị của biến độc lập mà ngay đó sẽ đưa ra kết quả giao thoa. Đối với những kết quả tốt nhất, những giá trị biến này nên nằm trong phạm vi được đưa rà từ những giá trị vx.

- hàm cubic spline interpolation cho phép bạn chuyển đường cong qua các điểm theo cách nguồn thứ nhất và thứ hai của đường cong được kéo tiếp tục qua các điểm kế tiếp. Đường cong này được tập hợp bằng cách lấy ba điểm kề nhau và tạo thành khối chạy qua các điểm đó. Khối đa giác này sau đó được nối lại với nhau để tạo thành đường cong hoàn chỉnh.

các hàm hồi quy

 slope(vx,vy): độ xiên của đường thẳng khớp với dữ liệu trong vx, vy.

 intercep(vx,vy): đường giao tiếp vừa đúng với số liệu trong vx, vy.

Khai báo:

- vx là Véc tơ của những số liệu thực đối với hàm slope. Các giá trị trong vx tương ứng với các giá trị x.

- vy là Véc tơ của các số liệu thực. Những giá trị này tương ứng với các giá trị y. Số thành phần của vy cũng tương tự như vx.

 Hàm slope và intercep rất hữu ích khi dữ liệu kế thừa sự tuyến tính mà cũng có thể áp dụng cho các hàm số mũ.

 Công thức của đường thẳng vừa khớp với số liệu của vx và vy là y=mx+b là kết quả từ hàm slope và b là kết quả từ hàm intercept.

(xem ví dụ ở hình 5.2)

Ví dụ:

Hình 5.2. Minh hoạ dùng hàm spline và hàm intercept

Hàm tuyến tính kết hợp (LINEAR COMBINATION OF FUNCTION)

 linfit(vx,vy,F): trả về Véc tơ chứa các hệ số được dùng để tạo sự kết hợp của các hàm tuyến tính trong F với dữ liệu ước định trong vx và vy (hình 5.3).

Khai báo:

- vx là Véc tơ của các giá trị dữ liệu. Những giá trị này tương ứng với giá trị x. các thành phần phải được xếp theo thứ tự tăng dần (có thể dùng hàm sort).

- vy là Véc tơ của các giá trị dữ liệu. Những giá trị này tương ứng với giá trị y. Số thành phần tương tự như vx.

- F là hàm số trả về Véc tơ với những thành phần là hàm số hình thành các hàm tuyến tính, hoặc trong trường hợp đó là hàm tuyến tính đơn. F là một tập hợp.

Ví dụ:

Hình 5.3. Minh hoạ dùng hàm linfit

 Genfit(vx,vy,vg,F): Véc tơ đang chứa các tham số tạo nên hàm f(x) và các tham số n, u1…un của các dữ liệu trong vx và vy (hình 5.4).

Khai báo:

- vx là Véc tơ của các giá trị dữ liệu. Những giá trị này tương ứng với giá trị x.

- vy là Véc tơ của các giá trị dữ liệu thực và tương ứng với giá trị y. Số thành phần tương tự như vx.

- vg là thành phần Véc tơ n dự đoán, hoặc vg là một tập hợp trong trường hợp n=1.

- F là hàm số trả về Véc tơ n+1 đang chứa hàm f và những thành phân nguồn của chúng tương ứng với các tham số n. Khi n=1, F là tập hợp.

- n là số nguyên.

Ví dụ:

Hình 5.4. Minh hoạ dùng hàm genfit

Hàm tuyến tính định trước (LINEAR PREDICTION)

 predict(v,m,n): trả về Véc tơ với những giá trị n đã được định trước dựa theo các thành phần m kề nhau trong v (hình 5.5).

Khai báo:

- v là Véc tơ với các giá trị mẫu được lấy từ những khoảng cách đều nhau.

- m, n là các số nguyên.

Ví dụ:

Hình 5.5. Minh hoạ dùng hàm predict

THAY ĐỔI CÁC THAM SỐ CHƯƠNG TRÌNH

Khi thao tác với các đối tượng của chương trình, có thể thực hiện theo ý riêng của mình bằng cách chấp nhận hoặc thay đổi các tham số của chương trình cho phu hợp. Để thay đổi các tham số của chương trình, thực hiện như sau:

Trên thanh menu: chọn Math/Options, xuất hiện hộp thoại Math Options (hình 5.6).

Hình 5.6. Hộp thoại Math Options/Built-In Variables

 Chọn thẻ (hình 5.6): có thể đặt các giá trị tham biến mặc định của chương trình theo hướng dẫn sau đây:

 Array Origin: kiểm soát các tham số ORIGIN lập sẵn để đặc trưng cho việc lập chỉ số cho các phần tử của mảng trong công thức. Giá trị mặc định là không “0”.

 Convergence Tolerance: kiểm soát các tham số TOL với mức độ sai số của các số nguyên và các số dẫn xuất từ chúng. Tham số này còn kiểm soát độ dài của các số nguyên trong các phép tính căn. Giá trị mặc định là “0.001”.

 Constraint Toleranc: kiểm soát các tham số CTOL với mức độ sai số của các điều kiện ràng buộc khi giải bài toán bằng toán tử Slove. Giá trị mặc định là “0.001”.

 Seed value for random numbers: thông báo cho hàm tạo số ngẫu nhiên biết sẽ dùng thử một chuỗi ngẫu nhiên nào đó. Giá trị mặc định là “1”.

 Precision: kiểm soát các tham số PRNPRECISION cho sẵn để đặc trưng cho các con số áp dụng khi viết tập tin mã ASCII với hàm WRITERPRN hoặc APPENDPRN. Giá trị mặc định là “4”.

 Column Width: kiểm soát các tham số PRNCOLWIDTH lập sẵn để đặc trưng cho độ rộng các cột trong tập tin mã ASCII được lập bằmg các hàm WRITERPRN hoặc hàm APPENDPRN. Giá trị mặc định là “8”.

 Restore Defaults: trả về tất cả giá trị mặc định của chương trình.

 Chọn thẻ : đặt các lệnh liên quan đến cách thức tính toán các giá trị trong công thức, biểu thức, hàm của chương trình (hình 5.7).

 Recalculate Automatically: Mathcad tự động tính toán lại tất cả các kết quả và hình ảnh đồ thị hiện diện trên màn hình mỗi khi bạn thay đổi giá trị nào nó của biến số.

 Optimize expressions befor calculating: Mathcad tự động tối ưu hoá như là nó sẽ làm đơn giản hoá biểu thức bất kỳ nằm bên trái hay phải dấu gán (). Khi giá trị quá dài Mathcad sẽ đánh dấu vào vùng số liệu bằng dấu hoa thị rồi thay vào đó sẽ tính theo dạng đơn giản hơn. Khi muốn quan sát dạng đơn giản, kích vào dấu hoa thị.

Hình 5.7. Hộp thoại Math Options/Calculation

 Chọn thẻ : chọn đơn vị để tính toán trong Mathcad (hình 5.8).

Hình 5.8. Hộp thoại Math Options/Unit System

 SI (International): sử dụng theo đơn vị đo lường quốc tế, hệ SI: meters, kilograms, second, amps…

 MKS: sử dụng đơn vị đo là meters, kilograms, seconds…

 CGS: sử dụng đơn vị đo làcentimeters, grams, seconds…

 US: sử dụng theo đơn vị đo lường của Mỹ-Anh là feet, pounds, seconds…

 None: loại bỏ tất cả đơn vị đo lường theo mặc định.

 Chọn thẻ : chứa các tên hướng mặc định để người sử dụng tuỳ chọn (hình 5.9).

Hình 5.9. Hộp thoại Math Options/Dimensions

 Display dimensions: kích chọn để thể hiện các kết quả qua cách dùng các tên hướng sẽ được đề cập đến trong phần Dimension Names thay vì là mặc định.

 Dimension Names : khai báo các tên hướng vào các khung đơn vị có liên quan để thể hiện trong bảng kết quả.

BÀI TẬP CHƯƠNG 5

1. Giải các hệ phương trình sau:

a.

b.

c.

d.

2. Sử dụng hàm “if, linterp” và “input table” để tính btk như sau:

Cho Q=95 (m3 /s) ; i=0.0001 ; n=0.0225 , m=1.5 (hoặc m=1.5) ; h=3(m)

+ Xác định Rln=nQ4m0i38 size 12{R rSub { size 8{"ln"} } = left ( { { ital "nQ"} over {4m rSub { size 8{0} } sqrt {i} } } right ) rSup { size 8{ { {3} over {8} } } } } {} với m0=21+m2−m size 12{m rSub { size 8{0} } =2 sqrt {1+m rSup { size 8{2} } } - m} {}

Lập tỷ số hRln size 12{ { {h} over {R rSub { size 8{"ln"} } } } } {} để tìm bRln size 12{ { {b} over {R rSub { size 8{"ln"} } } } } {} được tra trong bảng sau:

h R ln size 12{ { {h} over {R rSub { size 8{"ln"} } } } } {} b R ln size 12{ { {b} over {R rSub { size 8{"ln"} } } } } {}
m=1.25 m=1.5
0.8350.8580.8810.903 10.59110.0929.6439.237 11.30010.75910.2719.829

Tính btk=bRlnRln size 12{b rSub { size 8{ ital "tk"} } = { {b} over {R rSub { size 8{"ln"} } } } R rSub { size 8{"ln"} } } {}

  1. Viết hàm nội suy tìm cường độ chịu kéo Ra của thép cho trong bảng sau:
Loại cốt thép Ra (kG/cm2)
AI 2100
AII 2700
AIII 3600

Tại giá trị gán loại cốt thép, dùng Hyperlink (dạng Pop-up) để giải thích cho người sử dụng hiểu là chỉ có thể chọn cốt thép với những loại trên.

0