1. Trang chủ
  2. » Giáo án - Bài giảng

TIN HỌC CHUYÊN NGÀNH MÁY

90 325 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 90
Dung lượng 1,35 MB

Nội dung

BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC HÀNG HẢI KHOA MÁY TÀU BIỂN BÔÔ MÔN TỰ ĐÔÔNG TÀU BIỂN BÀI GIẢNG TIN HỌC CHUYÊN NGÀNH TÊN HỌC PHẦN: TIN HỌC CHUYÊN NGÀNH MÃ HỌC PHẦN: TRÌNH ĐỘ ĐÀO TẠO: ĐẠI HỌC CHÍNH QUY DÙNG CHO SINH VIÊN NGÀNH: KHAI THÁC MÁY TÀU BIỂN HẢI PHÒNG 2010 YÊU CẦU NỘI DUNG CHI TIẾT Tên học phần: Tin hoc chuyên ngành Bộ môn giảng dạy: Tự động Mã học phần 12206 Ts tiết 45 Lý thuyết 30 Loại học phần: II Khoa phụ trách: Máy tàu biển Tổng số TC: Thực hành / Xemina 15 Tự học Bài tập lớn Đồ án môn học Điều kiện tiên quyết: Sinh viên học môn phải học qua môn sở như: Toán cao cấp, Tin học đại cương số môn chuyên ngành trước học môn Mục đích học phần: Nhằm cung cấp cho sinh viên ngành khai thác mày tàu biển kiến thức ngôn ngữ lập trình Matlab Trên sở ứng dụng vào giải vấn đề tính toán ngành khai thác máy tàu biển Nội dung chủ yếu: + Giới thiệu tổng quan ngôn ngữ lập trình Matlab + Phương pháp xây dựng đồ thị ngôn ngữ lập trình Matlab + Sử dụng biểu tượng công cụ toán học vào tính toán + Mô hệ thống Nội dung chi tiết học phần: Tên chương mục Chương 1: Những khái niệm Matlab 1.1 Giới thiệu chung 1.2 M-files 1.3 Hàm tạo hàm Matlab 1.4 Mảng đơn 1.5 Mảng hai chiều 1.6 Vòng lặp điều khiển For While Kiểm tra số 1.7 Cấu chúc If-else-end 1.8 Cấu chúc Switch-case 1.9 Văn Chương 2: Đồ thị Matlab 2.1 Đồ hoạ không gian hai chiều 2.2 Xử lý tính toán đồ thị hai chiều 2.3 Một số đặc điểm khác đồ thị hệ toạ độ phẳng 2.4 Đồ thị không gian ba chiều Kiểm tra số Chương 3: Biểu tượng hộp công cụ toán TS Phân phối số tiết LT BT TH 1.5 1.5 3 1.5 1.5 1 2 0.5 0.5 1 1 0.5 0.5 0.5 1 1 1 0.5 KT 1 học 3.1 Xây dựng sử dụng đối tượng đặc trưng 3.2 Ứng dụng tính toán lên biểu thức đặc trưng 3.3 Các phép toán nâng cao Chương 4: Mô hệ thống 4.1 Giới thiệu Simulink 4.2 Phương pháp xây dựng mô hình simulink 4.3 Thư viện Simulink Kiểm tra số 3.5 0.5 2 1 1 1 1 1 Nhiệm vụ sinh viên: Lên lớp đầy đủ chấp hành quy định Nhà trường Tài liệu học tập: Tin học Máy tàu biển Matlab sở Hình thức tiêu chuẩn đánh giá sinh viên: - Thi viết, thời gian làm bài: 60 phút - Sinh viên phải đảm bảo điều kiện theo quy chế Nhà trường Bộ Thang điểm: Thang điểm chữ A,B,C,D,F Điểm đánh giá học phần: Z= 0,3 X+0,7Y Bài giảng tài liệu thức thống thất Bộ môn Tự động – tàu biển, Khoa Máy Tàu Biển dung giảng dạy cho sinh viên Ngày phê duyệt : Trưởng môn: TS Ngô Ngọc Lân MỤC LỤC Chương 1: Những khái niệm Matlab 1.1 Giới thiệu chung 1.2 M-files 1.3 Hàm tạo hàm Matlab 1.4 Mảng đơn 1.5 Mảng hai chiều 1.6 Vòng lặp điều khiển For While 1.7 Cấu chúc If-else-end 1.8 Cấu chúc Switch-case 1.9 Văn Chương 2: Đồ họa Matlab 2.1 Đồ hoạ không gian hai chiều 2.2 Xử lý tính toán đồ thị hai chiều 2.3 Một số đặc điểm khác đồ thị hệ toạ độ phẳng 2.4 Đồ thị không gian ba chiều Chương 3: Biểu tượng hộp công cụ toán học 3.1 Xây dựng sử dụng đối tượng đặc trưng 3.2 Ứng dụng tính toán lên biểu thức đặc trưng 3.3 Các phép toán nâng cao Chương 4: Simulink 4.1 Giới thiệu Simulink 4.2 Phương pháp xây dựng mô hình simulink 4.3 Thư viện Simulink 5 10 12 21 23 24 25 29 29 31 39 42 50 50 53 56 61 61 62 65 Chương Những khái niệm Matlab Mục tiêu học - Giúp sinh viên hiểu cách cài đặt chạy chương trình Matlab - Tìm hiểu khái niệm chương trình Matlab Script M –files, Mảng, vòng lặp … để tiến hành làm tập đơn giản ban đầu 1.1 Giới thiệu chung 1.1 Không gian làm việc MATLAb Trong Matlab thường sử dụng cửa sổ: Windowcomand: Là cửa sổ dùng để đưa lệnh liệu vào đồng thời để in kết quả; ComandHistory: Là cửa sổ ghi lại câu lệnh nhập vào chương trình Matlab kể tử cài đặt Currentdirectory: Là cửa sổ thông báo thư mục thời Workspace: Là cửa sổ thông báo biến có nhớ Figure: Là cửa sổ thứ hai trợ giúp cho việc truy xuất đồ hoạ dùng để thể lệnh hay kết đầu dạng đồ hoạ Help: Cửa sổ trợ giúp Để nhớ chương trình vừa thực song ta dùng lệnh save (‘program’) program tên chương trình Hoặc kích chuột vào saveworkspace as menu file Để gọi chương trình ta dùng lệnh load(‘program’), program tên chương trình cần gọi, kích chuột vào load menu file Để thoát khỏi môi trường Matlab ta dùng lệnh quit exit kích chuột vào exit matlab menu file Việc ngắt chương trình dâng thực thực không theo yêu cầu thông qua phím nóng Ctrl+C 1.1.2 Làm việc với cửa sổ lệnh Cũng làm việc với cửa số lệnh Matlab nhớ lệnh gõ vào giá trị gán cho nó tạo lên Những lệnh biến gọi lưu giữ không gian làm việc Matlab gọi lại muốn Ví dụ, để kiểm tra giá trị biến tape Ví dụ để kiểm tra giá trị biến tape, tất phải làm yêu cầu Matlab cho biết giá trị biến tape cách đánh vào tên biến dấu nhắc >> tape tape = Nếu không nhớ tên biến, ta yêu cầu Matlab cho danh sách biến cách đánh lệnh who từ dấu nhắc lệnh >> who Your variables are: tape Chú ý Matlab không đưa giá trị tất biến, muốn biết giá trị, đánh tên biến vào dấu nhắc lệnh Matlab Để gọi lệnh dùng, Matlab dùng phím mũi tên (→←↑↓) bàn phím Ví dụ để gọi lệnh bạn gõ vào lúc gần tạo nhất, ta ấn phím mũi tên ↑ Tiếp tục nhấn phím này, lại gọi tiếp lệnh trước Nếu dùng phím mũi tên ↓ gọi lại lệnh từ lệnh lệnh gần Các mũi tên ← → dùng để thay đổi vị trí trỏ dòng lệnh dấu nhắc Matlab, sửa chữa dòng lệnh , thêm dùng chuột với nhớ đệm để cắt dán , copy sửa chữa văn dấu nhắc dòng lệnh 1.1.3 Các phép toán đơn giản Giống máy tính đơn giản thông thường, Matlab thực phép toán đơn giản, ví dụ1: >> 4+2+4 ans = 10 >> 4*9+9*10 ans = 126 Chú ý Matlab không ý đến khoảng trống, cho tất phần phép nhân có mức độ ưu tiên cao phép cộng Và ý khác Matlab gọi kết ans( viết tắt answer) cho hai phép tính Matlab có phép tính sau: Phép tính Phép cộng, a+b Phép trừ, a-b Phép nhân, a.b Phép chia, a/b Phép luỹ thừa, an Ký hiệu + * / hoặc\ ^ Ví dụ 5+3 7-5 18*20 56/8=8\56 5^2 Trong phép tính có mức độ ưu tiên khác nhau, tính từ trái sang phải dòng gồm nhiều lệnh phép luỹ thừa có mức độ ưu tiên cao nhất, phép nhân phép chia có mức độ ưu tiên cuối phép cộng phép trừ có mức dộ ưu tiên 1.1.4 Biến Giống ngôn ngữ lập trình khác, Matlab có quy định riêng tên biến Trươc tiên tên biến phải từ, không chứa dấu cách tên biến phải tuân thủ quy tắc sau - Tên biến có phân biệt chữ hoa chữ thường - Tên biến chứa nhiều 31 ký tự, ký tự sau ký tự thứ 31 bị bỏ - Tên biến bắt đầu phải chữ cái, chữ số số gạch - Kí tự chấm câu không phép dùng có ý nghĩa đặc biệt Matlab có biến đặc biệt sau Các biến đặc biệt Ans Pi Eps Inf Nan i (và) j Realmin Realmax Giá trị Tên biến mặc định dùng để trả kết π =3.1415 Số nhỏ nhất, dùng cộng với để số nhỏ lớn Để số vô kết 1/0 Dùng để số không xác đinh 0/0 i=j= − Số nhỏ số thực Số lớn số thực Khi gán biến a cho giá trị m náo ta viết sau a=m a= m Các biến không gian Matlab xoá không điều kiện lệnh clear Ví dụ: >> Clear a Chỉ xoá biến a >> Clear a b Xoá hai biến a,b >> Clear c* Dấu * để xoá tất biến bắt đầu ký tự c >> Clear Xoá tất biến không gian làm việc Bạn khộng hỏi để xác nhận câu lệnh tất biến bị xoá khôi phục lại 1.1.5 Câu giải thích (comment) chấm câu Tất văn đằng sau kí hiệu phần trăm (%) giải thích Ví dụ >> a=4% vi du a= Biến a gán giá trị tất ký hiệu % văn đằng sau bỏ Nhiều lệnh đặt hàng dấu chấm phẩy >>a=4,b=5;c=6 a= c= Dấu phẩy để yêu cầu Matlab hiển thị kết hình, dấu chấm phẩy không hiển thị kết hình Ta dùnh dấu ba chấm (…) để câu lệnh tiếp tục hàng trường hợp phép tính thực dấu ba chấm ngăn cách toán tử biến, nghĩa tên biến không bị ngăn cách hai hàng ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.2 M-files Trong Matlab, yêu cầu thực dấu nhắc Matlab cửa sổ lệnh nhanh hiệu Tuy nhiên số lệnh tăng lên, bạn muốn thay đổi giá trị nhiều biến thực lại số lệnh với giá trị mới, đánh lặp lại dấu nhắc Matlab trở lên buồn tẻ, Matlab cung cấp giải pháp cho vấn đề là: cho phép bạn thay lệnh Matlab file văn đơn giản yêu cầu mở file thực xác đánh dấu nhắc Matlab cửa sổ lệnh, file gọi script file, đơn giản M_file Danh từ “script” để thực tế Matlab đọc từ file kịch tìm thấy file Danh từ ‘M_ file” để tên script file phải kết thúc phần mở rộng “.m” ví dụ example1.m Để tạo scrip M_file, chọn New bảng chọn file chọn M_file Thủ tục tạo hình soạn thảo, ta đánh lệnh Matlab vào Ví dụ sau cho ta biết diện tích hình chữ nhật function example1 dai=4; rong=5; dientich = dai*rong Ta ghi lưu trữ file cách chọn Save từ bảng chọn file Khi ghi tên file phải ý đánh tên file trùng với tên hàm (example1) không cần đánh vào phần mở rộng, Matlab tự gán cho Khi từ dấu nhắc ta đánh: >> example1 dientich = 20 Dưới số lệnh hệ thống tương tác với *.mfile thường gặp Tên lệnh disp(ans) type what input pause pause(n) Waitforbuttonpress Chức Hiển thị kết mà không tên biến Lệnh cho xem nội dung file, ngầm định file dạng M-file Lệnh cho biết tất files M-files MAT-file có vùng làm việc hành hay không Sử dụng dấu nhắc để đưa liệu vào Dừng lại người dùng nhấn phím bất ký Dừng lại n giây Dừng lại người dùng nhấn chuột phím Ví dụ hàm disp, input function example2 chieu_dai=input('chieu dai hinh chu nhat:'); chieu_rong=input('chieu rong hinh chu nhat:'); dien_tich=chieu_dai*chieu_rong; disp('Dien tich la:') disp(dien_tich) Kết xuất trình là: >> example2 chieu dai hinh chu nhat:4 chieu rong hinh chu nhat:5 Dien tich la: 20 Ví dụ hàm type >> type example2 function example2 chieu_dai=input('chieu dai hinh chu nhat:'); chieu_rong=input('chieu rong hinh chu nhat:'); dien_tich=chieu_dai*chieu_rong; disp('Dien tich la:') disp(dien_tich) Ví dụ: tính diện tích hình tam giác ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.3 Hàm tạo hàm Matlab Các hàm người sử dụng viết lưu M-file Chúng sử dụng giống hàm Matlab Các file hàm viết theo quy tắc chặt chẽ *Các quy tắc viết hàm M-file Hàm phải function, sau tham số đầu ra, dấu bằng, tên hàm Tham số đầu vào viết tên hàm bao ngoặc đơn Dòng định nghĩa tham số đầu vào tham số đầu ra; phân biệt khác file hàm file script Một số dòng nên viết thích cho hàm Khi sử dụng lệnh help với tên hàm, thích hàm hiển thị Các thông tin trả lại hàm lưu vào tham số (ma trận) đầu Vì kiểm tra chắn hàm có chứa cấu lệnh ấn định giá trị tham số đầu Các biến (ma trận) tên sử dụng hàm chương trình cần đến Không có lộn xộn xảy hàm chương trình thực cách tách biệt Các giá trị tính toán hàm, tham số đầu không chịu tác động chương trình Nếu hàm cho nhiều giá trị đầu phải viết tất giá trị trả lại hàm thành vector dòng khai báo hàm Ví dụ function [x1,x2,x3]= chuyendong(x) Một hàm có nhiều tham số đầu vào cần thiết phải liệt kê chúng khai báo hàm Ví dụ function a=example(b1,b2) Các biến đặc biệt nargin nargout xác định tham số đầu vào tham số đầu sử dụng hàm Các tham số biến cục Ví dụ: function dt=dientich(chieudai,chieurong) dt=chieudai*chieurong; Kết xuất trình: >> dientich(4,5) ans = 20 Ví dụ: Tính chu vi hình tam giác ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.4 Mảng đơn Trong tinh toán phải lặp lặp lại nhiều số Để tiện cho việc tính toán số quy chung dạng gọi mảng 1.4.1 Định nghĩa mảng đơn Trong Matlab để tạo mảng đơn 1,2,4,5,6,7 ta việc gõ dòng lệnh sau vào dấu nhắc Matlab >>x=[1,2,4,5,6,7] x= Hoặc viết: >> x= [1 7] x= Mảng có phần tử gọi vector hàng 1.4.2 Địa mảng (*)Để truy nhập đến phần tử mảng ta dùng số thứ tự phần tử mảng Ví dụ cho mảng x=7,9,11,13,15,17,19 hay cho biết giá trị phần tử thứ mảng ta có câu lệnh sau >> x=[7,9,11,13,15,17,19] x= 11 13 15 17 19 >> x(2)% phan tu thu cua mang ans = (*) Để truy nhập nhiều phần tử mảng Ví dụ để truy nhập từ phần tử thứ đến phần tử thứ mảng >> x(1:4) ans = 11 13 >> x(2:5) % truy nhap tu phan tu thu den phan tu thu cua mang 10 Trong Matlab có loại phép toán? Hãy cho biết ký hiệu chúng? Câu lệnh sau có ý nghĩa gì? if ((a==b)/(c~=d) )&(e>=f) & ((g==h)/(i=o) & (p==q)) u=2; end Xét chuỗi dãy số a1, a2, … an Mỗi dãy số có m phần tử Hãy tìm xem dãy số có hai dãy số giống không Sinh viên không chữa, xóa, làm bẩn phiếu thi SỐ : 02 PHIẾU THI HẾT MÔN MÔN HỌC : TIN HỌC CHUYÊN NGÀNH LỚP : Trưởng môn Hãy trình bày hai cấu chúc if else end switch case Cho biểu thức sau: R2=c2-a2*w2 Q2=b2*w R3=d3-b3*w2 Q3=c3*w-a3*w3 Trên hệ trục thứ vẽ đồ thị thứ với trục hoành R2, trục tung Q2 Trên hệ trục thứ hai vẽ đồ thị thứ hai với trục hoành R3, trục tung Q3 Sinh viên không chữa, xóa, làm bẩn phiếu thi SỐ : 03 PHIẾU THI HẾT MÔN MÔN HỌC : TIN HỌC CHUYÊN NGÀNH LỚP : Trưởng môn Trong Matlab việc định dang đơn giản hoá thực hàm gì? Hàm subs hàm compose có ý nghĩa nào? Cho biểu thức sau: y1=sin(a*x); y2=cos(b*x); y3=sin(c*x)/cos(d*x); y4=sin(e*x)*cos(f*x) Hãy vẽ đồ thị biểu thức bốn hệ trục toạ độ khác Trong đố hệ trục thứ có tiêu đề sin(x), hệ trục thứ hai có tiêu đề cos(x), hệ trục thứ có tiêu đề sin(x)/cos(x), hệ trục bốn có tiêu đề sin(x)*cos(x) Miền giá trị x a,b,c,d,e,f nhập từ bàn phím Sinh viên không chữa, xóa, làm bẩn phiếu thi SỐ : 04 PHIẾU THI HẾT MÔN MÔN HỌC : TIN HỌC CHUYÊN NGÀNH LỚP : Trưởng môn 76 Ngoài loại đồ thị dùng hệ toạ độ phẳng dùng loại đồ thị phần học? Hàm fplot? Vẽ đồ thị hình tròn sau: (x1+a1) + (y1+b1) = R1 (x2+a2) + (y2+b2) = R2 Với hệ số a1, b1, a2, b2, R1, R2 nhập từ bàn phím Yêu cấu R1,R2 >0 Sinh viên không chữa, xóa, làm bẩn phiếu thi SỐ : 05 PHIẾU THI HẾT MÔN MÔN HỌC : TIN HỌC CHUYÊN NGÀNH LỚP : Trưởng môn Hãy cho biết không gian làm việc cửa sổ lệnh matlab? Cho biểu thức sau: A= a1*x5 + b1*x4 +c1*x3 +d1*x2 +e1*x B= cos(a2*x) +sin(b2*x) +cotg(c2*x) +tg(d2*x) Trong a1, b1, c1, d1, e1, a2, b2, c2, d2 nhập từ bàn phím Hãy giải phương trình A=0, B=0 vẽ đồ thị phương trình Sinh viên không chữa, xóa, làm bẩn phiếu thi ĐÁP ÁN ĐỀ THI THAM KHẢO Đề số Câu 1: Điểm Câu trả lời 77 0.5 0,5 Trong Matlab, yêu cầu thực dấu nhắc Matlab cửa sổ lệnh nhanh hiệu Tuy nhiên số lệnh tăng lên, bạn muốn thay đổi giá trị nhiều biến thực lại số lệnh với giá trị mới, đánh lặp lại dấu nhắc Matlab trở lên buồn tẻ, Matlab cung cấp giải pháp cho vấn đề là: cho phép bạn thay lệnh Matlab file văn đơn giản yêu cầu mở file thực xác đánh dấu nhắc Matlab cửa sổ lệnh, file gọi script file, đơn giản M_file Danh từ “script” để thực tế Matlab đọc từ file kịch tìm thấy file Danh từ ‘M_ file” để tên script file phải kết thúc phần mở rộng “.m” ví dụ example1.m Để tạo scrip M_file, chọn New bảng chọn file chọn M_file Thủ tục tạo hình soạn thảo, ta đánh lệnh Matlab vào Ví dụ sau cho ta biết diện tích hình chữ nhật function example1 dai=4; rong=5; dientich = dai*rong Ta ghi lưu trữ file cách chọn Save từ bảng chọn file Khi ghi tên file phải ý đánh tên file trùng với tên hàm (example1) không cần đánh vào phần mở rộng, Matlab tự gán cho Khi từ dấu nhắc ta đánh: >> example1 0,5 dientich = 20 Dưới số lệnh hệ thống tương tác với *.mfile thường gặp Tên lệnh disp(ans) type 0.5 what input pause pause(n) Waitforbuttonpress 0,5 Chức Hiển thị kết mà không tên biến Lệnh cho xem nội dung file, ngầm định file dạng Mfile Lệnh cho biết tất files M-files MAT-file có vùng làm việc hành hay không Sử dụng dấu nhắc để đưa liệu vào Dừng lại người dùng nhấn phím bất ký Dừng lại n giây Dừng lại người dùng nhấn chuột phím Ví dụ hàm disp, input function example2 chieu_dai=input('chieu dai hinh chu nhat:'); chieu_rong=input('chieu rong hinh chu nhat:'); dien_tich=chieu_dai*chieu_rong; disp('Dien tich la:') disp(dien_tich) 78 Kết xuất trình là: >> example2 chieu dai hinh chu nhat:4 chieu rong hinh chu nhat:5 Dien tich la: 20 Ví dụ hàm type >> type example2 function example2 chieu_dai=input('chieu dai hinh chu nhat:'); chieu_rong=input('chieu rong hinh chu nhat:'); dien_tich=chieu_dai*chieu_rong; disp('Dien tich la:') disp(dien_tich) Ví dụ: tính diện tích hình tam giác 1,0 1,0 0,5 hàm tạo hàm Matlab (2,5đ) Các hàm người sử dụng viết lưu M-file Chúng sử dụng giống hàm Matlab Các file hàm viết theo quy tắc chặt chẽ *Các quy tắc viết hàm M-file Hàm phải function, sau tham số đầu ra, dấu bằng, tên hàm Tham số đầu vào viết tên hàm bao ngoặc đơn Dòng định nghĩa tham số đầu vào tham số đầu ra; phân biệt khác file hàm file script Một số dòng nên viết thích cho hàm Khi sử dụng lệnh help với tên hàm, thích hàm hiển thị Các thông tin trả lại hàm lưu vào tham số (ma trận) đầu Vì kiểm tra chắn hàm có chứa cấu lệnh ấn định giá trị tham số đầu Các biến (ma trận) tên sử dụng hàm chương trình cần đến Không có lộn xộn xảy hàm chương trình thực cách tách biệt Các giá trị tính toán hàm, tham số đầu không chịu tác động chương trình Nếu hàm cho nhiều giá trị đầu phải viết tất giá trị trả lại hàm thành vector dòng khai báo hàm Ví dụ function [x1,x2,x3]= chuyendong(x) Một hàm có nhiều tham số đầu vào cần thiết phải liệt kê chúng khai báo hàm Ví dụ function a=example(b1,b2) Các biến đặc biệt nargin nargout xác định tham số đầu vào tham số đầu sử dụng hàm Các tham số biến cục function dt=dientich(chieudai,chieurong) dt=chieudai*chieurong; Kết xuất trình: >> dientich(4,5) 79 ans = 20 Câu 2: function bai2 1 1 i=0; while i==0 a=input('Nhap canh a: '); b=input('Nhap canh b: '); c=input('Nhap canh b: '); if (a> j=2; >> if i>j a=6 else a=-6 end a= 80 -6 Khi có ba nhiều điều kiện thay đổi, cấu trúc if biểu thức điều kiện khối lệnh thực điều kiện elseif biểu thức điều kiện khối lệnh thực điều kiện elseif biểu thức điều kiện khối lệnh thực điều kiện elseif biểu thức điều kiện else khối lệnh thực điều kiện end >> i=2 i= >> if i==3 a=4 elseif i==4 a=5 elseif i==5 a=6 else a=7 end a= Trong mẫu dạng biểu thức điều kiện câu lệnh sau không kiểm tra nữa, cấu trúc if-else-end lại bỏ qua Hơn câu lệnh else cuối không cần cho vào Cấu trúc if-else-end lồng 1 1.8 Cấu trúc switch-case Khi chuỗi lệnh thực dựa biểu thức thử (hoặc biểu thức điều kiện) với nhiều giá trị thử khác nhau, người ta thường dùng cấu trúc switch-case Cấu trúc switch-case có dạnh sau: switch biểu thức điều kiện case giá trị thử khối lệnh case { giá trị thử 2, giá trị thử 3, giá trị thử 4} khối lệnh otherwise khối lệnh end Tại biểu thức điều kiện phải dạng số dạng chuỗi, biểu thức điều kiện dạng số lệnh case thử xem giá trị biểu thức có giá trị 81 thử i không Nếu biểu thức điều kiện chuỗi lệnh case so sánh chuỗi với giá trị thử i Trong trường hợp trên, biểu thức điều kiện đem so sánh với giá trị thử 1, chúng khối lệnh thực hiện, mà khối lệnh trước trạng thái end bỏ qua Nếu chúng không điều kiện tiếp tục so sánh với giá trị thử 2, giá trị thử 3, giá trị thử , giá trị biểu thức điều kiện khối lệnh thực Chú ý switch-case phải có nhóm lệnh phải thực Ví dụ: >> i=3 i= 0,5 >> switch i case a=1 case a=2 case a=3 otherwise a=4 end a= Câu 2: 1 1 function bai2 a2= input('Nhap a2'); b2= input('Nhap b2:'); c2= input('Nhap c2:'); a3= input('Nhap a3:'); b3= input('Nhap b3:'); c3= input('Nhap c3:'); d3= input('Nhap d3:'); w=linspace(-10,10,100); R2=c2-a2*w.^2; Q2=b2*w; R3=d3-b3*w.^2; Q3=c3*w-a3*w.^3; subplot(2,1,1) plot(R2,Q2) subplot(2,1,2) plot(R3,Q3) 82 Đề số Câu 1: Định dạng đơn giản hoá biểu thức Đôi chương trình Matlab trả lại biểu thức phức tạp Một số công cụ có sẵn trợ giúp làm cho biểu thức dễ đọc (*) Hàm pretty Hàm hiển thị biểu thức đặc trưng theo khuôn mẫu tương tự kiểu toán học >> syms a b c d x y; >> f= (a*x^4- b)/(c*y^5+3*d); >> pretty(f) ax -b -5 cy +3d (*) Hàm factor Hàm nhóm biến số biểu thức toán học lại để biểu diễn dạng thừa số Ví dụ >> sym('x'); >> f=x^2-2*x+1; >> factor(f) ans = (x-1)^2 0,5 (*) Hàm expand hàm ngược với hàm factor Ví dụ: >> sym('x'); >> f=(x-5)*(x-4)*(x-3); >> expand(f) ans = x^3-12*x^2+47*x-60 (*) Hàm simplify Đây công cụ mạnh, mục đích để đơn giản hoá biểu thức nhiều kiểu khác tích phân luỹ thừa phân số, luật số mũ… Ví dụ: >> syms a b c x >> f=sin(x)^2+3*x +cos(x)^2-5; 83 >> simplify(f) ans = -4+3*x >> f=log(x/a*4) f= log(4*x/a) >> simplify(f) ans = 2*log(2)+log(x/a) 0,5 Hàm compose Với hàm ta kết hợp f(x) g(x) thành f(g(x)) Ví dụ >> sym x; >> f= 3*x^2-5; >> g= cos(x); >> compose(f,g) ans = Sự thay biến số Giả sử ta có biểu thứcc đặc trưng x, ta muốn đổi biến thành y Mtlab cung cấp cho công cụ để thay đổi biểu thức đặc trưng, gọi subs subs(f,old,new), f biểu thực đặc trưng, old biến biểu thức đặc trưng cần thay đổi, new biểu thức đặc trưng dùng để thay old f Ví dụ: >> syms a b c x y >> f=a*x^2+b*x+c f= a*x^2+b*x+c >> subs(f,x,y) ans = a*y^2+b*y+c >> subs(f,x,2) % new giá trị số ans = 84 4*a+2*b+c Câu 2: 1 1 a= b= c= d= e= f= function bai2 input(' nhap a:'); input(' nhap b:'); input(' nhap c:'); input(' nhap d:'); input(' nhap e:'); input(' nhap f:'); x=linspace(-10,10,100); y1=sin(a*x); y2=cos(b*x); y3=sin(c*x)./cos(d*x); y4=sin(e*x).*cos(f*x); subplot(2,2,1) plot(x,y1) title('sin(x)'); subplot(2,2,2) plot(x,y3) title('cos(x)'); subplot(2,2,3) plot(x,y3) title('sin(x)/cos(x), '); subplot(2,2,4) plot(x,y4) title('sin(x)*cos(x'); Đề số Câu 1: Đồ thị hình múi tiêu chuẩn 85 Để tạo đồ thị dạng ta dùng hàm pie(a,b) Trong a vector giá trị b vector logic tuỳ trọn Phần i đồ thị tính a[i]/sum(a) b sử dụng để kéo phần đặc biệt đồ thị khỏi miêng bánh Ví dụ >> a=[ 3]; >> pie(a, a=min(a)) Biểu đồ pareto Trong biểu đồ giá trị vector vẽ thành khối hình chữ nhật Ví dụ >>pareto (a) 1 Vẽ đồ thị với thang chia khác Đôi ta muốn vẽ hai hàm káhc hệ trục mà lại sử dụng thang chia khác nhau, plotyy làm điều Ví dụ >> x=[1 4]; >> y= x.^2+2*x-7; 86 >> z= x./2 -2*x; >> plotyy(x,y,x,z) 1 Vẽ đồ thị hàm fplot Cho đến thời điểm việc vẽ đồ thị hàm đơn giản dựa việc tính giá trị hàm điểm rời rạc, dùng điểm để biểu diễn hàm giá trị rời rạc Trong nhiều trường hợp giải giải pháp chấp nhận nhiên có số hàm tương đối phẳng số khoảng lại trở lên đột biến số giá trị định Sử dụng phương pháp truyền thống trường hợp làm tính hcân thực đồ thị Vì Matlab cung cấp cho hàm vẽ đồ thị thông minh, gọi fplot Hàm tính toán cách cẩn thận hàm số cần vẽ đảm bảo cách chắn tất điểm đặc biệt biểu diễn đồ thị Cấu chúc hàm fplot sau: fplot(S,[a1,a2]) S: chuỗi ký tự tên hàm, công thức hàm a1: giá trị đầu a2: giá trị cuối Ví dụ >> fplot('2+exp(-x).*sin(x)',[0,8]) Câu 2: 1 function bai2 a1= input('Nhap a1: a2= input('Nhap a2: b1= input('Nhap b1: b2= input('Nhap b2: i=0; '); '); '); '); 87 0,5 0,5 1 While i==0 R1=input('Nhap R1: '); if R1 > i=1; else disp('* Ban da nhap sai yeu cau nhap lai R1 *') end end i=0; While i==0 R2=input('Nhap R2: '); if R2 > i=1; else disp('* Ban da nhap sai yeu cau nhap lai R2 *') end end x1=linspace(-a1-R1,-a1+R1,100); x2=linspace(-a2-R2,-a2+R2,100); y1= ((R1^2 - (x1+a1).^2)).^(1/2) - b1; y2= -((R1^2 - (x1+a1).^2)).^(1/2) - b1; y3= ((R2^2 - (x2+a2).^2)).^(1/2) - b2; y4= -((R2^2 - (x2+a2).^2)).^(1/2) - b2; hold on plot(x1,y1); plot(x1,y2); plot(x2,y3); plot(x2,y4); Đề số Câu 1: 0,5 0,5 0,5 0,5 Không gian làm việc MATLAB Matlab sử dụng hai cửa sổ: sổ thứ dùng để đưa lệnh liệu vào đồng thời để in kết quả; cửa sổ thứ hai trợ giúp cho việc truy xuất đồ hoạ dùng để thể lệnh hay kết đầu dạng đồ hoạ Để nhớ chương trình vừa thực song ta dùng lệnh save (‘program’) program tên chương trình Hoặc kích chuột vào saveworkspace as menu file Để gọi chương trình ta dùng lệnh load(‘program’), program tên chương trình cần gọi, kích chuột vào load menu file Để thoát khỏi môi trường Matlab ta dùng lệnh quit exit kích chuột vào exit matlab menu file 88 0,5 Việc ngắt chương trình dâng thực thực không theo yêu cầu thông qua phím nóng Ctrl+C 0,5 Làm việc với cửa sổ lệnh Cũng làm việc với cửa số lệnh Matlab nhớ lệnh gõ vào giá trị gán cho nó tạo lên Những lệnh biến gọi lưu giữ không gian làm việc Matlab gọi lại muốn Ví dụ, để kiểm tra giá trị biến tape Ví dụ để kiểm tra giá trị biến tape, tất phải làm yêu cầu Matlab cho biết giá trị biến tape cách đánh vào tên biến dấu nhắc >> tape tape = Nếu không nhớ tên biến, ta yêu cầu Matlab cho danh sách biến cách đánh lệnh who từ dấu nhắc lệnh >> who Your variables are: tape 0,5 Chú ý Matlab không đưa giá trị tất biến, muốn biết giá trị, đánh tên biến vào dấu nhắc lệnh Matlab 0,5 Để gọi lệnh dùng, Matlab dùng phím mũi tên (→←↑↓) bàn phím Ví dụ để gọi lệnh bạn gõ vào lúc gần tạo nhất, ta ấn phím mũi tên ↑ Tiếp tục nhấn phím này, lại gọi tiếp lệnh trước Nếu dùng phím mũi tên ↓ gọi lại lệnh từ lệnh lệnh gần Các mũi tên ← → dùng để thay đổi vị trí trỏ dòng lệnh dấu nhắc Matlab, sửa chữa dòng lệnh , thêm dùng chuột với nhớ đệm để cắt dán , copy sửa chữa văn dấu nhắc dòng lệnh Câu 2: 0,5 0,5 0,5 function bai2 syms x; a1= input(' Nhap a1: '); b1= input(' Nhap b1: '); c1= input(' Nhap c1: '); d1= input(' Nhap d1: '); e1= input(' Nhap e1: '); a2= input(' Nhap a2: '); b2= input(' Nhap b2: '); c2= input(' Nhap c2: '); d2= input(' Nhap d2: '); A= a1*x^5 + b1*x^4 +c1*x^3 +d1*x^2 +e1*x; B= cos(a2*x) +sin(b2*x) +1/tan(c2*x) +tan(d2*x); disp('Cac nghiem cua bieu thuc A la:') solve(A) 89 0,5 disp('Cac nghiem cua bieu thuc B la:') solve(B) 0,5 subplot(1,2,1) ezplot(A) 0,5 subplot(1,2,2) ezplot(B) 90 ... môn học Điều kiện tiên quyết: Sinh viên học môn phải học qua môn sở như: Toán cao cấp, Tin học đại cương số môn chuyên ngành trước học môn Mục đích học phần: Nhằm cung cấp cho sinh viên ngành. .. Tên học phần: Tin hoc chuyên ngành Bộ môn giảng dạy: Tự động Mã học phần 12206 Ts tiết 45 Lý thuyết 30 Loại học phần: II Khoa phụ trách: Máy tàu biển Tổng số TC: Thực hành / Xemina 15 Tự học. .. 0.5 2 1 1 1 1 1 Nhiệm vụ sinh viên: Lên lớp đầy đủ chấp hành quy định Nhà trường Tài liệu học tập: Tin học Máy tàu biển Matlab sở Hình thức tiêu chuẩn đánh giá sinh viên: - Thi viết, thời gian làm

Ngày đăng: 08/06/2017, 09:26

TỪ KHÓA LIÊN QUAN

w