Loại kỹ sư nào sử dụng python?

Bất kỳ kỹ sư nào cũng sẽ nghe nói về Python ở giai đoạn này. Nhưng nếu bạn là một kỹ sư cơ khí điển hình, có khả năng bạn và nhóm của bạn sẽ không sử dụng Python để phân tích dữ liệu của bạn

Điều này đang bắt đầu thay đổi (bằng chứng là bạn đang đọc blog này. ) hiện nay khi các kỹ sư cơ khí đang từ bỏ MATLAB với số lượng lớn hơn để ủng hộ Python

Trong blog này, tôi sẽ giải thích lý do tại sao quá trình di chuyển này lại diễn ra và cách bắt đầu. Tôi cũng sẽ cung cấp một bộ mã ví dụ mà bạn có thể chạy ngay trong trình duyệt của mình mà không cần cài đặt bất kỳ thứ gì. Nó tải một số dữ liệu (bất kỳ tập dữ liệu nào. ), vẽ đồ thị và sau đó thực hiện một số phân tích miền thời gian và miền tần số cơ bản (có thể đánh vào phần lớn những gì bạn đang sử dụng MATLAB cho bất kỳ trường hợp nào). Có RẤT NHIỀU tài nguyên trực tuyến cung cấp thêm chi tiết về cách bắt đầu, vì vậy tôi cũng sẽ chỉ cho bạn một số tài nguyên tốt

tôi sẽ che


Tại sao học Python

Có ba lý do chính để chuyển sang Python

  1. Nó phổ biến hơn (vì lý do chính đáng)
  2. Nó miễn phí về chi phí và về tính linh hoạt
  3. Nó có thể làm nhiều hơn

Tôi cũng sẽ trả lời hai câu hỏi mà bạn thường nhận được từ những người dùng MATLAB do dự khi thực hiện chuyển đổi

  1. Có trường hợp ngoại lệ nào mà MATLAB tốt hơn không?
  2. MATLAB nhanh hơn, phải không?

Python đang trở nên phổ biến hơn

Python phổ biến hơn MATLAB hơn mười lần theo chỉ số TIOBE, Python xếp thứ 2 và MATLAB thứ 17 trong danh sách các ngôn ngữ lập trình phổ biến nhất của họ. Thứ hạng được xác định bằng cách phân tích dữ liệu của công cụ tìm kiếm

Tôi thường không phải là người làm điều gì đó chỉ vì những người khác đang làm điều đó. Tôi có xu hướng thích đi ngược dòng một chút. Nhưng trong trường hợp lập trình, việc áp dụng một ngôn ngữ phổ biến hơn có lợi ích chính là cho phép bạn truy cập vào nhiều ví dụ hơn và một cộng đồng lớn hơn gồm những người có thể giúp bạn học

Trang web Stack Overflow cung cấp một nền tảng để các nhà phát triển đặt câu hỏi và cộng tác trên mã. Họ cũng chia sẻ một số dữ liệu thú vị về xu hướng về loại câu hỏi được trả lời. Biểu đồ sau (nguồn từ Stack Overflow) biểu thị tỷ lệ phần trăm câu hỏi hàng tháng được hỏi về MATLAB so với ba gói Python cốt lõi được sử dụng để phân tích và vẽ biểu đồ dữ liệu. Pandas, NumPy và Matplotlib (thêm về các gói Python sau)

Các câu hỏi về MATLAB đạt đỉnh điểm vào năm 2015, nhưng kể từ đó, sự quan tâm đã giảm xuống trong khi việc áp dụng các công cụ tương đương Python thậm chí còn tăng nhanh hơn. Năm 2021, MATLAB chiếm khoảng 0. 2% câu hỏi trên Stack Overflow. Trong khi đó, thư viện vẽ đồ thị và phân tích dữ liệu cốt lõi trong Python chiếm khoảng 4% tổng số câu hỏi. Cộng đồng phân tích dữ liệu và kỹ thuật nói chung đang ồ ạt áp dụng Python; .

Python là mã nguồn mở, nghĩa là bất kỳ ai cũng có thể đóng góp mã cho cộng đồng bằng Python. Điều này làm cho sự phổ biến ngày càng tăng của Python giúp phát triển theo cấp số nhân các khả năng và hiệu suất của ngôn ngữ lập trình cùng với nó

Python là miễn phí

Python là miễn phí, không mất bất kỳ chi phí nào để bắt đầu phát triển với nó. Trong khi đó, MATLAB by Mathworks có giá 2.150 USD/người dùng/năm . Và đây chỉ là giấy phép cơ sở. Sau đó, họ cũng bán nhiều Hộp công cụ có giá từ 1.000 đô la bổ sung mỗi năm cho đến một số gói có giá hơn 10.000 đô la mỗi năm.

Python không chỉ miễn phí về chi phí mà còn miễn phí về tính linh hoạt. Bởi vì nó là mã nguồn mở và được nhiều đối tượng sử dụng hơn nên có một số cách khác nhau để sử dụng Python. Điều này có nghĩa là có nhiều giao diện người dùng khác nhau (một số chúng tôi sẽ hiển thị trong giây lát). Bạn có thể sử dụng nó trên bất kỳ hệ điều hành nào (Windows, Apple, Linux, v.v. ) mà không cần giấy phép mới. Và hiện có hơn 300.000 gói miễn phí có sẵn trên PyPi cung cấp mã và chức năng mà bạn có thể sử dụng -- và thậm chí sửa đổi -- hoàn toàn tự do

Python có thể làm nhiều hơn nữa

Python có thể thực hiện và vượt trội trong phân tích dữ liệu mà chúng ta thường thực hiện trong MATLAB. Tuy nhiên, nó có thể làm nhiều hơn nữa. Nó được dùng để chạy các trang web lớn như Reddit, Netflix, Instagram và thậm chí cả Google. Nó giao tiếp với dữ liệu dựa trên đám mây dễ dàng hơn nhiều và nó có các thư viện máy học có sẵn và có khả năng hơn. MATLAB, trong khi đó, sẽ cố gắng thuyết phục bạn mua một hộp công cụ khác.  

Trên đây là một chặng đường dài để nói rằng nói chung

Mọi thứ có thể được thực hiện trong MATLAB đều có thể được sao chép trong Python với gói phù hợp. Tuy nhiên, điều ngược lại là không đúng

 


Có ngoại lệ nào không?

Tôi đã bao gồm một cảnh báo trong câu lệnh cuối cùng đó vì có một số trường hợp khó khăn khi không có sẵn các gói có thể so sánh được trong Python. chưa.

Những thứ này thường tập trung vào một số hộp công cụ rất đặc biệt của MATLAB như hộp công cụ liên lạc của chúng (Truyền thông vệ tinh, LTE và 5G) và một số điều kỳ lạ khác (mặc dù giống như hầu hết mọi thứ trong Python, có thể chỉ cần đào một chút để tìm gói tương đương phù hợp). MathWorks (sở hữu MATLAB) cung cấp Simulink, một môi trường mô hình hóa và mô phỏng với các sơ đồ khối mà Python cũng không có giải pháp thay thế rõ ràng nào

Nhưng tôi sẵn sàng cá rằng phần lớn các kỹ sư cơ khí sử dụng MATLAB không dựa vào các hộp công cụ này, nghĩa là họ có thể dễ dàng chuyển sang Python mà không bị giảm hiệu suất. Đối với các nhu cầu phân tích dữ liệu và thiết bị chung, mọi thứ có thể được thực hiện trong MATLAB (hoặc thậm chí LabVIEW) đều có thể được sao chép trong Python (nhưng hãy nhớ rằng điều ngược lại không đúng)


Nhưng MATLAB nhanh hơn phải không?

Tôi bắt đầu tò mò về Python vào năm 2016 vì một số lý do, bao gồm cả việc nhóm viết phần mềm enDAQ đã làm điều đó bằng Python (một lý do khác là tài chính định lượng, điều này thật thú vị. ). Nhưng bộ phận kỹ thuật cơ khí của công ty, bao gồm tất cả các giám đốc điều hành, là những người sử dụng MATLAB rất nhiều

Tôi đã nghe từ những người yêu thích MATLAB trường học cũ này rằng nó sẽ nhanh hơn Python vì nó sử dụng các thư viện Fortran và C đã biên dịch còn Python thì không.  

Nhưng giống như rất nhiều thứ trong Python. đó không phải là một câu trả lời đầy đủ, bạn chỉ cần sử dụng đúng thư viện

NumPy, Pandas và SciPy là những thư viện chiếm ưu thế trong Python để phân tích dữ liệu và chúng thực sự sử dụng mã C và Fortran đã biên dịch bên trong giống như cách mà MATLAB thực hiện.  

Vì vậy, tôi bắt đầu so sánh Python với MATLAB để tải dữ liệu và thực hiện một số phân tích rung động cơ bản và viết một blog được xuất bản vào tháng 8 năm 2016. MATLAB so với Python. Kiểm tra tốc độ để phân tích rung động [Tải xuống miễn phí]. Lúc đầu, việc tôi chưa quen với Python đã dẫn đến mã MATLAB của tôi vượt xa phiên bản Python. Nhưng sau đó những người bình luận (một dấu hiệu khác của sức mạnh trong cộng đồng và mức độ phổ biến) đã giúp tôi cải thiện hiệu suất. Tôi đã không sử dụng đúng thư viện (tôi cần sử dụng Pandas và FFTW, xem blog để biết thêm chi tiết). Những cải tiến này đã dẫn đến Python đánh bại MATLAB để phân tích rung động cơ bản vào cuối năm 2016 . Đây là bảng kết quả cuối cùng được giải thích trong blog đó.

Loại kỹ sư nào sử dụng python?

Bây giờ, chỉ để giới thiệu Python thú vị như thế nào và một số thứ có thể thực hiện được với thư viện Plotly, đây là một biểu đồ tương tác của dữ liệu này được tạo trong Python

Mẩu chuyện dài. nếu bạn có một ví dụ về một số thuật toán phân tích dữ liệu chạy nhanh hơn trong MATLAB so với Python, thì tôi sẵn sàng cá rằng có một cách khác để triển khai thuật toán đó trong Python mà thực sự sẽ nhanh hơn MATLAB

Đối với những người đặc biệt lo lắng về tốc độ thực thi của Python, có một trình biên dịch có tên là Numba có thể dịch mã Python thành mã máy gốc hơn. Có một số ví dụ ấn tượng như ví dụ này so sánh tốc độ tính toán đại số đơn giản trong Python (có và không có Numba), MATLAB và Fortran. cảnh báo spoiler. mã Python với Numba chạy nhanh hơn 10 lần so với MATLAB (Python và NumPy chạy nhanh hơn ngay cả khi không có Numba) và thậm chí nhanh hơn Fortran

Loại kỹ sư nào sử dụng python?


Bắt đầu

Đây là một lĩnh vực mà lúc đầu tôi nghĩ MATLAB có lợi thế. Bắt đầu thật dễ dàng với MATLAB vì thực sự chỉ có một lựa chọn về nơi lấy nó và môi trường để viết mã. Mặc dù vậy, Python thì khác và có rất nhiều sự lựa chọn ở đây. Tôi sẽ đề xuất một số tùy chọn mà cá nhân tôi thích và nghĩ rằng sẽ phù hợp nhất với những người quen thuộc với MATLAB

Tải xuống gì và từ đâu

Có bốn tùy chọn ở đây theo thứ tự "đầy đủ. "

  1. Cài đặt Python trực tiếp
  2. Miniconda
  3. Trăn Anaconda
  4. Google Colab

Cài đặt chỉ Python

Để tải xuống Python, bạn có thể truy cập trực tiếp vào nguồn tại Python. tổ chức. Tuy nhiên, vấn đề ở đây là nó sẽ không đi kèm với bất kỳ gói hoặc môi trường mã hóa nào. Vì vậy, đây có lẽ sẽ không phải là điều tốt nhất để làm đối với những người đã từng sử dụng MATLAB, nó sẽ cảm thấy quá thô sơ

Loại kỹ sư nào sử dụng python?

Miniconda

Một tùy chọn hoàn chỉnh hơn một chút là cài đặt Miniconda nhưng phải thừa nhận rằng nó sẽ khá thô sơ đối với người dùng MATLAB vì ban đầu nó sẽ thiếu giao diện người dùng và yêu cầu bạn phải tải xuống IDE mà bạn muốn sử dụng

Trăn Anaconda

Tải xuống bản phân phối Anaconda, phiên bản riêng lẻ, cho đến nay là phương pháp được đề xuất cho người dùng Python mới, đặc biệt là người đến từ MATLAB. Điều này sẽ hoàn chỉnh với hơn 600 gói phổ biến và một vài môi trường khác nhau để viết và thực thi mã, chúng ta sẽ nói về điều tiếp theo

Loại kỹ sư nào sử dụng python?

Có một lưu ý ở đây. một công ty thực sự quản lý bản phân phối này và họ đã cập nhật điều khoản dịch vụ của mình vào giữa năm 2020 để không cho phép "người dùng thương mại nhiều" tải xuống phiên bản miễn phí và thay vào đó mua phiên bản thương mại có giá khởi điểm 15 đô la/tháng. Nhưng định nghĩa của họ về "người dùng thương mại nặng" có thể sẽ không phù hợp với người đọc bài viết này vì bạn sẽ không phản chiếu kho lưu trữ của họ thường xuyên

Nhưng nếu tổ chức của bạn thận trọng với nguồn mở vì bạn muốn tin tưởng rằng một công ty đang giúp quản lý điều này cho bạn và sẽ tiếp tục hỗ trợ nó, thì có thể là một ý kiến ​​hay khi xem xét các giấy phép thương mại của họ. Đây vẫn là chi phí thấp hơn nhiều so với MATLAB và cung cấp một số lợi thế của việc chia sẻ và cộng tác trên mã với các đồng nghiệp

Google Colab

Tùy chọn cuối cùng mà tôi khuyên bạn nên bắt đầu là chỉ cần truy cập Google Colaboratory (gọi tắt là Colab). Đây là mức tăng thấp nhất để bắt đầu với Python. Bạn chỉ cần mở nó trong trình duyệt và bạn có thể viết và chạy Python ngay lập tức, không cần tải xuống hoặc cài đặt. Trong các ví dụ trước, tôi đã đề cập rằng bạn cần cài đặt tất cả các thư viện Python này để bắt đầu, nhưng Colab đã sẵn sàng cung cấp rất nhiều thư viện được cài đặt sẵn (bạn có thể cài đặt các thư viện khác nếu cần, .

Loại kỹ sư nào sử dụng python?

Hãy nghĩ về Colab như Google Tài liệu cho Python. Chúng dựa trên Sổ ghi chép Jupyter (thêm về điều đó sau) cung cấp một môi trường rất phong phú để giải thích nghiên cứu của bạn, viết mã và sau đó tạo các đầu ra tương tác như biểu đồ. Trong môi trường Google, điều này cũng giúp bạn dễ dàng chia sẻ và cộng tác (như tên của nó) với những người khác trong dự án nghiên cứu và phân tích dữ liệu. Đây là video nhanh dài 3 phút giới thiệu về Colab

Google Colab hoàn toàn miễn phí nhưng họ cung cấp các phiên bản trả phí bắt đầu từ $10/tháng, cung cấp nhiều sức mạnh tính toán hơn và thời gian chạy lâu hơn. Nhược điểm duy nhất của Colab là không thể dễ dàng truy cập thông tin được lưu cục bộ trên máy tính hoặc mạng của bạn. Vì vậy, nếu bạn sắp thực hiện nhiều phân tích về dữ liệu hơi riêng tư, thì Colab có thể không dành cho bạn. Nhưng nó vẫn là một cách tuyệt vời để bắt đầu

Môi trường để viết mã

Trong Python không chỉ có vô số thư viện để sử dụng mà bạn còn có vô số cách viết và thực thi mã. Ở đây tôi sẽ cung cấp một vài ví dụ mà tôi khuyên bạn nên biết khi mới bắt đầu

gián điệp

Spyder đi kèm với bản phân phối Anaconda, đây sẽ là một điểm cộng (không cần tải xuống bổ sung) và nó có giao diện rất giống với MATLAB, vì vậy đây sẽ là một nơi hợp lý để bắt đầu nếu bạn thích và đã quen với môi trường đó. Nó sẽ bao gồm

  • Trình khám phá biến (rất hay. )
  • Trình soạn thảo để viết mã
  • Console (tương tự cửa sổ lệnh trong MATLAB)
  • trợ giúp tích hợp
  • Môn lịch sử
  • Và hơn thế nữa

Loại kỹ sư nào sử dụng python?

Phòng thí nghiệm Jupyter

Jupyter Notebooks cho phép bạn tạo và chia sẻ tài liệu có chứa mã trực tiếp, phương trình, trực quan hóa và văn bản tường thuật phong phú trong phần đánh dấu. Và tất cả điều này được thực hiện trong một trình duyệt web.  

Phân tích dữ liệu có xu hướng lặp đi lặp lại và khám phá và lý tưởng nhất sẽ dẫn đến một báo cáo mà bạn chia sẻ với các bên liên quan của mình. Trong Máy tính xách tay Jupyter, được hiển thị bên dưới, tất cả điều này được thực hiện ở một nơi có thể được xuất dưới dạng tệp PDF hoặc tệp HTML tương tác. Những thứ này rất tốt cho việc phân tích dữ liệu, MATLAB đã sao chép nó bằng " Trình chỉnh sửa trực tiếp của họ. "

Loại kỹ sư nào sử dụng python?

Jupyter Lab là phần tiếp theo của Jupyter Notebook gốc mà tôi đã yêu thích ngay lần đầu tiên sử dụng nó. Trong Jupyter Lab, bạn có giao diện người dùng theo mô-đun hơn nhiều để bao gồm các cửa sổ phụ khác nhau cho nhiều trình chỉnh sửa mã, đầu ra, trình khám phá biến, v.v. Nó cung cấp cho bạn những thứ tốt nhất từ ​​Spyder (và những gì bạn mong đợi ở MATLAB) với những gì bạn yêu thích về Jupyter Notebooks

Loại kỹ sư nào sử dụng python?

Google Colab

Tôi đã đề cập đến Google Colaboratory khi cung cấp các cách để bắt đầu cài đặt Python vì Colab là một hệ thống hoàn toàn khép kín. Nhưng nó rất hay (và phù hợp), nó cũng cần được đưa vào phần này, trên các môi trường để viết mã.  

Loại kỹ sư nào sử dụng python?

Google Colabs về cơ bản là sổ ghi chép Jupyter do Google lưu trữ giúp cộng tác với những người khác cực kỳ dễ dàng

PyCharm

Ban đầu tôi không đưa PyCharm vào phần giới thiệu về Python nhưng một trong những kỹ sư phần mềm của tôi đã thuyết phục tôi. Đây là môi trường mà các nhà phát triển "thích hợp" sẽ sử dụng vì nó được dùng để tạo và quản lý các "dự án" bao gồm nhiều dự án khác nhau. py để xây dựng một chương trình phần mềm hoàn chỉnh. Vì vậy, để hỗ trợ điều này, PyCharm cung cấp các công cụ tái cấu trúc, gỡ lỗi, thử nghiệm tuyệt vời và các công cụ khác. Nó cũng bao gồm hỗ trợ và hoàn thành mã có thể tăng tốc đáng kể việc viết mã (đôi khi bạn thấy mình gõ cùng một dòng ở nhiều nơi. )

Loại kỹ sư nào sử dụng python?

Nhưng tôi nghĩ đối với người mới bắt đầu Python, điều này sẽ là quá nhiều, nhưng thật tốt khi biết nó có sẵn


Ví dụ tương tác cơ bản & miễn phí

Trong Google Colab này, chúng ta sẽ xem qua một ví dụ thực hiện như sau. Điều này sẽ bao gồm khả năng bạn tải lên dữ liệu của riêng mình để tự do phân tích mà không cần tải xuống bất kỳ thứ gì

  1. Tải CSV (giả định thời gian so với tăng tốc)
  2. Phân tích cơ bản trong miền thời gian
  3. Vẽ chuỗi toàn thời gian với matplotlib
  4. Vẽ đỉnh di chuyển với Plotly
  5. Vẽ đồ thị RMS di chuyển với Plotly
  6. Vẽ lịch sử thời gian quanh đỉnh với Plotly
  7. Tính toán và vẽ đồ thị PSD
  8. RMS tích lũy từ PSD
  9. Tìm và vẽ biểu đồ tần số cực đại di chuyển

Loại kỹ sư nào sử dụng python?

Chúng ta có một. Nó cũng xem trước một chút thư viện của enDAQ để phân tích dữ liệu sốc và rung.


Tài nguyên

Hãy nhớ rằng Python cực kỳ phổ biến nên có RẤT NHIỀU nội dung trực tuyến để giúp bạn học. Ngoài ra còn có một vài hướng dẫn đặc biệt tốt cho những người quen thuộc với MATLAB

  • Sách trắng chi tiết từ Enthought hướng đến người dùng MATLAB
  • So sánh cú pháp/Sự khác biệt giữa NumPy và MATLAB (bởi NumPy)
  • Hướng dẫn (còn nhiều hướng dẫn khác. )
    • Tại sao & Cách thực hiện chuyển đổi từ MATLAB sang Python (từ Python thực)
    • Giới thiệu về Hướng dẫn Python dành riêng cho người dùng MATLAB (từ DataCamp)
    • Giới thiệu về Python cho người mới bắt đầu (từ JetBrains)

Ngoài ra, đây là một hội thảo trực tuyến mà chúng tôi đã chạy trên Python dành cho các kỹ sư cơ khí. Phần đầu cung cấp thông tin tổng quan tương tự như blog này, nhưng sau khoảng 10 phút, chúng tôi bắt đầu trình diễn trực tiếp cách sử dụng Python để phân tích rung động bằng Colab.   

Loại kỹ sư nào sử dụng python?


Cuối cùng nhưng không kém phần quan trọng, hãy coi chúng tôi tại enDAQ như một nguồn tài nguyên để khai thác, đặc biệt nếu bạn đang thực hiện một số phân tích về dữ liệu sốc và rung. Chúng tôi cũng đang trong quá trình hoàn thiện một thư viện nguồn mở để thực hiện một số phân tích dữ liệu mà chúng tôi biết rằng khách hàng sử dụng cảm biến của chúng tôi và cộng đồng kỹ thuật cơ khí nói chung thường xuyên thực hiện trong MATLAB, nhưng có thể thực hiện tốt hơn bằng Python


Phần kết luận

Tôi hy vọng bài đăng này minh họa giá trị của việc chuyển sang Python. Như bạn có thể thấy, có rất nhiều tài nguyên có sẵn để giúp bạn bắt đầu lập trình. Như mọi khi, vui lòng liên hệ với chúng tôi nếu bạn có bất kỳ câu hỏi nào hoặc bạn có thể để lại nhận xét bên dưới. Và đừng quên chúng ta sẽ tổ chức hội thảo trực tuyến về chủ đề này vào ngày 14 tháng 9 lúc 12 giờ. 00 (Giờ Miền Đông). Tham gia với chúng tôi để xem trình diễn trực tiếp cách sử dụng Google Colab để phân tích dữ liệu.  

Và, nếu bạn có vài giây, hãy điền vào cuộc thăm dò ý kiến ​​của chúng tôi về Python và MATLAB. Chúng tôi luôn muốn đảm bảo nội dung của chúng tôi đáp ứng nhu cầu của độc giả, vì vậy phản hồi và ý kiến ​​đóng góp của bạn là vô giá.  

Những kỹ sư nào sử dụng Python?

Tầm quan trọng của Python đối với Kỹ thuật dữ liệu . Đối với Phân tích dữ liệu và quy trình , Python được sử dụng chủ yếu. Python là ngôn ngữ lập trình đa năng đang trở nên phổ biến hơn bao giờ hết đối với Kỹ thuật dữ liệu.

Python có thể được sử dụng trong kỹ thuật không?

Khả năng viết mã bằng ngôn ngữ python đang ngày càng trở thành một kỹ năng được săn đón, đặc biệt là trong lĩnh vực kỹ thuật . Trong các ngành được hỗ trợ bởi lập trình máy tính, kỹ năng này rất quan trọng để phân tích và trực quan hóa dữ liệu, trí tuệ nhân tạo và học máy cũng như tự động hóa.

Những ngành nghề nào sử dụng Python?

Các vai trò công việc chính mà bạn có thể ứng tuyển với Python trong hộp công cụ của mình là kỹ sư phần mềm, nhà khoa học dữ liệu, nhà phân tích dữ liệu và kỹ sư Máy học – hầu hết nằm ở các bang California và New York, như mẫu của chúng tôi đã chỉ ra, với rất nhiều vị trí 'Từ xa'

Loại ngành công nghiệp nào sử dụng Python nhiều nhất?

Trước hết, những ngành nào sử dụng Python? . phát triển web, khoa học dữ liệu và phân tích dữ liệu, học máy, khởi nghiệp và ngành tài chính , trong số những lĩnh vực khác.