Tính phần tử tiếp theo bằng cách sử dụng các phần tử trước đó trong Matlab. Các phép tính đơn giản nhất trong matlab. Tính toán và xấp xỉ dữ liệu trong MATLAB

MATLAB có số lượng hàm dựng sẵn rất lớn (rất lớn, đây là tài nguyên chính của nó), vì vậy điều quan trọng là có thể tìm thấy thông tin tham khảo về hàm mong muốn.

Nhận trợ giúp nhanh chóng ( giúp đỡ) trong cửa sổ lệnh MATLAB được thực hiện bằng các lệnh:

>> trợ giúp - hiển thị thông tin về các phần (chủ đề) MATLAB với khả năng

chuyển đổi siêu văn bản để hiển thị danh sách chức năng của từng phần và thông tin tham khảo về chức năng được yêu cầu.

>>giúp đỡ - hiển thị thông tin về tên (tiêu đề) của các chức năng có trong phần.

>>giúp đỡ<имя функции>- hiển thị thông tin trợ giúp về chức năng.

>> helpwin - hiển thị cửa sổ trợ giúp trong đó bạn có thể nhấp đúp để mở thông tin trợ giúp cho chủ đề hoặc chức năng mong muốn.

>>tìm kiếm - hiển thị thông tin tham khảo cho một từ khóa.

>> trợ giúp demo - hiển thị danh sách các ví dụ demo.

>> hthelp - mở cửa sổ tương tác MATLABgiúp đỡ.

>> trợ giúp mang tính biểu tượng – hiển thị thông tin về hộp công cụ toán học biểu tượng (symbolicmathtoolbox) MATLAB.

>> hộp công cụ xử lý tín hiệu trợ giúp – hiển thị thông tin về các chức năng của gói Hộp công cụ xử lý tín hiệu. Lệnh trợ giúp thường được sử dụng nhất để được trợ giúp.<имя функции>.

Ví dụ.

>> giúp cơ bụng

ABS Giá trị tuyệt đối.

ABS(X) là giá trị tuyệt đối của các phần tử của X. Khi

X là phức, ABS(X) là mô đun phức (độ lớn) của

các phần tử của X

Xem thêm KÝ, GÓC, BÓNG.

Phương thức quá tải

trợ giúp iddata/abs.m

Hầu hết các hàm đều có một số tùy chọn cú pháp. Tên hàm trong thông báo trợ giúp được hiển thị bằng ký tự viết hoa nhưng phải được sử dụng khi nhập tên hàm. chỉ các ký tự chữ thường. Trợ giúp cho chức năng cần thiết được hiển thị cùng với danh sách các chức năng liên quan. Để có được thông tin chi tiết hơn về chức năng mong muốn với các ví dụ tính toán, hãy sử dụng lệnh bác sĩ<имя функции>.

Phương tiện chính để có được thông tin trợ giúp chi tiết là trình duyệt trợ giúp. Giúp đỡtrình duyệt, chứa tài liệu cho tất cả các sản phẩm MATLAB đã cài đặt. Tài liệu được truy cập thông qua menu TRỢ GIÚP. Ở giai đoạn đầu làm việc, phần MATLAB của hệ thống trợ giúp đặc biệt hữu ích và cần thiết để làm quen với gói này.

Từ thực đơn Giúp đỡ sử dụng lệnh Bản demo Bạn có thể truy cập các bản demo MATLAB. Những ví dụ này rất đa dạng và hữu ích cho mục đích học tập và tạo ứng dụng trong MATLAB. Bạn cũng có thể truy cập các bản demo bằng cách sử dụng lệnh demo từ dòng lệnh.

Truy cập thông tin trợ giúp trên Internet: >>webhttp:// www. bài toán. com- tải trang WEB của công ty MathWorks Inc. - nhà sản xuất MATLAB.

  1. Tính toán đơn giản

MATLAB có các phép tính số học cơ bản sau:

      Phép cộng ( a+b, 15+23),

      Phép trừ ( a-b, 17-3),

      Phép nhân ( a*b, 0.18*6.12),

      Phân công ( a/b, 92.4/15),

      lũy thừa ( Một^ b, 7.4^4).

Ví dụ

Tên Kích thước Byte Thuộc tính lớp

Trong ví dụ này, ngoài các phép tính đơn giản nhất, lệnh còn được sử dụng ai, cho phép bạn hiển thị danh sách các biến cho phiên hiện tại, việc này cũng có thể được thực hiện trong cửa sổ Workspace.

Để xóa Không gian làm việc, tức là. Để loại bỏ các biến khỏi nó, bạn có thể sử dụng lệnh clear. Lệnh clc được sử dụng để xóa Cửa sổ lệnh mà không xóa vùng làm việc.

MATLAB cũng hỗ trợ các hàm toán học đa năng như căn bậc hai mét vuông(x), tính toán các hàm lượng giác trực tiếp và nghịch đảo, hàm số mũ, v.v. Có thể lấy danh sách tất cả các hàm này với khả năng đi đến bất kỳ hàm nào bằng cách nhập vào dòng lệnh giúp đỡ yêu tinh. Tất cả các hàm MATLAB cơ bản đều là các hàm có đối số có thể là mảng, tức là thực hiện trong gói vector hóa tính toán.

Ví dụ

>> v1 = [ 2 4 mét vuông(10)]

2.0000 4.0000 3.1623

0.4161 -0.6536 -0.9998

MATLAB đánh giá các biểu thức từ trái sang phải theo thứ tự ưu tiên thông thường của lũy thừa đối với phép nhân và phép chia, và thứ tự ưu tiên của phép cộng và phép trừ. Dấu ngoặc đơn được sử dụng để thay đổi thứ tự tính toán.

Ví dụ

>> 7*3+5-12/4

>> 7*(3+5-12/4)

Độ chính xác tương đối của các phép tính số học MATLAB là khoảng 16 chữ số thập phân trong dãy số từ 10 -308 đến 10308. Định dạng đầu ra mặc định trong MATLAB là ngắn, cho phép bạn hiển thị không quá 5 chữ số có nghĩa của một số. Định dạng đầu ra này không phải lúc nào cũng đủ.

Các lệnh thiết lập định dạng đầu ra

>> định dạng ngắn - biểu diễn ngắn ở định dạng cố định (5 ký tự),

>> định dạng ngắn e– đặt định dạng ký hiệu khoa học (số mũ) với 5 chữ số thập phân,

>> định dạng dài – định dạng biểu diễn dài điểm cố định với 15 chữ số thập phân,

>> định dạng dài e – định dạng ký hiệu khoa học với 15 chữ số thập phân,

>> ngân hàng định dạng - định dạng đầu ra tiền tệ có hai chữ số thập phân ở bên phải dấu thập phân,

>> format rat - định dạng đầu ra dưới dạng phân số hữu tỉ.

Định dạng đầu ra cũng có thể được thiết lập bằng lệnh menu Sở thích.

Xin lưu ý rằng khi nhập số ở dạng hàm mũ, chẳng hạn như 15,8e-5, không được phép có khoảng trắng ở giữa.

Tên biến MATLAB phải bắt đầu bằng một chữ cái và độ dài tên tối đa là 31 ký tự. Tên không được trùng với tên của hàm, thủ tục hoặc biến hệ thống. Tên có phân biệt chữ hoa chữ thường, ví dụ: var khác với Var.

Một thao tác gán được sử dụng để tạo một biến.

<имя переменной> = <выражение>;

Trong trường hợp này, toán tử “;” chặn đầu ra tiếng vang của kết quả tính toán (gán) ra màn hình.

Tất cả các biến được khai báo đều được lưu trữ trong không gian làm việc ( Không gian làm việc) của phiên MATLAB hiện tại và có sẵn để tính toán trong phiên này, ngoại trừ trường hợp các biến được loại bỏ cụ thể khỏi không gian làm việc bằng lệnh thông thoáng.

Ví dụ

Biến ký tự >> string="hello"

Vô hướng thực (số)

>> y=5,2*x+15

Để lưu các biến trong một tệp trong thư mục hiện tại (thư mục công việc theo mặc định), bạn có thể sử dụng lệnh cứu

>> lưu tập tin của tôi x y

Lệnh không chỉ định tên biến cứu lưu tất cả các biến không gian làm việc.

Các biến có thể được xóa khỏi không gian làm việc ( Không gian làm việc)Lệnh MATLAB thông thoáng

>> rõ ràng x y

Hàm hoặc biến không xác định "x".

Hàm hoặc biến không xác định "y".

Nếu cần, bạn có thể tải các biến từ tệp vào không gian làm việc bằng lệnh trọng tải

>>tải tập tin của tôi

MATLAB hỗ trợ số học số phức tích hợp dễ sử dụng. Trong hầu hết các hàm toán học MATLAB, các đối số và kết quả được coi là số phức. Ví dụ,

>> mét vuông(-3)

Các biến được dành riêng để biểu thị đơn vị ảo trong MATLAB Tôij:

3,0000 + 4,0000i

>>y= 2*(1+4*j)

2,0000 + 8,0000i

Các hàm tính toán đặc biệt với đối số phức tạp:

>> abs(x)% lấy mô đun của một số

>> đối số góc(x)% (pha) của số tính bằng radian

>> conj(x)% liên hợp phức

>> imag(x)% phần ảo của một số

>> số thực(x)% phần thực của một số

Tên biến hệ thống được xác định trước MATLAB không thể được sử dụng làm tên biến người dùng. Những cái chính của những cái tên này:

>> ans là tên biến mặc định cho kết quả tính toán.

>> eps là biến chính xác của máy có bậc 10 -16 .

>> thoát thoát (cuối) của MATLAB.

>> i hoặc j là đơn vị ảo, tức là .

>> pi là số π.

>> Ký hiệu Inf cho vô cùng.

>> NaN không phải là kết quả số.

>> lệnh xóa để loại bỏ tất cả các biến khỏi không gian làm việc, lệnh này phải được sử dụng hết sức cẩn thận.

>> lệnh xóa x,y loại bỏ các biến x và y.

>> điều gì tạo ra danh sách các tệp có phần mở rộng '.m', '.mat', '.mex' từ thư mục hiện tại.

>> người hiển thị các biến của không gian làm việc hiện tại.

>> whos hiển thị thông tin về các biến hiện tại.

>> dir liệt kê các tập tin trong thư mục hiện tại.

>> save lưu tất cả các biến hiện tại trong tệp MATLAB.mat trong thư mục hiện tại.

>> tải tải các biến từ MATLAB.mat vào phiên hiện tại.

>> nhật ký lưu văn bản (lệnh) và kết quả tính toán của phiên hiện tại (nhật ký phiên) trong một tệp có tên nhật ký.

>> tên tệp nhật ký lưu phiên hiện tại trong một tệp có tên filename.

>> tắt nhật ký sẽ tạm dừng ghi vào tập tin.

>> bật nhật ký cho phép ghi phiên vào một tập tin.

1.Cửa sổ lệnh(Cửa sổ lệnh).

Các biểu thức toán học được viết trên dòng lệnh sau dấu nhắc " >> ". Ví dụ,

Để thực hiện hành động, nhấn phím “Enter”.

Theo mặc định, chương trình ghi kết quả vào biến đặc biệt ans.

Để lưu kết quả dưới một tên khác, hãy sử dụng tên biến và dấu gán “=”, ví dụ

>> z = 1,25 /3,11

Chỉnh sửa trong Cửa sổ lệnh Bạn chỉ có thể sử dụng dòng lệnh hiện tại. Để chỉnh sửa lệnh đã nhập trước đó, bạn cần đặt con trỏ vào dòng đầu vào và sử dụng phím “ ” hoặc “”.

Nếu một lệnh kết thúc bằng “;”, thì kết quả hành động của nó không được hiển thị trên dòng lệnh.

Cửa sổ lệnh có thể được đóng bằng nút “ ” và nút “ ” dùng để tách cửa sổ khỏi giao diện hệ thống. Bạn có thể quay lại dạng cửa sổ tiêu chuẩn bằng cách sử dụng menu:

Thực đơn chínhMáy tính để bànBố cục máy tính để bànMặc định.

Bạn có thể xóa cửa sổ lệnh bằng menu:

Thực đơn chínhBiên tậpXóa cửa sổ lệnh.

Menu chính của hệ thống MatLab.

Thực đơn chính MatLab chứa các mục sau:

Tài liệu(Tệp) – làm việc với các tệp;

Biên tập(Chỉnh sửa) – chỉnh sửa;

Xem(Xem) – quản lý cửa sổ;

Web– liên lạc với công ty phát triển qua Internet;

Cửa sổ(Cửa sổ) – kết nối với các cửa sổ hệ thống;

Giúp đỡ(Trợ giúp) – liên kết đến hệ thống trợ giúp MatLab.

Thanh công cụ hệ thống MATLAB.

Các nút trên thanh công cụ có các mục đích sau:

Tập tin mới(Mới) – hiển thị các cửa sổ soạn thảo tập tin;

Mở tập tin(Mở) – mở cửa sổ tải tập tin;

Cắt(Cắt) – cắt đoạn đã chọn và đặt nó vào bảng tạm;

Sao chép(Sao chép) – sao chép đoạn đã chọn vào bảng nhớ tạm;

Dán(Dán) – chuyển đoạn đã chọn từ bảng ghi tạm sang dòng đầu vào;

Hoàn tác(Hủy) – hủy kết quả của thao tác trước đó;

Làm lại(Lặp lại) – lặp lại kết quả của thao tác trước đó;

Simulink– tạo mô hình Simulink (phần mở rộng MatLab);

Cửa sổ trợ giúp(Trợ giúp) – mở cửa sổ trợ giúp.

4. Định dạng đầu ra của kết quả tính toán .



Khi nhập số thực người ta dùng dấu chấm để phân cách phần phân số!

>> s = 0,3467819

Kết quả tính toán được hiển thị dưới dạng ngắn(ký hiệu ngắn cho một số), được xác định theo mặc định. Bạn có thể thay đổi định dạng thành dài(ký hiệu số dài).

>> định dạng dài

0.34678190000000

Trên danh sách Định dạng sốđịnh dạng số có sẵn

ngắn- ký hiệu ngắn gọn về số;

dài- ký hiệu số dài;

ngắn e– ký hiệu ngắn gọn của một số ở định dạng dấu phẩy động;

dài e– bản ghi dài của một số ở định dạng dấu phẩy động;

g ngắn– dạng thứ hai của ký hiệu ngắn của một số;

dài g– dạng thứ hai của ký hiệu dài của một số;

Định dạng hiển thị dữ liệu số có thể được thiết lập trong menu Tài liệu(tập tin) mục Sở thích(sở thích). Chuyển đến tab Cửa sổ lệnh(cửa sổ lệnh). Trong tùy chọn Hiển thị văn bản(hiển thị văn bản), trong danh sách Định dạng số(định dạng số) được đặt g ngắn, trong tùy chọn Hiển thị số(số hiển thị) được đặt gọn nhẹ. Các đầu ra này định dạng các số đầu ra ở dạng phổ quát gồm năm chữ số có nghĩa và loại bỏ khoảng trắng giữa các dòng.

Tính toán cơ bản trong MatLab.

Để thực hiện các phép tính số học đơn giản trong MatLab toán tử được sử dụng:

· phép cộng và phép trừ +, – ;

· nhân chia *, / ;

· lũy thừa ^ .

Một số biến đặc biệt:

ans – kết quả của thao tác cuối cùng không có dấu gán;

eps – lỗi tương đối trong tính toán dấu phẩy động;

pi - số;

i hoặc j – đơn vị ảo;

Inf - vô cùng;

NaN – giá trị không xác định.

Một số hàm cơ bản tích hợpMatLab:

exp(x) – số mũ của số x;

log(x) – logarit tự nhiên của số x;

sqrt(x) – căn bậc hai của số x;

abs(x) – mô đun của số x;

sin(x), cos(x), tan(x), cot(x) – sin, cos, tang, cotang của số x;

asin(x), acos(x), atan(x), acot(x) – arcsine, arccosine, arctangent, arccotang của số x;

sec(x), csc(x) – secant, cosec của số x;

round(x) – làm tròn số x đến số nguyên gần nhất;

mod(x,y) – phần dư của phép chia số nguyên của x cho y, có xét đến dấu;

sign(x) – trả về dấu của số x.

Hãy tính giá trị của biểu thức

>> exp(–2.5)*log(11.3)^0.3 – sqrt((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))

Nếu toán tử không thể được đặt trên một dòng thì có thể tiếp tục nhập toán tử đó vào dòng tiếp theo nếu bạn chỉ ra dấu hiệu tiếp tục “…” ở cuối dòng đầu tiên, ví dụ:

>> exp(–2.5)*log(11.3)^0.3 – ...

sqrt((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))

Các hàm làm việc với số phức:

Nhập số phức

>> z = 3 + 4i

3,0000 + 4,0000i

Các hàm abs(z), góc(z) trả về môđun và đối số của một số phức, trong đó , ;

complex(a,b) xây dựng một số phức từ phần thực và phần ảo của nó:

conj(z)trả về số liên hợp phức;

imag(z), real(z) trả về phần ảo và phần thực của số phức z.

6. Vectơ.

Nhập, cộng, trừ, nhân với một số.

Vectơ trong MatLabđược hình thành bằng cách sử dụng toán tử dấu ngoặc vuông. Trong trường hợp này, các phần tử của vectơ cột được phân tách bằng dấu chấm phẩy “;”, và các phần tử của vectơ hàng được phân tách bằng dấu cách “” hoặc dấu phẩy “,”.

Hãy giới thiệu một vectơ cột.

>> x =

Hãy giới thiệu một vectơ hàng .

>> y =

Để chuyển đổi một vectơ, hãy sử dụng dấu nháy đơn “’”:

>> z = y’

Để tìm tổng và hiệu của các vectơ, hãy sử dụng dấu “+” và “–”:

>> c = x + z

Phép nhân vectơ với một số được thực hiện ở cả bên phải và bên trái bằng dấu “*”.

Các vectơ có thể là đối số cho các hàm dựng sẵn, ví dụ:

>> d = sin(c)

Để chỉ các phần tử của vectơ, dấu ngoặc đơn () được sử dụng, ví dụ:

>> x_2 = x(2)

Phần tử cuối cùng của vectơ có thể được chọn bằng cách gõ lệnh

>> X_end = x(kết thúc)

Từ một số vectơ bạn có thể tạo một vectơ, ví dụ

>> r =

1.3 5.4 6.9 7.1 3.5 8.2

Ví dụ: ký tự dấu hai chấm " : " được sử dụng để phân tách nhiều phần tử khỏi một vectơ

>> w = r(3:5)

Ký tự dấu hai chấm " : " cũng cho phép bạn thay thế các phần tử của vectơ, ví dụ:

>> r(3:5)= 0

1.3 5.4 0 0 0 8.2

Ký hiệu “:” cũng có thể được sử dụng để xây dựng một vectơ, mỗi phần tử của vectơ này khác với phần tử trước đó một số không đổi, tức là bước chẳng hạn

>> h =

1 1.2 1.4 1.6 1.8 2

Bước này có thể âm (trong trường hợp này, số bắt đầu phải lớn hơn số cuối cùng).

Một bước bằng một có thể được bỏ qua

>> k =

Các hàm cơ bản để làm việc với vectơ.

  • length(x) – xác định độ dài của vectơ x;
  • prod(x) – phép nhân tất cả các phần tử của vectơ x;
  • sum(x) – tổng của tất cả các phần tử của vectơ x;
  • max(x) – tìm phần tử lớn nhất của vectơ x;
  • min(x) – tìm phần tử nhỏ nhất của vectơ x.

Nếu bạn gọi hàm min hoặc max với hai đối số đầu ra = min(x),

sau đó biến đầu tiên được gán giá trị của phần tử tối thiểu (tối đa) và biến thứ hai được gán số lượng của phần tử này.

7 ma trận.

Các phương thức nhập ma trận khác nhau.

1. Một ma trận có thể được nhập dưới dạng vectơ cột gồm hai phần tử, mỗi phần tử là vectơ hàng và được phân tách bằng dấu chấm phẩy. Ví dụ: hãy giới thiệu ma trận

>> A =

2. Có thể nhập ma trận theo từng dòng bằng cách thực hiện chuỗi lệnh:

>> A = . Để có được giải pháp tại các thời điểm cụ thể t 0 , t 1 , …, trận chung kết(sắp xếp theo thứ tự giảm dần hoặc tăng dần) phải sử dụng tspan = [t 0 t 1 … trận chung kết];

y 0 vectơ điều kiện ban đầu;

Đối số tùy chọn được tạo bởi hàm odeset (một hàm odeget hoặc bvpget khác (chỉ bvp4c) cho phép bạn in các tùy chọn được đặt theo mặc định hoặc theo hàm odeset/bvpset);

P 1, P 2,... tham số tùy ý truyền vào hàm F;

T, Y ma trận quyết định Y, trong đó mỗi hàng tương ứng với thời gian được trả về trong vectơ cột T.

Hãy chuyển sang phần mô tả cú pháp của các hàm để giải các hệ thống điều khiển từ xa (tên bộ giải có nghĩa là bất kỳ hàm nào được trình bày ở trên).

[T,Y]=người giải(@ F,tspan,y 0) tích hợp hệ thống điều khiển từ xa dạng y′ = F(t, y) trên khoảng tspan với điều kiện ban đầu y 0 . @F mô tả của một hàm ODE (bạn cũng có thể chỉ định một hàm ở dạng " F"). Mỗi hàng trong mảng giải pháp Y tương ứng với giá trị thời gian trả về trong vector cột T.

[T,Y]=người giải(@ F,tspan,y 0 ,options) đưa ra giải pháp tương tự như giải pháp được mô tả ở trên, nhưng với các tùy chọn được xác định bởi các giá trị của đối số tùy chọn được tạo bởi hàm odeset. Các tham số thường được sử dụng bao gồm dung sai lỗi tương đối RelTol (mặc định 1e3) và vectơ dung sai tuyệt đối AbsTol (tất cả các thành phần mặc định là 1e6).

[T,Y]=người giải(@ F,tspan,y 0, tùy chọn P 1 ,P 2...) đưa ra giải pháp tương tự như giải pháp được mô tả ở trên, chuyển các tham số bổ sung P 1 , P 2 trong tôi-tài liệu F bất cứ khi nào nó được gọi. Sử dụng options= nếu không có tùy chọn nào được chỉ định.

Giải pháp ODE bậc một

QUY TRÌNH THỰC HIỆN CÔNG VIỆC

· trang tiêu đề;

· dữ liệu ban đầu của quyền chọn;

· giải pháp của vấn đề;

· kết quả giải quyết vấn đề.

Ví dụ

Tìm nghiệm của phương trình vi phân trên đoạn đó Tại(1,7) = 5,3.

Tạo chức năng người dùng trong Cửa sổ lệnh

g=@(x,y);

Trong cú pháp hàm @(x,y) x biến độc lập y biến phụ thuộc x-cos( y/số Pi) bên phải của điều khiển từ xa.

Quá trình giải được thực hiện bằng cách truy cập bộ giải (solver) trong Cửa sổ lệnh bằng toán tử sau:

Ode23(g,,);

Việc xây dựng biểu đồ có lưới được thực hiện bởi các toán tử sau:

Kết quả được hiển thị trong hình. 1.1

Cơm. 1.2.1. Trực quan hóa giải pháp số

BÀI TẬP

1. Tìm nghiệm của phương trình vi phân cấp một , thỏa mãn điều kiện ban đầu y(x 0 ) = y 0 trên khoảng [ Một,b].

2. Xây dựng đồ thị của hàm số.

Tùy chọn tác vụ.

Tùy chọn số y(x 0 )=y 0 [Một,b]
y 0 (1,8)=2,6
y 0 (0,6)=0,8
y 0 (2,1)=2,5
y 0 (0,5)=0,6
y 0 (1,4)=2,2
y 0 (1,7)=5,3
y 0 (1,4)=2,5
y 0 (1,6)=4,6
y 0 (1,8)=2,6
y 0 (1,7)=5,3
y 0 (0,4)=0,8
y 0 (1,2)=1,4

Phòng thí nghiệm số 2

Giải hệ thống ODE

MỤC TIÊU CÔNG VIỆC

Hình thành ý tưởng của học sinh về việc sử dụng hệ thống điều khiển từ xa trong các lĩnh vực khác nhau; bồi dưỡng khả năng giải bài toán Cauchy cho hệ thống điều khiển từ xa.

QUY TRÌNH THỰC HIỆN CÔNG VIỆC

1. Nghiên cứu phần lý thuyết. Hoàn thành các nhiệm vụ tương ứng với số lựa chọn của bạn và trình bày cho giáo viên.

2. Hoàn thành một báo cáo thí nghiệm, trong đó phải có:

· trang tiêu đề;

· dữ liệu ban đầu của quyền chọn;

· giải pháp của vấn đề;

· kết quả giải quyết vấn đề.

Ví dụ

Giải quyết hệ thống

sử dụng bộ giải ode23().

Giải pháp:

1. Tạo tệp m của hàm tính toán cạnh phải của điều khiển từ xa trong trình chỉnh sửa.

Đặt tên trong trình chỉnh sửa tệp là sisdu.m, khi đó hàm có thể trông như thế này:

hàm z=sisdu(t,y)

z1=-3*y(2)+cos(t)-exp(t);

z2=4*y(2)-cos(t)+2*exp(t);

>> t0=0;tf=5;y0=[-3/17,4/17];

>> =ode23("sisdu",,y0);

>>cốt truyện(t,y)

Cơm. 1.3.1. Trực quan hóa nghiệm số thu được bằng hàm ode23.

1. Việc giải bài toán Cauchy cho hệ thống điều khiển từ xa có ý nghĩa gì?

2. Có những phương pháp nào để giải quyết hệ thống điều khiển từ xa?

BÀI TẬP

1. Tìm giải pháp cho hệ thống điều khiển từ xa

thỏa mãn điều kiện ban đầu trên khoảng ;

2. Xây dựng đồ thị hàm số.

Ví dụ: hàm giải cho phương án thứ 8 được cho:

hàm z=ssisdu(t,y)

% tùy chọn 8

z1=-a*y(1)+a*y(2);

z2=a*y(1)-(a-m)*y(2)+2*m*y(3);

z3=a*y(2)-(a-m)*y(3)+3*m*y(4);

z4=a*y(3)-3*m*y(4);

>> =ode23("ssisdu",,);

>> cốt truyện(t,100*y)

Cơm. 1.3.2. Trực quan hóa nghiệm số thu được bằng hàm ode23.

Tùy chọn tác vụ.

Tùy chọn số Nhiệm vụ
Một tôi
0,1 1,2
0,2 1,5
0,3 1,7
0,4 1,9
0,5
0,6 1,9
0,7 2,3
0,8 2,7
0,9
0,1 1,5
0,2 1,1
0,3

Phòng thí nghiệm số 3

1.4 Giải pháp ODE N-thứ tự

MỤC TIÊU CÔNG VIỆC

Hình thành ý tưởng của học sinh về ứng dụng điều khiển từ xa bậc cao trong các lĩnh vực khác nhau; rèn luyện khả năng giải bài toán Cauchy cho phương trình vi phân bậc cao bằng chương trình ứng dụng; phát triển kỹ năng kiểm tra kết quả thu được.

QUY TRÌNH THỰC HIỆN CÔNG VIỆC

1. Nghiên cứu phần lý thuyết. Hoàn thành các nhiệm vụ tương ứng với số lựa chọn của bạn và trình bày cho giáo viên.

2. Hoàn thành một báo cáo thí nghiệm, trong đó phải có:

· trang tiêu đề;

· dữ liệu ban đầu của quyền chọn;

· giải pháp của vấn đề;

· kết quả giải quyết vấn đề.

Ví dụ 1.

Giải phương trình vi phân bậc hai cho trước điều kiện ban đầu .

Giải pháp:

Đầu tiên chúng ta đưa điều khiển từ xa vào hệ thống:

1. Tạo m-file của hàm tính cạnh phải của điều khiển từ xa.

Đặt tên tệp là sisdu_3.m, khi đó hàm có thể trông như thế này:

hàm z=sisdu_3(x,y)

z2=6*x*exp(x)+2*y(2)+y(1);

2. Thực hiện các bước sau:

>> x0=0;xf=10;y0=;

>> =ode23("sisdu_3",,y0);

>> cốt truyện(x,y(:,1))

Cơm. 1.4.1. Trực quan hóa nghiệm số thu được bằng hàm ode23.

CÁC CÂU HỎI MẪU ĐỂ BẢO VỆ CÔNG VIỆC

1. Việc giải bài toán Cauchy cho phương trình vi phân bậc cao có ý nghĩa gì?

2. Cách mang theo điều khiển từ xa tôi-Thứ tự cho hệ thống điều khiển từ xa?

BÀI TẬP

1. Tìm nghiệm của phương trình vi phân thỏa mãn điều kiện ban đầu trên đoạn.

2. Xây dựng đồ thị hàm số.

Tùy chọn tác vụ.

Tùy chọn số Nhiệm vụ
phương trình Điều kiện ban đầu







Phòng thí nghiệm số 4 – 5

Hệ thống động (DS)

MỤC TIÊU CÔNG VIỆC

Giới thiệu cho sinh viên các khái niệm cơ bản về DS, phân loại, không gian pha của DS, giải thích động học của hệ thống DS, sự phát triển của DS. Phương trình chuyển động của con lắc. Động lực học của bộ dao động Van der Pol.

2. Hệ thống động lực (DS) một đối tượng toán học tương ứng với các hệ thống thực (vật lý, hóa học, sinh học, v.v.), sự phát triển của hệ thống này được xác định duy nhất bởi trạng thái ban đầu. DS được xác định bởi một hệ phương trình (vi phân, hiệu, tích phân, v.v.) cho phép tồn tại một nghiệm duy nhất cho mỗi điều kiện ban đầu trong một khoảng thời gian vô hạn.

Trạng thái của DS được mô tả bởi một tập hợp các biến được chọn vì lý do diễn giải chúng một cách tự nhiên, đơn giản trong mô tả, tính đối xứng, v.v. Tập hợp các trạng thái của DS tạo thành một không gian pha, mỗi trạng thái tương ứng với một điểm trong đó và sự tiến hóa được mô tả bằng quỹ đạo (pha). Để xác định khoảng cách của các trạng thái, khái niệm khoảng cách được đưa ra trong không gian pha DS. Một tập hợp các trạng thái tại một thời điểm cố định được đặc trưng bởi thể tích pha.

Việc mô tả DS theo nghĩa xác định quy luật tiến hóa cũng cho phép có sự đa dạng lớn: nó được thực hiện bằng cách sử dụng các phương trình vi phân, ánh xạ rời rạc, sử dụng lý thuyết đồ thị, lý thuyết chuỗi Markov, v.v. Việc lựa chọn một trong các phương pháp mô tả sẽ xác định loại mô hình toán học cụ thể của DS tương ứng.

Mô hình toán học của DSđược coi là đã cho nếu các biến động (tọa độ) của hệ thống được đưa vào xác định duy nhất trạng thái của nó và quy luật tiến hóa của trạng thái theo thời gian được chỉ ra.

Tùy thuộc vào mức độ gần đúng, các mô hình toán học khác nhau có thể được gán cho cùng một hệ thống. Việc nghiên cứu các hệ thống thực đi theo con đường nghiên cứu các mô hình toán học tương ứng, việc cải tiến và phát triển chúng được xác định bằng việc phân tích các kết quả thực nghiệm, lý thuyết và so sánh chúng. Về vấn đề này, thông qua một hệ thống động, chúng ta sẽ hiểu chính xác mô hình toán học của nó. Bằng cách nghiên cứu cùng một hệ động lực (ví dụ, chuyển động của một con lắc), tùy thuộc vào mức độ tính đến các yếu tố khác nhau, chúng ta sẽ thu được các mô hình toán học khác nhau.

Mục tiêu của công việc: làm quen với các lệnh cơ bản của hệ thống MATLAB

Sổ tay phòng thí nghiệm

MATLAB LÀ GÌ?

MATLAB là một ngôn ngữ hiệu suất cao để tính toán kỹ thuật. Nó bao gồm các phép tính, trực quan hóa và lập trình trong một môi trường thân thiện với người dùng, nơi các vấn đề và giải pháp được thể hiện dưới dạng gần giống với toán học. Sử dụng điển hình MATLAB- Cái này:

    Tính toán toán học;

    tạo ra các thuật toán;

    làm người mẫu;

    phân tích, nghiên cứu và trực quan hóa dữ liệu;

    đồ họa khoa học và kỹ thuật;

    phát triển ứng dụng, bao gồm cả việc tạo giao diện đồ họa.

MATLAB là một hệ thống tương tác trong đó phần tử dữ liệu chính là một mảng. Điều này cho phép bạn giải quyết các vấn đề tính toán kỹ thuật khác nhau, đặc biệt là các vấn đề liên quan đến ma trận và vectơ, nhanh hơn nhiều lần so với việc viết chương trình bằng các ngôn ngữ lập trình “vô hướng” như hoặc Fortran .

Từ MATLAB có nghĩa là phòng thí nghiệm ma trận ( phòng thí nghiệm ma trận ). MATLABđược viết đặc biệt để cung cấp khả năng truy cập dễ dàng vào LINPACKEISPACK, là những công cụ phần mềm hiện đại để tính toán ma trận.

MATLAB đã phát triển qua nhiều năm, tập trung vào những người dùng khác nhau. Trong môi trường đại học, nó là một công cụ tiêu chuẩn để làm việc trong nhiều lĩnh vực toán học, kỹ thuật và khoa học. Trong công nghiệp, MATLAB là một công cụ để nghiên cứu, phát triển và phân tích dữ liệu hiệu quả cao.

TRONG MATLAB Một vai trò quan trọng được thực hiện bởi các nhóm chương trình chuyên biệt được gọi là hộp công cụ. Chúng rất quan trọng đối với hầu hết người dùng MATLAB, vì chúng cho phép bạn nghiên cứu và áp dụng các phương pháp chuyên biệt. Hộp công cụ là một tập hợp đầy đủ các tính năng MATLAB(M-files), cho phép giải quyết các loại vấn đề cụ thể. Hộp công cụ được sử dụng để xử lý tín hiệu, hệ thống điều khiển, mạng lưới thần kinh, logic mờ, wavelet, mô hình hóa, v.v.

HỆ THỐNG MATLAB

Hệ thống MATLAB bao gồm năm phần chính:

    Ngôn ngữ MATLAB. Nó là ngôn ngữ mảng và ma trận cấp cao với tính năng quản lý luồng, chức năng, cấu trúc dữ liệu, I/O và các tính năng lập trình hướng đối tượng. Điều này cho phép bạn lập trình cả “quy mô nhỏ” để tạo nhanh các chương trình thô và “quy mô lớn” để tạo các ứng dụng lớn và phức tạp.

    Thứ Tư MATLAB . Đây là một bộ công cụ và thiết bị mà người dùng hoặc lập trình viên làm việc vớiMATLAB . Nó bao gồm các công cụ để quản lý các biến trong không gian làm việcMATLAB , đầu vào và đầu ra dữ liệu, đồng thời tạo, giám sát và gỡ lỗi các tệp M và ứng dụng MATLAB.

    Đồ họa được điều khiển Đây là một hệ thống đồ họaMATLAB , bao gồm các lệnh cấp cao để trực quan hóa dữ liệu 2D và 3D, xử lý hình ảnh, hoạt ảnh và đồ họa minh họa. Nó cũng bao gồm các lệnh cấp thấp cho phép bạn chỉnh sửa hoàn toàn hình thức đồ họa, giống như khi bạn tạoGiao diện đồ họa người dùng (GUI) Vì MATLAB các ứng dụng.

    Thư viện các hàm toán học. Đây là một tập hợp phong phú các thuật toán tính toán từ các hàm cơ bản như tổng, sin, cosin, số học phức tạp đến các thuật toán phức tạp hơn như nghịch đảo ma trận, tìm giá trị riêng, hàm Bessel và biến đổi Fourier nhanh.

Giao diện phần mềm. Đây là thư viện cho phép bạn viết chương trình bằngFortran tương tác vớiMATLAB . Nó bao gồm các phương tiện để gọi các chương trình từMATLAB (kết nối động), gọi điệnMATLAB như một công cụ tính toán và để đọc và ghi các tệp MAT.

GIỚI THIỆU SIMULINK

Simulink, đi kèm MATLAB chương trình là một hệ thống tương tác để mô hình hóa các hệ thống động phi tuyến. Đó là môi trường được điều khiển bằng chuột cho phép bạn mô phỏng một quy trình bằng cách kéo và thao tác các khối sơ đồ trên màn hình.Simulink làm việc với các hệ thống tuyến tính, phi tuyến, liên tục, rời rạc, đa chiều.

Khối - đây là những bổ sung choSimulink , cung cấp các thư viện khối cho các ứng dụng chuyên biệt như truyền thông, xử lý tín hiệu, hệ thống điện.

Hội thảo thời gian thực là một chương trình cho phép bạn tạoVỚI mã từ các khối sơ đồ và chạy chúng trên các hệ thống thời gian thực khác nhau.

Ma trận và hình vuông ma thuật

Cách tốt nhất để bắt đầu là với MATLAB- là học cách xử lý ma trận. TRONG MATLAB ma trận là một mảng số hình chữ nhật. Tầm quan trọng đặc biệt được dành cho ma trận 1x1, là ma trận vô hướng và ma trận có một cột hoặc một hàng, được gọi là vectơ. MATLAB sử dụng nhiều cách khác nhau để lưu trữ dữ liệu số và không phải số, nhưng lúc đầu, tốt nhất nên coi tất cả dữ liệu là ma trận. MATLABđược tổ chức sao cho mọi hoạt động trong đó diễn ra tự nhiên nhất có thể. Trong khi các ngôn ngữ lập trình khác làm việc với các con số là thành phần ngôn ngữ, MATLAB cho phép bạn thao tác nhanh chóng và dễ dàng toàn bộ ma trận.

Một ví dụ điển hình về ma trận có thể được tìm thấy trong một bản khắc từ thời Phục hưng của một nghệ sĩ và một người đam mê toán học. Albrecht Durer . Hình ảnh này chứa rất nhiều ký hiệu toán học và nếu nhìn kỹ bạn có thể thấy một ma trận vuông ở góc trên bên phải. Ma trận này được gọi là hình vuông ma thuật và vào thời Dürer, nó được cho là có đặc tính ma thuật. Nó thực sự có những đặc tính đáng chú ý đáng để nghiên cứu.

NHẬP MA TRẬN

Bạn có thể nhập ma trận vào MATLAB theo nhiều cách:

    nhập danh sách đầy đủ các phần tử;

    tải ma trận từ các tập tin bên ngoài;

    tạo ma trận bằng các hàm dựng sẵn;

    tạo ma trận bằng các hàm của riêng bạn trong M-files.

Hãy bắt đầu bằng cách giới thiệu ma trận Durer dưới dạng danh sách các phần tử. Bạn phải tuân theo một số điều kiện cơ bản:

    phân tách các phần tử chuỗi bằng dấu cách hoặc dấu phẩy

    sử dụng dấu chấm phẩy, ; , để đánh dấu sự kết thúc của mỗi dòng

    bao quanh toàn bộ danh sách các phần tử bằng dấu ngoặc vuông, .

Để nhập một ma trận Durer chỉ cần viết (Hình 1.1):

A=

MATLAB sẽ hiển thị ma trận chúng ta đã nhập,

A=

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

Cơm. 1.1 Ví dụ đoạn cửa sổ lệnh MATLAB

Điều này khớp chính xác với các con số trên bản khắc. Nếu chúng ta nhập một ma trận, nó sẽ tự động được môi trường ghi nhớ MATLAB. Và chúng ta có thể dễ dàng gọi cô ấy là MỘT. Bây giờ chúng ta chúng ta có MỘT trong không gian làm việcMATLAB(Hình 1.2)

Cơm. 1.2 Ví dụ về đoạn không gian làm việc của MATLAB

HOẠT ĐỘNG TỔNG CÁC PHẦN MỀM, CHUYỂN VỊ VÀ ĐƯỜNG CHÉO CỦA MA TRẬN

Bạn có thể đã biết rằng các tính chất đặc biệt của hình vuông ma thuật có liên quan đến những cách khác nhau để tính tổng các phần tử của nó. Nếu bạn lấy tổng các phần tử dọc theo hàng hoặc cột bất kỳ hoặc dọc theo bất kỳ đường chéo chính nào, bạn sẽ luôn nhận được cùng một số. Hãy kiểm tra điều này bằng cách sử dụng MATLAB. Tuyên bố đầu tiên chúng tôi sẽ kiểm tra là

tổng (A)

MATLAB sẽ đưa ra câu trả lời

trả lời =

34 34 34 34

Khi biến đầu ra không được xác định, MATLAB sử dụng một biến đáp, viết tắt của đáp án - đáp án để lưu trữ kết quả tính toán. Chúng tôi đã tính toán một vectơ hàng chứa tổng các phần tử của các cột ma trận MỘT. Thật vậy, mỗi cột có tổng bằng nhau, tổng kỳ diệu là 34.

Còn số lượng hàng thì sao? MATLAB thích làm việc với các cột của ma trận, vì vậy cách tốt nhất để lấy tổng trong các hàng là hoán vị ma trận của chúng ta, tính tổng trong các cột rồi hoán vị kết quả. Hoạt động chuyển vị được biểu thị bằng dấu nháy đơn hoặc dấu ngoặc đơn. Nó lật ma trận xung quanh đường chéo chính và hoán đổi các hàng thành các cột. Như vậy

MỘT'

nguyên nhân

trả lời =

16 5 9 4

3 10 6 15

2 11 7 14

13 8 12 1

Và sự biểu hiện

tổng(A')'

làm cho kết quả là một vectơ cột chứa tổng trong các hàng

trả lời =

34

34

34

34

Tổng các phần tử trên đường chéo chính có thể dễ dàng tính được bằng hàm chẩn đoán, chọn đường chéo này.

chẩn đoán (A)

trả lời =

16

10

7

1

một chức năng

tổng(diag(A))

nguyên nhân

trả lời =

34

Vì vậy, chúng tôi đã kiểm tra rằng ma trận trên bản khắc Durer thực sự kỳ diệu và học cách sử dụng một số phép toán ma trận MATLAB. Trong các phần tiếp theo, chúng tôi sẽ tiếp tục sử dụng ma trận này để chứng minh các khả năng bổ sung. MATLAB .

CHỈ SỐ

Phần tử trong dòng Tôi và cột j ma trận MỘTđóng góp bởi MỘT(tôi, j). Ví dụ, MỘT(4,2) là số ở hàng thứ tư và cột thứ hai. Đối với hình vuông ma thuật của chúng tôi MỘT(4,2) = 15. Như vậy ta tính được tổng các phần tử ở cột thứ 4 của ma trận MỘT bằng cách gõ

A(1,4) + A(2,4) + A(3,4) + A(4,4)

trả lời =

34

Tuy nhiên, đây không phải là cách tốt nhất để tính tổng một hàng.

Cũng có thể truy cập các phần tử ma trận thông qua một chỉ mục duy nhất, MỘT(k). Đây là cách phổ biến để chỉ các hàng và cột của ma trận. Nhưng nó chỉ có thể được sử dụng với ma trận hai chiều. Trong trường hợp này, mảng được coi là một vectơ dài được hình thành từ các cột của ma trận ban đầu.

Vì vậy, đối với hình vuông ma thuật của chúng ta, MỘT(8) là một cách khác để chỉ giá trị 15 được lưu trữ trong MỘT(4,2).

Nếu bạn đang cố gắng sử dụng giá trị của một phần tử bên ngoài ma trận, MATLAB sẽ báo lỗi:

t=A(4.5)

??? Index vượt quá kích thước ma trận.

Mặt khác, nếu bạn lưu trữ một giá trị bên ngoài ma trận thì kích thước của ma trận sẽ tăng lên.

X=A;

X(4,5) = 17

X =

16 3 2 13 0

5 10 11 8 0

9 6 7 12 0

4 15 14 1 17

toán tử đại tràng

Dấu hai chấm, : , là một trong những toán tử quan trọng nhấtMATLAB . Nó biểu hiện dưới nhiều hình thức khác nhau. Sự biểu lộ

1:10

trả lời =

1 2 3 4 5 6 7 8 9 10

Để có được khoảng nghịch đảo, chúng tôi mô tả mức tăng. Ví dụ

100:-7:50

trả lời =

100 93 86 79 72 65 58 51

0:pi/4:pi

dẫn đến

trả lời =

0 0.7854 1.5708 2.3562 3.1416

Biểu thức chỉ mục, bao gồm cả dấu hai chấm, đề cập đến một phần của ma trận. MỘT(1:k,j) là k phần tử đầu tiên j cột ma trận thứ MỘT.

Vì thế tổng(A(4, 1:4))
tính tổng của hàng thứ tư. Nhưng có một cách tốt hơn. Bản thân dấu hai chấm đề cập đến tất cả các phần tử trong hàng và cột của ma trận và từ kết thúc - đến hàng hoặc cột cuối cùng. Vì thế

tổng (A(:,cuối))

tính tổng các phần tử ở cột cuối cùng của ma trận MỘT

trả lời =

34

Tại sao tổng kỳ diệu của hình vuông 4x4 là 34? Nếu các số nguyên từ 1 đến 16 được sắp xếp thành bốn nhóm có tổng bằng nhau thì tổng đó phải là

tổng(1:16)/4

tất nhiên là bằng nhau

trả lời =

34

CHỨC NĂNG MA THUẬT

MATLAB thực sự có một chức năng tích hợp để tạo ra một hình vuông ma thuật có kích thước gần như bất kỳ. Không có gì đáng ngạc nhiên, chức năng này được gọi là ảo thuật.

B=ma thuật(4)

B=

16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

Ma trận này gần giống với ma trận trong bản khắc Durer , và nó có tất cả các đặc tính kỳ diệu tương tự. Điểm khác biệt duy nhất là hai cột ở giữa đã đổi chỗ cho nhau. Để chuyển đổi TRONG vào ma trận Durer
MỘT, hãy sắp xếp lại chúng.

A=B(:,)

Điều này có nghĩa là với mỗi hàng của ma trận TRONG các phần tử được viết lại theo thứ tự 1, 3, 2, 4

A=

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

Tại sao Durer sắp xếp lại các cột so với những gì nó sử dụngMATLAB ? Không còn nghi ngờ gì nữa, ông ấy muốn ghi ngày khắc, 1514, ở dưới cùng của hình vuông ma thuật.

BIỂU THỨC

Giống như hầu hết các ngôn ngữ lập trình khác, MATLAB cung cấp khả năng sử dụng các biểu thức toán học, nhưng không giống như nhiều biểu thức khác, những biểu thức này trong MATLAB bao gồm cả ma trận. Các thành phần chính của biểu thức:

    biến

    toán tử

BIẾN

TRONG MATLAB không cần xác định loại hoặc thứ nguyên biến. Khi MATLAB gặp một tên biến mới, nó sẽ tự động tạo biến đó và phân bổ lượng bộ nhớ thích hợp. Nếu biến đã tồn tại, MATLAB thay đổi thành phần của nó và nếu cần thiết sẽ phân bổ bộ nhớ bổ sung. Ví dụ,

num_students = 25

tạo ma trận 1x1 có tên num_students và lưu trữ giá trị 25 trong phần tử duy nhất của nó.

Tên biến bao gồm các chữ cái, số hoặc dấu gạch dưới. MATLAB chỉ sử dụng 31 ký tự đầu tiên của tên biến. MATLAB Phân biệt chữ hoa chữ thường, nó phân biệt chữ hoa và chữ thường. Đó là lý do tại sao MỘTMỘT– không cùng một biến. Để xem ma trận liên kết với một biến, chỉ cần nhập tên biến.

SỐ

MATLAB sử dụng hệ thống số thập phân thông thường, với dấu thập phân tùy chọn và dấu cộng/trừ cho số. Hệ thống số khoa học sử dụng chữ cái eđể xác định số nhân của lũy thừa mười. Số ảo được sử dụng Tôi hoặc j như một hậu tố.

Tất cả các số được lưu trữ bằng định dạng dài được xác định theo tiêu chuẩn dấu phẩy động IEE. Số dấu phẩy động có độ chính xác giới hạn khoảng 16 chữ số có nghĩa và phạm vi giới hạn khoảng 10 -308 đến 10308 (Máy tính VAX sử dụng định dạng dấu phẩy động khác, nhưng độ chính xác và phạm vi của chúng gần như nhau).

NGƯỜI ĐIỀU HÀNH

Biểu thức sử dụng các phép tính số học thông thường và các quy tắc ưu tiên.

Phép cộng

– phép trừ

* phép nhân

/ phân công

\ phép chia trái (được mô tả ở phần Ma trận và Đại số tuyến tính trong sách

“Sử dụng MATLAB”)

^ độ

‘ chuyển vị liên hợp phức tạp

() xác định thứ tự tính toán

CHỨC NĂNG

MATLAB cung cấp một số lượng lớn các hàm toán học cơ bản như abs, sqrt, exp, tội lỗi. Tính căn bậc hai hoặc logarit của một số âm không phải là một lỗi: trong trường hợp này, kết quả là số phức tương ứng. MATLAB cũng cung cấp các hàm phức tạp hơn, bao gồm hàm Gamma và hàm Bessel. Hầu hết các hàm này đều có đối số phức tạp. Để liệt kê tất cả các hàm toán học cơ bản, hãy nhập

giúp đỡ

Để hiển thị các hàm ma trận và toán học phức tạp hơn, hãy nhập

giúp đỡ

giúp đỡ elmat

tương ứng.

Một số tính năng như mét vuôngtội, -được xây dựng trong Họ là một phần MATLAB, vì vậy chúng rất hiệu quả, nhưng các chi tiết tính toán của chúng rất khó truy cập. Trong khi các tính năng khác như gammabồn rửađược thực hiện trong M-files. Do đó, bạn có thể dễ dàng xem mã của họ và thậm chí sửa đổi nó nếu cần.

Một số hàm đặc biệt cung cấp giá trị của các hằng số được sử dụng thường xuyên.

số pi 3.14159265…

tôi đơn vị tưởng tượng

j cũng giống như tôi

eps độ chính xác tương đối của số dấu phẩy động

số dấu phẩy động nhỏ nhất realmin

số dấu phẩy động lớn nhất realmax

vô cực

NaN không phải là số

Vô cực xuất hiện khi chia cho 0 hoặc khi thực hiện một biểu thức toán học dẫn đến tràn, tức là vượt quá realmax. Không phải là một con số (NaN)được tạo khi đánh giá các biểu thức như 0/0 hoặc Inf-Inf, không có ý nghĩa toán học cụ thể.

Tên hàm không được bảo lưu, vì vậy có thể thay đổi giá trị của chúng thành giá trị mới chẳng hạn

eps = 1.e-6

rõ ràng eps

BIỂU THỨC

Bạn đã thấy một số ví dụ về cách sử dụng biểu thức trong MATLAB. Dưới đây là một số ví dụ khác kèm theo kết quả.

rho = (1+sqrt(5))/2

rho =

1.6180

MỘT= cơ bụng(3+4i)

một =

5

z = sqrt(besselk(4/3,rho-i))

0,3730 + 0,3214i

rất lớn = exp(log(realmax))

rất lớn = 1,7977e+308

quá lớn = pi*khổng lồ

quá lớn = Inf

TẠO MA TRẬN

MATLAB có bốn hàm tạo ma trận cơ bản:

số không tất cả số không

tất cả các đơn vị

rand sự phân bố đồng đều của các phần tử ngẫu nhiên

phân phối chuẩn Randn của các phần tử ngẫu nhiên

Vài ví dụ:

Z = số không(2,4)

Z=

0 0 0 0

0 0 0 0

F = 5*người(3,3)

F=

5 5 5

5 5 5

5 5 5

N = sửa(10*rand(1,10))

N=

9 2 6 4 8 7 4 0 8 4

R = randn(4,4)

R=

-0.4326 -1.1465 0.3273 -0.5883

-1.6656 1.1909 0.1746 2.1832

0.1253 1.1892 -0.1867 -0.1364

0.2877 -0.0376 0.7258 0.1139

Đội trọng tảiđọc các tệp nhị phân chứa ma trận được tạo trong MATLAB trước đó hoặc các tệp văn bản chứa dữ liệu số. Tệp văn bản phải được định dạng dưới dạng bảng hình chữ nhật gồm các số được phân cách bằng dấu cách, với số phần tử bằng nhau trên mỗi dòng. Ví dụ: hãy tạo bên ngoài MATLAB tệp văn bản chứa 4 dòng:

16.0 3.0 2.0 13.0

5.0 10.0 11.0 8.0

9.0 6.0 7.0 12.0

4.0 15.0 14.0 1.0

Hãy lưu tập tin này dưới tên magik.dat. Sau đó độitảimagik.dat sẽ đọc tệp này và tạo một biến ma thuật chứa ma trận của chúng tôi.

HIỆP HỘI

Hợp nhất là quá trình kết hợp các ma trận nhỏ để tạo ra ma trận lớn hơn. Trên thực tế, bạn đã tạo ma trận đầu tiên bằng cách kết hợp các phần tử riêng lẻ của nó. Một cặp dấu ngoặc vuông là toán tử hợp. Ví dụ: hãy bắt đầu với ma trận MỘT(hình vuông ma thuật 4x4) và hình thức

B = [A A+32; A+48 A+16]

Kết quả sẽ là ma trận 8x8 thu được bằng cách nối 4 ma trận con

B=

16 3 2 13 48 35 34 45

5 10 11 8 37 42 43 40

9 6 7 12 41 38 39 44

4 15 14 1 36 47 46 33

64 51 50 61 32 19 18 29

53 58 59 56 21 26 27 24

57 54 55 60 25 22 23 28

52 63 62 49 20 31 30 17

Ma trận này chỉ có một nửa phép thuật. Các phần tử của nó là sự kết hợp của các số nguyên từ 1 đến 64 và tổng trong các cột chính xác bằng giá trị của hình vuông ma thuật 8x8.

tổng (B)

trả lời =

260 260 260 260 260 260 260 260

Tuy nhiên, tổng trong các hàng của ma trận này ( tổng(B')') không phải tất cả đều giống nhau. Cần có các thao tác bổ sung để làm cho ma trận này thực sự là một hình vuông ma thuật 8x8.

XÓA HÀNG VÀ CỘT

Bạn có thể xóa hàng và cột khỏi ma trận chỉ bằng một vài dấu ngoặc vuông. Hãy xem xét

X = A;

Bây giờ hãy xóa cột thứ hai của ma trận X.

X(:,2) =

Thao tác này sẽ thay đổi X theo cách sau

X =

16 2 13

5 11 8

9 7 12

4 14 1

Nếu loại bỏ một phần tử của ma trận thì kết quả sẽ không còn là ma trận nữa. Vì vậy biểu thức

X(1,2) =

kết quả tính toán sẽ gây ra sai số. Tuy nhiên, việc sử dụng một chỉ mục sẽ loại bỏ một phần tử hoặc chuỗi phần tử và chuyển các phần tử còn lại thành một vectơ hàng. Vì thế

X(2:2:10) =

sẽ cho kết quả

X =

16 9 2 7 13 12 1

PHÉP NHÂN MA TRẬN

Khi nhân hai ma trận, toán tử '*' được sử dụng. Ví dụ, nếu

A=

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

B=

16 4 7 3

5 -7 2 9

0 8 23 65

-7 4 17 9

Sau đó C = A*B sẽ cho kết quả

C =

180 111 385 322

74 70 444 892

90 98 440 644

132 27 397 1066

MATLAB còn cung cấp khả năng thực hiện phép nhân từng phần tử. Dấu chấm trước dấu nhân được sử dụng cho mục đích này. Ví dụ:

C = A.*B

kết quả là

C=

256 12 14 39

25 -70 22 72

0 48 161 780

-28 60 238 9

TẠO M-FILES

Tệp M là các tệp văn bản thông thường được tạo bằng trình soạn thảo văn bản. Đối với môi trường vận hành máy tính cá nhân, MATLAB hỗ trợ một trình soạn thảo/gỡ lỗi tích hợp đặc biệt, mặc dù có thể sử dụng bất kỳ trình soạn thảo văn bản ASCII nào khác.

Có hai cách để mở trình soạn thảo:

    từ menu Tệp, chọn tùy chọn Mới rồi chọn M-File.

    sử dụng lệnh chỉnh sửa biên tập .

Hàm M là các tệp M chấp nhận các đối số đầu vào và đầu ra. Chúng làm việc với các biến trong không gian làm việc của riêng chúng, khác với không gian làm việc của hệ thống MATLAB.

Ví dụ

Hàm trung bình là một M-file khá đơn giản dùng để tính giá trị trung bình của các phần tử của một vectơ:

hàm y = trung bình(x)

% TRUNG BÌNH Giá trị trung bình của các phần tử vectơ.

% TRUNG BÌNH(X), trong đó X là một vectơ. Tính giá trị trung bình của các phần tử

vectơ %.

% Nếu đối số đầu vào không phải là vectơ thì sẽ xảy ra lỗi.

Kích thước (x);

Nếu (~((m == 1) | (n == 1)) | (m == 1 & n == 1))

Error('Mảng đầu vào phải là một vectơ')

Kết thúc

Y = tổng(x)/độ dài(x); % Tính toán thực tế

Hãy thử nhập các lệnh này vào một tệp M có tên trung bình.m. Hàm trung bình chấp nhận một đối số đầu vào và một đối số đầu ra duy nhất. Để gọi hàm trung bình, bạn phải nhập các câu lệnh sau:

z = 1:99;

trung bình(z)


Chúng tôi nhận được kết quả

đáp án = 50

ĐẶC ĐIỂM THỐNG KÊ CỦA TÍN HIỆU

Giá trị trung bình của tín hiệu (thành phần không đổi của nó) được xác định theo công thức sau:

(1.1)

Độ lệch chuẩn (RMS, độ lệch, thành phần thay đổi) của tín hiệu được xác định theo công thức sau:

(1.2)

Giá trị sai số thống kê của tín hiệu thu được xác định theo công thức sau:

(1.3)

Hàm phân phối chuẩn được mô tả bằng công thức sau:

(1.4)

BÀI TẬP

    Làm việc thông qua các lệnh cơ bản được nêu ở trên trong MATLAB.

    Tạo hàm M lấy đầu vào là một vectơ có kích thước tùy ý với dữ liệu và trả về:

    1. giá trị trung bình được tính theo công thức (1.1), cũng như thu được nhờ áp dụng hàm trung bình;

      độ lệch chuẩn được tính theo công thức (1.2), cũng như thu được nhờ áp dụng hàm std.

    Tạo hàm M lấy dữ liệu làm đầu vào là vectơ có kích thước tùy ý và trả về giá trị lỗi thống kê T.E. theo công thức (1.3).

    Hãy tự khám phá hàm biểu đồ hist (xem phần trợ giúp về hàm này - doc hist).

    Vẽ đồ thị của hàm phân phối chuẩn theo công thức (1.4) sử dụng hàm đồ thị và hàm fplot.

    Tạo hàm M dựa trên lệnh randn tạo ra nhiễu ngẫu nhiên có phân phối chuẩn với giá trị trung bình và độ lệch chuẩn cho trước.