Ngôn ngữ Wolfram - Học vẽ đồ thị trên Raspberry Pi

Mô tả dự án: 

Trong bài Học làm toán với Raspberry Pi tui đã hướng dẫn các bạn một số lệnh cơ bản để giải toán với ngôn ngữ Wolfram. Nếu các bạn không thích số và ký tự Toán học thì bài này mình sẽ hướng dẫn các bạn vẽ đồ thị nha!

Đồ thị cơ bản

Lệnh vẽ đồ thị trong Wolfram là "Plot". Ví dụ bạn muốn vẽ hàm (x+1)/(x+2) trong miền (-3,3) thì câu lệnh sẽ là:

Plot [ (x+1)/(x+2), {x,-3,3)]

Nếu bạn muốn vẽ đồ thị 3 chiều thì thêm chữ "3D" vào sau Plot. Ví dụ: bạn muốn vẽ hàm sin(xy) trong 3 chiều thì câu lệnh sẽ là:

Plot3D[ Sin[x*y], {x,-3,3}, {y,-3,3} ]

Bạn có thể nhấp chuột vào hình và xoay chỉnh các góc nhìn. Chú ý: bạn bắt buộc phải để dấu nhân hoa thị * giữa x và y, nếu không Wolfram sẽ hiểu xy là một biến chứ không phải là tích 2 biến.

Còn vẽ bất đẳng thức thì sao? Bạn thêm chữ "Region" vào trước hàm Plot[ ]. Ví dụ: Bạn muốn vẽ tập hợp các số (x,y) thỏa mãn x^2 + (y/2)^2 < 9:

RegionPlot[ x^2 + (y/2)^2 < 9, {x,-10,10), {y, -10. 10} ]

Nâng cao

Đầu tiên là vẽ nhiều đồ thị cùng 1 lúc. Bạn chỉ cần cho các hàm vào giữa 2 ngoặc nhọn { }, thêm lệnh PlotLegends -> "Expressions" để dán nhãn. Ví dụ bạn muốn vẽ 2 hàm Sin[x] và Cos[x] thì câu lệnh sẽ là:

Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi}, PlotLegends -> "Expressions"]

Để việc vẽ đồ thị sinh động hơn, ta sẽ dùng lệnh "Manipulate" để thay đổi các hệ số và quan sát ảnh hưởng của chúng. Ví dụ: muốn thử xem hàm Sin[n*x] thay đổi như thế nào khi hệ số n thay đổi, ta dùng lệnh sau:

Manipulate[Plot[Sin[n x], {x, 0, 2 Pi}], {n, 1, 20}]

Bạn có thể kéo thanh trượt để xem n ảnh hưởng đến đồ thị thế nào. Hoặc bạn có thể nhấn vào dấu + ở cuối thanh trượt để có thể tinh chỉnh nhiều hơn:

Dĩ nhiên các bạn có thể tinh chỉnh nhiều hệ số cùng 1 lúc:

Manipulate[ ParametricPlot[{a1 Sin[n1 (x + p1)], a2 Cos[n2 (x + p2)]}, {x, 0,    20 Pi}, PlotRange -> 1, PerformanceGoal -> "Quality"], {n1, 1,   4}, {{a1, 1}, 0, 1}, {p1, 0, 2 Pi}, {{n2, 5/4}, 1, 4}, {{a2, 1}, 0,   1}, {p2, 0, 2 Pi}]

Sau đó bấm vào dấu + ở góc trên cùng bên trái để nó tự chạy

Ứng dụng của Wolfram trong nghiên cứu khoa học kỹ thuật là rất lớn. Chúc các bạn trẻ thành công!

lên
4 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

ROBOT HAI BÁNH TỰ CÂN BẰNG - 2 WHEEL SELF BALANCING ROBOT

Hôm nay mình xin chia sẻ với các bạn cách làm một robot tự cân bằng trên hai bánh xe bằng Arduino từ xe đồ chơi bị hỏng của thằng nhóc ở nhà. Tất nhiên, hai động cơ và hai bánh xe chưa bị hỏng nhé. laugh. Để robot tự cân bằng trên hai bánh xe thì chuyển động của nó tương tự như việc giữ thăng bằng một cây gậy trên ngón tay. Điều này chắc các bạn cũng đã từng thử trước đây.

lên
16 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Arduino thâm cung bí sử - Thuở hồng hoang

Rất ít người biết rằng đã từng tồn tại 2 công ty Arduino tranh giành thị trường, càng ít ít người biết hơn vì sao Arduino tại sao ra đời ở nước Ý. Tuy nhiên thâm cung bí sử của Arduino chưa dừng lại đây. Bạn có biết tại sao Arduino IDE lại dùng java? Bạn có biết rằng các prototype của arduino sử dụng ARM hay chip dán ATmega128 trước khi quay sang ATmega8 để giảm giá không? Cùng đọc tiếp để hiểu thêm về thời hoang sơ của công ty này nha!

Lược dịch và tham khảo từ github của Barragán.

lên
21 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

Raspberry Pi Thiên Lý Nhãn (Phần 3): Khóa thông minh nhận dạng khuôn mặt với Raspberry Pi và OpenCV

Trong bài trước tui đã giới thiệu về việc nhận diện khuôn mặt với Raspberry Pi và webcam. Tuy nhiên bài chỉ dừng lại ở việc Raspberry Pi có thể nhận diện được khuôn mặt của bất kỳ ai đứng trước webcam mà thôi. Bài toán đặt ra là làm thế nào để Raspberry Pi nhận được khuôn mặt của chính bạn? Đây là một bài toán khó và thú vị. Khó là vì chúng ta cần thuật toán và khả năng xử lí hình ảnh mạnh. Thú vị là do ta có thể "chế cháo" kết hợp với các hệ thống bảo mật khác như vân tay, mật khẩu để tăng tính an ninh cho đề án của bạn. Vì độ phức tạp của đề án này nên tui sẽ chia ra làm 2 phần.

  • Phần đầu tiên là "phần mềm": chúng ta sẽ ghi lại khoảng 200 tấm hình webcam với khuôn mặt của bạn và huấn luyện máy tính với thuật toán chính diện (eigenfaces) của OpenCV. Do tài nguyên của Pi hạn hẹp nên bạn cần chạy phần này trên máy tính của mình. 
  • Phần tiếp theo là "phần cứng": ta nối Pi với relay và cho webcam chụp ảnh. Nếu Pi nhận diện được chính khuôn mặt của bạn thì sẽ kích relay.

Lưu ý là các bạn phải tải OpenCV về trên cả Pi và máy tính. Các bạn vào đây để download code và các tập tin cần thiết nữa: https://github.com/johnkimdinh/Facial-recognition-Raspberry-Pi-OpenCV

lên
3 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: