Matlab tìm hiểu và ứng dụng giải một số bài toán kĩ thuật

60 2K 3
Matlab tìm hiểu và ứng dụng giải một số bài toán kĩ thuật

Đ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

Matlab tìm hiểu và ứng dụng giải một số bài toán kĩ thuật

Trờng đạI học giao thông vận tảI thuyết minh đề tàI nghiên cứu khoa học cấp trờng matlab tìm hiểu ứng dụng giải một số bài toán thuậtsố : T2001- CK- 08 Ngời thực hiện : Th.S Nguyễn Bá Nghị K.S Nguyễn văn Chung K.S Phạm thế Minh Đơn vị : Bộ môn thuật máy Khoa Cơ khí HANOI - 2002 mục lục Phần 1 Giới thiệu về Matlab 1. Bắt đầu với Matlab 2. Các khái niệm cơ bản a. Câu lệnh biến b. Các phép toán c. Số dùng trong Matlab d. Nhập số liệu từ bàn phím e. In kết quả ra màn hình f. Ma trận g. Số phức ma trận phức 3. Các hàm toán học a. Các hàm lợng giác b. Các hàm toán cấp 4. Các thao tác đặc biệt trên ma trận 5. Thực hiện các phép tính trên ma trận a. Các phép tính trên ma trận b. Các phép tính phần tử - phần tử của ma trận 6. Các hàm thực hiện các phép tính về đa thức 7. Các hàm phân tích dữ liệu 8. Hàm của hàm a. Hàm tích phân số b. Hàm tìm nghiệm phơng trình phi tuyến các hàm tối u c. Hàm giải phơng trình vi phân 9. Các toán tử điều khiển 10. Các loại file trong Matlab 11. Xử lí tín hiệu 12. Vẽ đồ thị Phần 2 ứng dụng Matlab giải một số bài toánthuật 1một số bài toán về toàn mạch' title='giải một số bài toán về toàn mạch'>giải một số bài toánthuật 1. Bài toán về mạch điện 2. Giải bài toán động học cơ cấu phẳng 3. Giải bài toán cân bằng máy 4. Tính thiết kế bộ truyền bánh răng 5. Tính sức bền trục 6. Tính dao động a. Tính dao động hệ một bậc tự do b. Tính dao động hệ hai bậc tự do c. Xác định tần số dao động riêng của hệ nhiều bậc tự do Kết luận tài liệu tham khảo Giới thiệu MATLABmột bộ phần mềm dùng để tính toán các bài toán thuật, đợc viết bằng ngôn ngữ C do hãng Math Works Inc. sản xuất. Nó đợc tạo trên cơ sở những phần mềm do các nhà lập trình của các dự án LINPACK EISPACK viết ra bằng ngôn ngữ Fortran dùng cho việc thực hiện các phép tính thao tác trên ma trận. Tên của phần mềm MATLAB là chữ viết tắt của matrix laboratory có nghĩa là phơng pháp ma trận. Đến khi thực hành sử dụng phần mềm ta sẽ thấy mỗi phần tử cơ bản của MATLABmột ma trận. MATLAB liên tục đợc bổ sung hoàn thiện. Thời gian gần đây hãng sản xuất đã cho ra phiên bản mới nhất là MATLAB 6.0. Matlabmột phần mềm rất mạnh, cho phép giải rất nhanh các bài toán phân tích số liệu, tính toán ma trận, xử lí tín hiệu, mô phỏng tạo vẽ đồ thị . Lí do vì Matlab đã có một loạt các hàm chuyên giải quyết các vấn đề đó đợc đặt trong Toolbox. Thêm nữa, Matlab lại rất dễ sử dụng: nó không cần khai báo biến, các câu lệnh đợc viết rất gần gũi nh khi viết các biểu thức toán học, tiết kiệm rất nhiều thời gian cho việc lập trình. Một đặc điểm nổi bật nữa của Matlab là nó có khả năng mở rộng: ngời sử dụng có thể tự sáng tạo những file hàm đặt vào Toolbox để thực hiện giải những baì toán trong lĩnh vực chuyên môn của mình. Sau một thời gian tự tìm hiểu ứng dụng chúng tôi thấy rằng MATLABmột phần mềm rất thích hợp cho việc giải các bài toán thuật trong nhiều lĩnh vực. Đặc biệt trong các trờng Đại học thuật nó có thể giúp cho các cán bộ nghiên cứu sinh viên có đợc một công cụ sắc bén để nâng cao năng lực tính toán, tiết kiệm thời gian lập trình. Đó là lí do để nhóm nghiên cứu chúng tôi mạnh dạn thực hiện đề tài có tính chất tìm hiểu, giới thiệu thử ứng dụng này. Phần 1 giới thiệu về matlab 1. Bắt đầu với Matlab Sau khi bật máy tính, để khởi động Matlab, từ màn hình Destop, nhắp đúp trỏ chuột trái vào biểu tợng của Matlab. trên màn hình sẽ xuất hiện cửa sổ Command Window nh hình dới đây: Hình 1 Bạn cũng có thể vào Matlab bằng cách trên màn hình Destop bấm chọn Start \ Program \ Matlab5.3 kết quả mhận đợc cũng nh trên. Ta có thể trực tiếp thực hiện các phép tính toán chạy các chơng trình trên cửa sổ Command Window này. Ví dụ 1: Cần ttực hiện phép tính 201+191x32/44, từ dấu nhắc trên Command Window ta gõ vào nh sau: >> 201+191*32/44 Bấm Enter, kết quả cho nh dới đây: ans = 339.9091 Hình 2 là hình ảnh bạn thấy trên màn hình. Hình 2 Ví dụ 2: Nếu bạn muốn vẽ đồ thị hàm số y=5sinx+2cos2x+0,2x với biến x chạy từ -10 đến 10, gia số của x là 0,1, trên Command Window bạn có thể gõ vào các lệnh nh đợc thể hiện trong hình 3 dới đây: Hình 3 Sau khi bấm Enter ở dòng lệnh cuối cùng, chơng trình chạy cho kết quả là đồ thị nh trong hình 4. Hình 4 Nếu muốn lu giữ chơng trình vẽ đồ thị trên để có thể tu sửa hoặc chạy nhièu lần, bạn hãy viết một file chơng trình ( gọi là M. file) nh sau: trên cửa sổ Command Window bấm chọn File \ New \ M-file (hình 5): Hình 5 trên màn hình sẽ xuất hiện một cửa sổ soạn thảo Editor/ Debugger với tên file là [Untitled1] nh trên hình 6 dới đây: Hình 6 Viết chơng trình vẽ đồ thị trên màn hình soạn thảo đó ( Hình 7). Hình 7 Khi viêt xong ta đặt tên cho file cất nó bằng cách bấm chọn File \ Save as trên màn hình Editor / Debugger ( Hình 8). Cửa sổ Save as xuất hiện (hình 9): ta gõ Hình 8 tên file, ví dụ dothi vào ô File name rồi bấm chọn Save. Chơng trình sẽ đợc tự động cất vào th mục Work của Matlab với tên là dothi với đuôi mặc định là .m ( file vừa cất sẽ là dothi.m). ằ Hình 9 Để chạy chơng trình trong file này, tại chỗ dấu nhắc trên màn hình Command Window ta chỉ việc gõ tên file : >> dothi rồi bấm Enter.Chơng trình sẽ đợc thực hiện kết quả cho ra là đồ thị nh đợc thể hiện trên hình 4. Trờng hợp bạn cất file .m vào một th mục ngoài, khi cần chạy chơng trình có thể bấm chọn File \ Run Scrip, một cửa sổ sẽ xuất hiện bạn có thể gõ đờng dẫn tên file vào đó rồi bấm phím Enter. 2. Các khái niệm cơ bản a-Câu lệnh biến trong Matlab Các câu lệnh trong Matlab thờng có dạng sau: biến = biểu thức Tên biến đợc bắt đầu bằng một chữ cái, sau đó có thể là các chữ số. Ví dụ: a2=4/5 Matlab chấp nhận tên biến (cũng nh tên hàm) có đến 19 tự phân biệt chữ in hoa với chữ in thờng. Ví dụ : A a là tên hai biến khác nhau. Không giống với một số phần mềm lập trình khác, ở đây biến không phải khai báo trớc. Nếu không viết tên biến dấu = trớc biểu thức thì chơng trình sẽ tự động tạo tên biến là ans ( đứng cho chữ answer). Ví dụ: >> 4/5 ans = 0.8000 Nếu cuối câu lệnh ta đánh dấu kết thúc ; thì các phép tính đợc thực hiện nhng không xuất kết quả ra màn hình. Ngợc lại nếu không gõ dấu kết thúc lệnh thì kết quả tính đợc in ra màn hình. Ví dụ: >> b20=30+3^4/35 b20 = 32.3143 Nếu câu lệnh quá dài không thể viết hết đợc trên một dòng thì có thể dùng dấu ba chấm ( .) để viết tiếp trên dòng thứ hai. Ví dụ: >> b = 22.334 - 45.12 + 89.222 ( 123.30+330.2)/217.22 . + 87.32 443.112 ; Muốn viết lời chú dẫn, trớc dòng đó ta gõ dấu %. Ví dụ: % Day la chuong trinh giai phuong trinh vi fan bậc hai. Khi chạy chơng trình, máy sẽ bỏ qua dòng này. b. Các phép toán Các phép toán số học: nối các toán hạng trong biểu thức đợc với nhau. Dấu các phép toán nh sau: + cộng - trừ * nhân [...]... phép toán quan hệ == bằng = lớn hơn hoặc bằng ~= không bằng < nhỏ hơn > lớn hơn Các phép toán lô gic & / hoặc ~ không Các phép toán quan hệ lô gíc thờng đợc dùng trong các biêủ thức của các toán tử điều khiển nh if, while c Số dùng trong Matlab Matlab dùng số thập phân truyền thống với số chữ số thập phân tuỳ chọn Bạn cũng có thể dùng số dới dạng luỹ thừa của 10 số có... 1.2000 10.6480 5.6190 g Số phức ma trận phức Matlab có thể thực hiện đợc các phép toán về số phức Số phức đợc biểu thị nhờ hàm i j Ví dụ viết số phức z dùng i j nh dới đây cho kết quả nh nhau: z = 4+5*i hoặc z = 4+5*j Một ví dụ khác về số phức đợc viết dới dạng e mũ: w =r* exp(i*theta) Ma trận có các phần tử là số phức đợc viết nh sau: A=[ 3+2*i 4-9*i ; 12+i 7-6*i ] 3 Các hàm toán học a Các hàm... diễn giá trị của một véc tơ hay một ma trận dới dạng các thanh thẳng ứng hay nằm ngang Bar(y) biểu diễn các phần tử của véc tơ y nếu y là một véc tơ Nếu y là một ma trận, một nhóm thanh sẽ biểu diễn các phần tử trong một hàng, trục x sẽ biểu diễn số hàng Ví dụ: Vẽ đồ thị biểu thị số sinh viên tốt nghiêp của một trờng Đại học từ năm 1995 đến 2001, biết số sinh viên tốt nghiệp tơng ứng là 1000, 1200,... tính tổng của hai ma trận a ac nh sau: at=a+ac at = 2 5 5 -2 0 8 5 1 0 5 8 1 -2 4 4 10 - Cộng một số với ma trận: Matlab coi số đó nh một ma trận cùng cỡ với ma trận đợc cộng, mỗi phần tử của ma trận bằng chính số đó Ví dụ: cộng số là 7 với ma trận at ở trên ta đợc ma trận cs s =7; cs=s+at cs = 9 12 7 12 12 5 15 8 7 15 5 11 12 8 11 17 - Nhân ma trận với một số Ví dụ: Nhân số 3 với ma trận a ở trên... -2 -3 0 5 10 15 20 9 Các toán tử điều khiển Cũng nh các phần mềm lập trình khác, các toán tử điều khiển cũng có trong Matlab Đó là toán tử vòng lặp for, while toán tử lựa chọn if - Toán tử for Dạng chung của toán tử này đợc viết nh sau: for biến = biểu thức các câu lệnh end Biểu thức ở đây thờng có dạng m:n hoặc m:i:n, trong đó m, n là giá trị đầu cuối, còn i là gia số Ví dụ: for k=1: n a(k)=sin(k*pi/5);... [nghiem1, nghiem2] = ftb2(10,-6.5,-3.5); File dữ liệu ( data file) Ta có thể ghi số liệu vào một file gọi là file số liệu với phần mở rộng là dat Khi cần file có thể đợc gọi ra Dới đây là ví dụ về tạo gọi file số liệu: Giả sử ta có một ma trận hàng a nh sau: >>a=1:8 a= 1 2 3 4 5 6 7 8 Giờ ta muốn ghi các giá trị của ma trận a vào một file dữ liệu có tên là sl1.dat, ta dùng lệnh save với qui cách viết nh... hàm toán cấp - abs : giá trị tuyệt đối hoặc mô đun của số phức - angle : góc pha - real : phần thực của số phức - imag: phần ảo - sqrt : căn bậc hai - conj : số phức liên hợp - round : làm tròn đến số nguyên gần nhất - fix : làm tròn hớng về zẻo - sign : hàm xét dấu - gcd : ứơc số chung lớn nhất - lom : Bội số chung nhỏ nhất - exp : hàm e mũ - log : logarit cơ số tự nhiên - log10 : logarit cơ số. .. phần phần trăm theo dữ liệu trong x Mỗi phần tử trong x đợc đại diện bằng một phần của đồ thị Pie Pie(x,explode) đặt các phần tử cho đồ thị Pie Explode là một véc tơ hay một ma trận của số 0 1 tơng ứng với x Các phần tử là 0 sẽ tơng ứng với các phần tạo thành một khối liền trong đồ thị pie Nếu là giá trị 1 thì phần tử tơng ứng với mẩu trên đồ thị sẽ đợc tách rời khỏi khối liền trong đồ thị Pie Explode... Xác định đa thức khi biết trớc nghiệm Quy các viết p=poly(b) trong đó b là một ma trận hàng Kết quả sẽ cho ra là một ma trận hàng mà mỗi phần tử của nó là một hệ số của một đa thức có nghiệm là các phần tử của ma trận b ( theo số mũ giảm dần) Ví dụ: b=[2 1 -4 3]; p=poly(b) p= 1 -2 -13 38 -24 Theo kết quả trên thì các số 2, 1, -4 3 là nghiệm của đa thức : x4- 2x3 - 13x2 + 38x - 24 = 0 - Hàm roots :... sl1.dat a -ascii Khi đó ma trận a đã đợc lu trong fil sl1.dat Nếu muốn gọi ra các số liệu này gán cho cho nó một tên biến mới, ví dụ là x, ta dùng lệnh load với qui cách viết nh sau: >>load sl1.dat >> x=sl1 x= 1 2 3 4 5 6 7 8 11 Xử lí tín hiệu Matlabmột số hàm dùng để xử lí tín hiệu số dới đây: abs - giá trị (mô đun) của số phức angle góc pha conv - tích chập ( convolution) deconv ( deconvotution) . thiệu về matlab 1. Bắt đầu với Matlab Sau khi bật máy tính, để khởi động Matlab, từ màn hình Destop, nhắp đúp trỏ chuột trái vào biểu tợng của Matlab. . một ma trận. MATLAB liên tục đợc bổ sung và hoàn thiện. Thời gian gần đây hãng sản xuất đã cho ra phiên bản mới nhất là MATLAB 6.0. Matlab là một

Ngày đăng: 24/04/2013, 21:44

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan