Tạo ma trận có đường chéo chính là vectorv A = diag(v) Tạo ma trận cùng cỡ vớia, có các phần tử
trên đường chéo chính và phía trên đường chéo chính, b = triu(a) các phần tử khác bằng0
Tạo ma trận cùng cỡ vớia, có các phần tử
trên đường chéo chính và phía dưới đường chéo chính, b = tril(a) các phần tử khác bằng0
Cấu trúc (Structures)
Nội dung1 Giới thiệu Matlab 1 Giới thiệu Matlab 2 Biểu thức Matlab Biến Số Các toán tử Các hàm 3 Vector 4 Đa thức 5 Ma trận Nhập ma trận Ghép nối Xóa hàng và cột Một số lệnh xử lý ma trận 6 Cấu trúc (Structures) 7 Mảng tế bào (Cell Arrays) 8 Vẽ đồ thị
Vẽ đồ thị 2-D Vẽ đồ thị 3-D
Cấu trúc (Structures)
Cấu trúc
Là một cách tổ chức các dữ liệu liên quan
Ví dụ, tạo một cấu trúcsvới các trườngx,yvà name >> s.y=1; >> s.x=[1 1]; >> s.name=’abc’; >> s s = y: 1 x: [1 1] name: ’abc’
hoặc đơn giản hơn với từ khóastruct: >> s2=struct(’y’,1,’x’,[1 1],’name’,’abc’)
Cấu trúc (Structures)
Cấu trúc
Liệt kê danh sách các trường f=fieldnames(s);
Tham chiếu động tới các trường (dynamic field reference):
s.x; % tham chiếu tĩnh (static field reference) tới s.x s.(’x’) % tham chiếu động tới s.x
Vòng lặp trên các trường
f=fields(s); % tương đương với f=fieldnames(s) for i=1:length(s) doSomething(s.(f{i})); end % hoặc for f=fields(s) % doSomething(s.(char(f))); end % gọn nhất structfun(@doSomething,s);
Cấu trúc (Structures)
Cấu trúc
Ta có thể tạo mảng của các cấu trúc, ví dụ for i=1:10
s(i).y=rand(); s(i).x=[i:i+2];
s(i).name=sprintf(’name %d’,i); end
Biến đổi mảng cấu trúc→mảng thông thường for i=1:length(s)
X(:,i)=s(i).x; end
hoặc nhanh hơn X=[s.x];
Mảng tế bào (Cell Arrays)
Nội dung1 Giới thiệu Matlab 1 Giới thiệu Matlab 2 Biểu thức Matlab Biến Số Các toán tử Các hàm 3 Vector 4 Đa thức 5 Ma trận Nhập ma trận Ghép nối Xóa hàng và cột Một số lệnh xử lý ma trận 6 Cấu trúc (Structures) 7 Mảng tế bào (Cell Arrays) 8 Vẽ đồ thị
Vẽ đồ thị 2-D Vẽ đồ thị 3-D