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

Bài giảng Giải tích mạch và mô phỏng trên máy tính: Phần 1 ĐH Phạm Văn Đồng

30 36 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 756,22 KB

Nội dung

(NB) Bài giảng Giải tích mạch và mô phỏng trên máy tính: Phần 1 gồm có 3 chương cung cấp kiến thức về Chương 1: Các khái niệm cơ bản, Chương 2: Tính toán trên các mảng số, Chương 3: Nhập xuất dữ liệu trong MATLAB.

TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA KỸ THUẬT CÔNG NGHỆ   BÀI GIẢNG GIẢI TÍCH MẠCH VÀ MƠ PHỎNG TRÊN MÁY TÍNH Bậc học: CAO ĐẲNG (BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI) GV: Trương Quang Sanh Bộ môn: Điện - Điện tử Khoa: Kỹ thuật - Công nghệ Quảng Ngãi - 05/ 2019 TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA KỸ THUẬT CÔNG NGHỆ   BÀI GIẢNG GIẢI TÍCH MẠCH VÀ MƠ PHỎNG TRÊN MÁY TÍNH Bậc học: CAO ĐẲNG (45 TIẾT) (BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI) GV: Trương Quang Sanh Bộ môn: Điện - Điện tử Khoa: Kỹ thuật - Công nghệ Quảng Ngãi - 05/ 2019 LỜI NĨI ĐẦU Điều khiển tự động hóa đóng vai trò quan trọng phát triển khoa học kỹ thuật Lĩnh vực sử dụng rộng rãi từ hệ thống phi thuyền không gian, hệ thống điều khiển tên lửa, máy bay không người lái, robot, người máy tay, máy trình sản xuất đại đời sống hàng ngày: Điều khiển nhiệt độ, độ ẩm, … Khi máy móc đại ngày phức tạp nhiều tín hiệu vào việc mơ tả hệ thống điều khiển đòi hỏi cần phải tính toán nhanh xử lý lượng lớn lệnh phức tạp Nhằm tạo kỹ lập trình mơ để giải toán đại số, phương trình vi phân, ma trận, tốn phương trình tốn lý, kỹ thuật điện, điện tử, tự động… Bài giảng “GIẢI TÍCH MẠCH VÀ MƠ PHỎNG TRÊN MÁY TÍNH” giúp cho tìm hiểu nội dung Matlab Simulink ứng dụng giải toán kỹ thuật điện đơn giản Nội dung giảng gồm chương: Chương 1: Các khái niệm Chương 2: Tính tốn mảng số Chương 3: Nhập - xuất liệu MATLAB Chương 4: Các lệnh điều khiển MATLAB Chương 5: Đồ họa MATLAB Chương 6: Các tốn đại số tuyến tính phương trình vi phân Chương 7: Simulink Do thời gian biên soạn có hạn nên khơng tránh sai sót, mong góp ý xin gửi Bộ mơn Điện - Điện tử, khoa Kỹ thuật - Công nghệ, Trường Đại học Phạm Văn Đồng Trân trọng cảm ơn! Tác giả! MỤC LỤC MỤC LỤC Chương CÁC KHÁI NIỆM CƠ BẢN 1.1 Giới thiệu phần mềm matlab 1.2 Làm việc môi trường Matlab 1.3 Các lớp liệu Chương TÍNH TỐN TRÊN CÁC MẢNG SỐ 10 2.1 Khởi tạo mảng số 10 2.2 Các phép tính mảng số 12 2.3 Các hàm toán học logic 16 2.4 Xử lý, tính tốn mảng số 19 Chương NHẬP - XUẤT DỮ LIỆU TRONG MATLAB 23 3.1 Nhập liệu từ bàn phím hàm input 23 3.2 Nhập liệu từ chuột hàm menu 23 3.3 Xuất liệu cửa sổ lệnh hàm disp Hàm format khuôn dạng số24 3.4 Xuất liệu cửa sổ lệnh hàm sprintf 26 3.5 Xuất liệu file lệnh save 27 3.6 Nhập liệu từ file lệnh load 27 3.7 Nhập xuất liệu với file văn có định dạng hàm fopen, fscanf, fprintf, fclose 28 Chương CÁC LỆNH ĐIỀU KHIỂN TRONG MATLAB 31 4.1 Các lệnh rẽ nhánh: if end, switch end 31 4.2 Các lệnh lặp: for end, while end 34 4.3 Các lệnh chuyển vòng lặp 37 4.4 Hàm tạm dừng 39 Chương ĐỒ HỌA TRONG MATLAB 41 5.1 Cơ sở đồ họa Matlab 41 5.2 Đồ họa chiều 42 5.3 Đồ họa chiều 44 5.4 Thiết kế giao diện đồ họa 46 Chương CÁC BÀI TOÁN ĐẠI SỐ TUYẾN TÍNH VÀ 51 PHƯƠNG TRÌNH VI PHÂN 51 6.1 Tính tốn với vectơ ma trận 51 6.2 Hệ phương trình đại số tuyến tính 53 6.3 Giải thuật giải phương trình vi phân 54 6.4 Giải thuật giải toán kỹ thuật điện 56 Chương SIMULINK 60 7.1 Khởi động Simulink 60 7.2 Thao tác với Simulink 62 7.3 Thư viện Sources, Sinks 63 7.4 Khai báo tham số mô 70 TÀI LIỆU THAM KHẢO 79 Chương CÁC KHÁI NIỆM CƠ BẢN 1.1 Giới thiệu phần mềm matlab Đối với lĩnh vực điều khiển - tự động hóa nói riêng lĩnh vực khoa học - kỹ thuật nói chung, mô công cụ quan trọng cho phép khảo sát đối tượng, hệ thống hay trình kỹ thuật - vật lý, mà thiết có đối tượng hay hệ thống thực Matlab - simulink trang bị công cụ mô mạnh phương pháp mơ hình hóa Matlab chương trình phần mềm lớn lĩnh vực tính tốn số Tên chương trình chữ viết tắt từ MATric LABoratory, thể định hướng chương trình phép toán vector ma trận Phần cốt lõi chương trình bao gồm số hàm tốn, chức nhập/xuất khả điều khiển chu trình mà nhờ ta dựng nên đoạn chương trình để thực thi Thêm vào phần cốt lõi Toolbox (bộ công cụ) với phạm vi chức chuyên dụng mà người sử dụng cần Trong phạm vi giáo trình giới thiệu số Toolbox liên quan đến mô mạch, điều khiển - tự động hóa Đặc biệt, Simulink Toobox có vai trò đặc biệt quan trọng: Một cơng cụ mạnh phục vụ mơ hình hóa mơ hệ thống kỹ thuật - vật lý sở sơ đồ cấu trúc dạng khối Trước khởi động Matlab, người dùng phải tạo thư mục làm việc để chứa file chương trình (ví dụ: E:/thuchanh_matlab) Matlab thơng dịch lệnh lưu file có dạng *.m Sau cài đặt Matlab việc khởi động chạy chương trình đơn giản nhấp vào biểu tượng desktop , vào Start\All Programs\Matlab\Matlab Sau khởi động Matlab xong, bước thư mục làm việc cho Matlab Nhấn vào biểu tượng (ví dụ: E:/thuchanh_matlab) cơng cụ chọn thư mục làm việc Cửa sổ làm việc Matlab hình 1.1 Nó bao gồm cửa sổ làm việc chính: Cửa sổ lệnh (Command Window), cửa sổ thư mục (Current Directory) cửa sổ chứa tập lệnh sử dụng (Command History) Hình 1.1 Giao diện làm việc phần mềm Matlab Để tạo file ***.m thư mục làm việc, ta thực hiện:  Nhấn vào biểu tượng vào File\New\M-file  Cửa sổ soạn thảo xuất hiện, gõ chương trình cần thiết vào file Sau hoàn tất nhấn vào biểu tượng (E:/thuchanh_matlab) để lưu vào thư mục Để thực thi tập lệnh có ***.m thư mục làm việc người dùng cần gõ tên file Matlab tự động thực thi dòng lệnh có ***.m 1.2 Làm việc môi trường Matlab Matlab mơi trường tính tốn số lập trình Giống máy tính bản, làm tất phép tính tốn học cộng, trừ, nhân, chia; giống máy tính kỹ thuật, bao gồm: số phức, thức, số mũ, logarit, phép tốn lượng giác như: sin, cos, tang,…; giống máy tính lập trình, lưu trữ, tìm kiếm lại liệu, tạo, bảo vệ ghi trình tự lệnh để tự động phép toán giải vấn đề, so sánh logic, điều khiển thực lệnh để đảm bảo tính đắn phép tốn Giống máy tính đại nhất, cho phép biểu diễn liệu nhiều dạng như: biểu diễn thông thường, ma trận đại số, hàm tổ hợp thao tác với liệu thường ma trận Matlab cung cấp môi trường phong phú cho biểu diễn liệu có khả mạnh mẽ đồ họa, tạo giao diện riêng cho người sử dụng GUIs Thêm vào Matlab đưa công cụ để giải vấn đề đặc biệt, gọi Toolbox Ngoài ta tạo Toolbox cho riêng 1.3 Các lớp liệu Dữ liệu Matlab thể dạng ma trận (hoặc mảng) có kiểu liệu liệt kê sau đây: - Kiểu đơn single: Dữ liệu số với độ xác đơn, kiểu có lợi mặt nhớ khơng sử dụng phép tính tốn học có độ xác - Kiểu double: Dữ liệu số với độ xác kép, kiểu kiểu thông dụng biến Matlab - Kiểu uint8, uint16, … - Kiểu char - Matlab có số kiểu liệu khác cao cấp hơn: kiểu cell, kiểu struct (bản ghi) Biến cách đặt tên cho biến Biến (variable): Matlab kí hiệu sử dụng để chứa giá trị Gồm biến toàn cục (global), biến cục (local) Tên biến (variable name): bắt đầu chữ cái, chữ cái, chữ số kí tự gạch chân ( _ ) Tên_biến = giá trị biểu thức Tên biến phải tuân thủ theo quy tắc sau:  Tên biến có phân biệt chữ hoa chữ thường Ví dụ: Iterms, iterms, itErms ITERMS biến khác  Tên biến chứa nhiều 31 kí tự, sau kí tự thứ 31 bị lờ Ví du: mophongvalaptrinhmatlab  Tên biến bắt đầu phải chữ cái, chữ số, dấu gạch Ví dụ: mo_phong_va_lap_trinh_matlab, X356a_b_c  Kí tự chấm câu khơng phép dùng có ý nghĩa đặc biệt Các Câu hỏi ôn tập Chương Câu 1.1: Làm để khởi động Matlab? Câu 1.2: Cách tạo lưu file ***.m vào thư mục tạo trước? Câu 1.3: Làm để định nghĩa biến? Câu 1.4: Các quy định đặt tên biến gì? Câu 1.5: Trình bày lớp liệu Matlab? Chương TÍNH TOÁN TRÊN CÁC MẢNG SỐ 2.1 Khởi tạo mảng số 2.1.1 Mảng đơn - Ðể tạo mảng, ta đặt phần tử mảng vào hai dấu ngoặc vng, hai phần tử mảng dấu cách dấu phẩy - Với mảng có số lượng phần tử ta nhập vào trực tiếp, với mảng có số lượng lớn phần tử ta dùng cách sau: x = first : last : tạo vectơ hàng x bắt đầu first, phần tử sau phần tử trước cộng với 1, kết thúc phần tử có giá trị nhỏ last x = first : increment : last : tạo vectơ hàng x bắt đầu first, giá trị cộng increment, kết thúc phần tử có giá trị nhỏ last x = linspace(first,last,n): tạo vectơ hàng x bắt đầu first, kết thúc last, có n phần tử Ví dụ: >> a=1:5 a= 12345 >> b = [6 8] b= 678 >> c = [a b] c= 12345678 2.1.2 Khởi tạo mảng số Với mảng có số lượng phần tử ta nhập vào trực tiếp, với mảng có số lượng lớn phần tử ta dùng hai cách sau: - Tạo mảng bắt đầu phần tử 0, sau phần tử trước cộng với 0.1, phần tử cuối 1, tất phần tử mảng nhân với pi: >> x= (0:0.1:1)*pi x= Columns through 0.3142 0.6283 0.9425 1.2566 1.5708 Columns through 11 10 1.8850 0.2 0.16667 0.14286 0.125 0.11111 0.1 0.090909 0.083333 % Các phần tử g số mũ >> 2.^g ans = 16 25 36 49 64 729 1000 1331 1728 >> g.^(h - 1) % Các phần tử g luỹ thừa với số mũ tương ứng phần tử h trừ ans = 1 1 81 100 121 144 Sau bảng số phép toán mảng: Dữ liệu minh hoạ: a = [a1 a2 an] , b = [b1 b2 bn] , c số vô hướng Cộng với số đơn A+c = [a1 +c a2 +c an+c] Nhân với số đơn A*c = [a1 *c a2 *c an*c] Cộng mảng A+b = [ a1+b1 a2+b2 an+bn ] Nhân mảng a.*b = [ a1*b1 a2*b2 an*bn ] Chia phải mảng a./ b = [ a1/ b1 a2/ b2 an/ bn ] Chia trái mảng a.\ b = [ a1\ b1 a2\ b2 an\ bn ] Luỹ thừa mảng a.^c = [ a1^c a2^c an^c ] c.^a = [ c^a1 c^a2 c^an ] a.^b = [ a1^b1 a2^b2 an^bn ] 2.3 Các hàm toán học logic 2.3.1 Các hàm toán học Tương tự hầu hết máy tính kỹ thuật, Matlab đưa nhiều hàm tốn học, kỹ thuật thơng dụng, ngồi Matlab cung cấp hàng trăm hàm đặc biệt 16 thuật tốn, hữu ích để giải vấn đề khoa học Tất hàm liệt kê menu help Ở đề cập đến hàm thơng dụng 2.3.1.1 Hàm tốn học abs(x) Hàm tính giá trị tuyệt đối x sqrt(x) Hàm tính bậc hai x round(x) Làm tròn x số nguyên gần fix(x) Làm tròn số x floor(x) Làm tròn phía -∞ ceil(x) Làm tròn phía ∞ sign(x) Hàm cho giá trị -1 x nhỏ 0, giá trị x 0, có giá trị x lớn rem (x,y) Hàm trả lại số dư phép chia x cho y exp(x) Hàm tính giá trị ex log(x) Hàm tính giá trị ln(x) log10(x) Hàm tính giá trị log10(x) 2.3.1.2 Hàm lượng giác Ðơn vị tham số phải radian sin(x) Tính sin góc x cos(x) Tính cos góc x tan(x) Tính tan góc x 2.3.2 Các toán tử logic quan hệ Ðối với số tốn tử quan hệ quy định số khác khơng True số khơng False Kết phép toán logic quan hệ đưa cho True, cho False 2.3.2.1 Toán tử quan hệ Toán tử quan hệ Matlab bao gồm phép so sánh: 17 Ví dụ: >>12.2 > 12 ans = >> 1~=1 ans = 2.3.2.2 Toán tử logic Toán tử logic cung cấp cách diễn đạt mối quan hệ phủ định hay tổ hợp: Biểu thức logic với toán tử tổ hợp xác định theo qui luật sau: Ðôi gặp biểu thức phức tạp chứa toán tử & lẫn tốn tử | , MATLAB có qui luật trình tự xử lý sau: Ðầu tiên xử lý tính tốn số học Sau đó, toán tử logic xem xét từ trái sang phải Những biểu thức có biểu thức cần xử lý (có tốn tử & | ) xem xét từ trái sang phải với toán tử & xử lý trước toán tử | Ví dụ: 18 >>A=1:5; >>B=(A>2)&(A> A = [1 3; 6; 9] A= % Gán phần tử hàng thứ 3, cột thứ >> A(3,3) = % Gán phần tử hàng thứ 2, cột thứ >> A(2,6) = A= 0 0 0 0 Ở ma trận A khơng có cột, kích cỡ ma trận A phải tăng lên cho phù hợp, phần tử tăng thêm điền số không % Gán tất phần tử thuộc cột thứ >> A(:,4) = A= 0 0 19 Ở ta dùng dấu hai chấm ( : ) để tất hàng >> A = [1 3; 6; 9]; % Gán lại giá trị ma trận A >> B = A(3:-1:1,1:3) % Tạo ma trận B cách đảo ngược hàng ma trận A B= % Cũng tạo ma trận B ta dùng ( : ) >> B = A(3:-1:1,:) để tất cột B= >> C = [ A B(:,[1 3])] % Tạo ma trận C cách ghép ma trận A cột thứ nhất, thứ ba ma trận B vào bên phải ma trận A C= 6 >> C = [1 3] C= >> B = A(C,C) % Dùng ma trận C làm số để tạo ma trận B Từ ma trận A B= >> B= A(:) % Tạo ma trận cột B từ ma trận A B= 20 >> B = B.' % Chuyển ma trận B thành ma trận hàng toán tử chuyển vị chấm B= >> B = A; >> B(:,2) = [] % Loại bỏ cột thứ hai ma trận B B= Khi ta gán cột thứ hai ma trận B cho ma trận rỗng ([]) bị xố, ma trận lại rút bỏ hàng thứ hai >> B = B.' B= >> B(2,:) = [] B= >> A(2,:) = B % Thay hàng thứ hai ma trận A ma trận B A= 7 >> B = A(:,[2 2 2]) B= 21 2 2 4 4 8 8 Câu hỏi ơn tập chương Câu 2.1: Trình bày cách tạo mạng đơn? Cho ví dụ? Câu 2.2: Vectơ hàng vectơ cột gì? Cho ví dụ? Câu 2.3: Trình bày cách tạo mảng số? Câu 2.4: Cho mảng g đây: g = [1 4; 8; 10 11 12 12] Hãy thực phép tính: Phép cộng, phép trừ, phép nhân phép chia mảng g cho số 5? Câu 2.5: Cho mảng g đây: g = [1 4; 8; 10 11 12 12] Hãy khởi tạo mảng h thực phép tính tốn sau: Phép cộng, phép trừ, phép nhân, chia tương ứng phần tử của hai mảng g h? Câu 2.6: Cho mảng g đây: g = [1 4; 8; 10 11 12 12] Hãy thực phép lũy thừa mảng với số mũ là: 4, 6, -1, 4/5? - 22 Chương NHẬP - XUẤT DỮ LIỆU TRONG MATLAB 3.1 Nhập liệu từ bàn phím hàm input Lệnh input cho phép ta nhập số liệu từ bàn phím Ví dụ: x = input (‘prompt ’) Trong đó: - input: Từ khóa hàm nhập liệu; - x: Tên biến gán giá trị nhập vào; - prompt: Dòng text mà người sử dụng đánh vào; Khi biến x có giá trị giá trị mà người sử dụng nhập vào Ngồi ta có hàm: x = input (‘prompt’ , ‘s’) trả chuổi kí tự Trong thực lệnh ta sử dụng số ký hiệu đặc biệt dấu ngắt xuống dòng \n, dấu móc cao ‘ ’(khi thực ta thu hình dấu ‘) gạch nghiêng chéo \\( thực ta thu hình dấu\) Sau ví dụ Script có khúc đối thoại nhập văn bản: Price = input ([‘What does the exchange rate \n , … ‘looke like today ?’ ]); Currency = input (‘ DEM\\EUR ?’ , ‘s’); Sau gọi Script nhập số liệu, ví dụ ta nhận kết sau What does the exchange rate Look like today ? 1.93 DEM\EUR ? DEM 3.2 Nhập liệu từ chuột hàm menu Để thực nhập liệu từ chuột hàm menu, từ sổ Matlab ta thực File/ Import Data sau: Khi xuất cửa sổ import data sau: 23 Sau ta chọn đường dẫn đến thư mục chứa file liệu cần nhập, chọn nút open để nạp liệu 3.3 Xuất liệu cửa sổ lệnh hàm disp Hàm format khuôn dạng số Để xuất liệu cửa sổ lệnh ta dùng hàm disp có cấu trúc sau: disp(x) disp(‘text’) Trong đó, disp : Từ khố hàm xuất liệu, x : tên biến giá trị số cần xuất hình, text : dòng text mà người sử dụng cần xuất hình Khi xuất số liệu hay chuỗi ký tự hình ta đặt định dạng cho việc xuất Lệnh disp(string) có tác dụng xuất chuỗi ký tự Lệnh sử dụng cho chuỗi ký tự chứa văn động, chữ số phải biến thành chuỗi ký tự nhờ lệnh num2str(variable [,format]) Đối với số liệu vector ta lập định dạng xuất nhờ string = sprintf(string, variable), sau xuất lệnh disp Khi sử dụng hai lệnh num2str sprintf, cú pháp lập định dạng giống ngơn ngữ lập trình C Tất biến phải khai báo chung ma trận nhất, cột tham số xuất Ví dụ: Thành lập hàm M-file, nhập vào giá trị tiết diện dây dẫn, nhập vào chiều dài xuất giá trị điện trở đoạn dây Cho dây dẫn đồng (ρ=18.84 Ω mm2/km).Thành lập hàm M-file 24 % Nhập tiết diện dây dẫn - mm F=input('Nhap tiet dien day dan :') % Nhập chiều dài dây dẫn - km l=input (' Nhap chieu dai - km :') % Tính tốn giá trị điện trở R=18.84*l/F % Xuất giá trị điện trở hình disp('Gia tri dien tro la :') disp(R) Chạy chương trình, cửa sổ lệnh yêu cầu nhập vào F l, sau hiển thị kết điện trở R Ghi : Cú pháp : clear clear all xóa tồn biến sử dụng matlab, giúp chương trình chạy Hàm format khn dạng số Hàm format kiểm sốt định dạng xuất hình giá trị Hàm kiểm sốt định dạng xuất mà khơng ảnh hưởng tới định dạng liệu lưu trữ Lệnh format cho phép xác định dạng thức liệu format rat % số hữu tỉ format long % số có 14 chữ số sau dấu phẩy format long e % số dạng mũ format hex % số dạng hex format short e %số dạng mũ ngắn format short %trở số dạng ngắn (default) Ví dụ: >> x = [4/3 1.2345e-6]; >> format short 1.3333 0.0000 >> format short e 1.3333e+000 1.2345e-006 >>format long 25 1.33333333333333 0.00000123450000 >>format long e 1.333333333333333e+000 1.234500000000000e-006 >>format rat 4/3 1/810045 >>format hex 3ff5555555555555 3eb4b6231abfd271 3.4 Xuất liệu cửa sổ lệnh hàm sprintf Khi xuất file văn ta sử dụng lệnh sprintf với cú pháp sau: s = sprintf(‘ts’,ds) Trong đó: s: Biến chứa chuỗi số hiển thị hình ts: Các tham số định dạng ds: Danh sách đối số Tham số định dạng thuộc kiểu sau: - Chuỗi ký tự: chuỗi hiển thị lên hình giống hệt viết câu lệnh - Chuỗi tham số định dạng: chuỗi khơng hiển thị lên hình, tác dụng điều khiển việc chuyển đổi cách hiển thị đối số đưa danh sách đối số Ví dụ tham số định dạng: 1) %d: đối số số nguyên viết dạng thập phân s = sprintf(‘Đây số: %d’,-24) s = Đây số: -2 2) %u: đối số số nguyên viết dạng thập phân không dấu s = sprintf(‘Đây số: %u’,24) s = Đây số: 24 3) %o: đối số số nguyên viết dạng số không dấu s = sprintf(‘Đây số: %o’,9) s = Đây số: 11 4) %x: đối số số nguyên viết dạng số 16 26 s = sprintf(‘Đây số: %x’,255) s = Đây số:ff 5) %f: đối số số nguyên viết dạng cp số 10 s = sprintf(‘Đây số: %f’,2550 s = Đây số: 255.000000 Để định dạng phần thập phân thêm vào số chứa số thập phân cần lấy s = sprintf(‘Đây số: %.3f’, 2.5568) s = Đây số: 2.557 6) %c: đối số ký tự riêng đặc biệt s = sprintf(‘Đây chữ: %c’,’M’) s = Đây chữ: M 7)%s: đối số chuỗi ký tự s = sprintf(‘Đây chuỗi: %s’, ‘Matlab’) s = Đây chuỗi: Matlab 3.5 Xuất liệu file lệnh save Tùy theo lựa chọn, thông qua file để xuất liệu dạng mã ASCII mã nhị phân Để xuất liệu file ta dùng lệnh save file_name [variable_1 variable_2 …] Giả sử tên file cất biến ký tự string, ta cần ngắn gọn save (string, [variable_1, variable_2…]) Khi cần cất dạng mã ASCII ta bổ sung vào dòng lệnh save thêm khóa –ascii Trong trường hợp này, tên biến không cất kèm theo giá trị biến ghi nối đuôi vào file Do không cất tên biến, sau gọi ra, Matlab khơng có khả phân loại giá trị theo biến Nếu cất ta không viết cụ thể tên biến, Matlab cất vào Mat-file biến tồn Workspace 3.6 Nhập liệu từ file lệnh load Tùy theo lựa chọn, thơng qua file để xuất liệu dạng mã ASCII mã nhị phân Để nhập liệu từ file liệu ta dùng lệnh load file_name [variable_1 variable_2 …] Giả sử tên file cất biến ký tự string, ta cần ngắn gọn save (string) 27 Nếu sau load ta viết tên file khơng có (phần sau dấu chấm ), Matlab chọn file với định dạng liệu theo mã nhị phân (các file có Mat) Một file Mat cất đầy đủ giá trị tên biến Để gọi số liệu dạng mã ASCII, ta phải viết tên đầy đủ file, tức phải có phần Các số liệu thuộc dòng phải viết cách nhờ phím trống phím Tab (khơng dùng dấu phẩy) Mỗi dòng phải chứa nhiều phần tử Khi gọi (đọc liệu), giá trị gán cho biến có tên trùng với tên file Nếu gọi ta không viết cụ thể tên biến, Matlab gọi tất biến cất Mat-file tồn Workspace 3.7 Nhập xuất liệu với file văn có định dạng hàm fopen, fscanf, fprintf, fclose 3.7.1 Hàm fopen a) Công dụng: Mở file truy xuất liệu file mở b) Cú pháp: fid = fopen(‘fn’) fid = fopen(‘fn’, ‘p’) c) Giải thích: fid: tên biến trỏ đến file mở fn: tên file (có thể đặt đường dẫn) Tham số p có định dạng sau: ‘r’: đọc ‘r+’: đọc ghi ‘w’: xóa tất nội dung file tạo file mở file để ghi ‘w+’: xóa tất nội dung file tạo file mở file để ghi đọc 3.7.2 Hàm fprintf a) Công dụng: Ghi đoạn liệu thành file b) Cú pháp: fprintf(fid, f) c) Giải thích: fid: tên biến trỏ đến file cần ghi f: tham số để định dạng d) Ví dụ: 28 Tạo file exp.txt có nội dung: x = 0:2:10; y = [x, x/2]; fid = fopen(‘exp.txt’, ‘w’); fprintf(fid, ‘%d’, [2, inf]); Gán file exp.txt biến a để xem nội dung: fid = fopen(‘exp.txt’) a = fscanf(fid, ‘%d’, [2,inf]); disp(a); fclose(fid); Kết 10 3.7.3 Hàm fscanf a) Công dụng: Đọc liệu từ tệp b) Cú pháp: fscanf(fid,f) Trong đó: fid : tên biến trỏ đến file cần ghi f: tham số để định dạng c) Ví dụ: Ta có file exp.txt có dạng sau: 0.00 1.00000000 0.10 1.10517092 1.00 2.71828183 Đọc file thành ma trận có hai cột sau: fid = fopen('exp.txt', 'r'); a = fscanf(fid, '%g %g', [2 inf]) % có hai hàng a = a'; fclose(fid) 3.7.4 Hàm fclose 29 a) Cơng dụng: Đóng file mở sau truy xuất xong b) Cú pháp: fclose(fid) c) Giải thích: fid: tên biến trỏ đến file mở Câu hỏi ôn tập chương Câu 1: Hãy trình bày cách nhập liệu từ bàn phím hàm input? Cho ví dụ? Câu 2: Hãy tạo file liệu thực nhập liệu từ chuột hàm menu? Câu 3: Trình bày cấu trúc hàm disp? Câu 4: Ý nghĩa hàm format khn dạng số? Câu 5: Trình bày cấu trúc hàm sprintf? Câu 6: Trình bày cơng dụng, cú pháp, giải thích ví dụ minh họa cho hàm nhập xuất liệu với file văn có định dạng hàm fopen, fscanf, fprintf, fclose? 30 ... 0.2 0 .16 667 0 .14 286 0 .12 5 0 .11 111 0 .1 0.090909 0.083333 % Các phần tử g số mũ >> 2.^g ans = 16 25 36 49 64 729 10 00 13 31 1728 >> g.^(h - 1) % Các phần tử g luỹ thừa với số mũ tương ứng phần tử... cách thực phép tốn phần tử mảng Ví dụ: >> g = [1 4; 8; 10 11 12 ]; % Trừ phần tử mảng g >> -2 ans= -1 10 % Nhân tất phần tử mảng g với sau trừ >> 2*g - ans= 11 13 15 17 19 21 23 2.2.2 Phép toán... 12 13 14 15 % Lấy kết trước trừ mảng h, ta lại mảng g >> ans - h ans = 10 11 12 >> 2*g - h % Nhân ma trận g với sau lấy kết trừ ma trận h ans = 10 12 14 15 17 19 21 >> g.*h % Nhân tương ứng phần

Ngày đăng: 08/06/2020, 18:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w