Thứ Bảy, 11 tháng 7, 2020

2.68 Biểu đồ tần suất.

Thực hiện vẽ biểu đồ tần suất của biến ngẫu nhiên phân bố Gauss có trung bình bằng 3 và phương sai bằng 1. 

Giải: Chúng ta sẽ sử dụng hàm randn() để tạo biến ngẫu nhiên phân bố chuẩn, sau đó sẽ nhân với độ lệch chuẩn và cộng với giá trị trung bình để tạo ra phân bố Gauss như mong muốn. Sau đó, thực hiện giải thuật 5 bước để vẽ biểu đồ tần suất như sau. 

% Khoi tao bien ngau nhiên R
N = 10^6;
muR = 3;
varR = 1;
R = muR + sqrt(varR).*randn(1,N);

% Buoc 1:
xMin = min(R);
xMax = max(R);

% Buoc 2
NoB = 50;
dx = (xMax - xMin)/NoB;

% Buoc 3
x = xMin:dx:xMax;

% Buoc 4
PDF_s = zeros(size(x));
for idx = 2:length(x)
    PDF_s(idx) = PDF_s(idx) + sum((R >= x(idx-1))&(R < x(idx)))/(dx*N);
end

% Buoc 5
PDF_t = 1./sqrt(2*pi*varR).*exp(-(x - muR).^2./(2*varR));

% Ve do thi
plot(x,PDF_s,'.',x,PDF_t,'-','linewidth',2);
xlabel('\it R');
ylabel('PDF');
legend('Biểu đồ tần suất','Hàm PDF lý thuyết');
set(gcf,'color','white');



Cách thứ 2 là sử dụng hàm có sẵn của Matlab, đó là hàm histogram(). 

Cú pháp: 

histogram(X,M) 

với X là vector cần vẽ biểu đồ tần suất và M nếu là một số là số lượng mốc vẽ trên đồ thị. 


Không có nhận xét nào:

Đăng nhận xét

2.16 Tìm giá trị nhỏ nhất và lớn nhất trong ma trận

Cho ma trận X = [1 2 3; 4 5 6; 7 8 9]. Hãy a. Tìm giá trị lớn nhất và giá trị nhỏ nhất theo hàng. b. Tìm giá trị lớn nhất và nhỏ nhất theo...