Câu hỏi liên quan

0 Phiếu
2 Câu trả lời
0 Phiếu
0 Câu trả lời
0 Phiếu
0 Câu trả lời
0 Phiếu
0 Câu trả lời
0 Phiếu
0 Câu trả lời

Sử dụng transpose so với ctranspose trong MATLAB


0 Phiếu
Đã hỏi 25/5/2016 bởi fhp_842 (150 điểm)
Khi transposing vector/ma trận tại MATLAB, tôi đã nhìn thấy và được sử dụng chỉ có ' operator (apostropohe) trong một thời gian dài. Ví dụ:
>> v = [ 1 2 3 ]'
v = 
    1
    2
    3
Tuy nhiên đây là liên hợp transpose như tôi gần đây đã phát hiện ra, hoặc ctranspose. Điều này dường như chỉ có vấn đề khi không có các số phức liên quan, nơi mà nếu bạn muốn transpose matrix một mà không nhận được liên hợp, bạn cần phải sử dụng .' opertator. Nó có phải là thực hành tốt để cũng sử dụng .' thực ma trận và vectơ sau đó? Những gì nên chúng tôi giảng dạy mới bắt đầu MATLAB?

2 Câu trả lời

0 Phiếu
Đã trả lời 04/6/2016 bởi rorex (1,180 điểm)
 
Câu trả lời hay nhất
Câu hỏi thú vị! Tôi chắc chắn sẽ nói đó là thực hành tốt để sử dụng .' khi bạn chỉ muốn transpose, thậm chí nếu các số điện thoại là có thật và do đó ' sẽ có tác dụng tương tự. Lý do đường ống này là:
  1. khái niệm rõ ràng : nếu bạn cần transpose, chỉ transpose. Đừng ném vào một chia động từ không cần thiết. Đó là thực hành xấu. Bạn sẽ nhận sử dụng để viết ' để transpose và sẽ không nhận thấy sự khác biệt. Một ngày, bạn sẽ viết ' khi .' nên được sử dụng. Như hình minh họa có thể xảy ra những điều này, hãy xem này câu hỏi hoặc này một.
  2. tương lai-proofness . Nếu một ngày trong tương lai, bạn áp dụng function của bạn để phức tạp đầu vào hành vi sẽ đột nhiên thay đổi, và bạn sẽ có một thời gian khó tìm ra nguyên nhân. Tin tôi đi, tôi biết những gì tôi nói 1 .
tất nhiên, nếu bạn đang sử dụng đầu vào thực tế, nhưng một chia động từ sẽ làm cho tinh thần cho đầu vào phức tạp, sử dụng '. Ví dụ, nếu bạn xác định một sản phẩm chấm cho real vectơ, nó có thể thích hợp để sử dụng ', bởi vì nên bạn muốn sử dụng yếu tố đầu vào phức tạp trong tương lai, liên hợp transpose sẽ làm cho nhiều ý nghĩa . 1 trong Matlab ngày đầu của tôi, tôi mất nhiều thời gian để theo dõi lại một vấn đề nào đó trong mã của tôi, mà bật ra được gây ra bằng cách sử dụng ' khi tôi nên đã sử dụng .'. Những gì tôi thực sự có khó chịu là, nó đã là các giáo sư của tôi những người đã thực sự nói rằng ' có nghĩa là transpose! Ông quên đề cập đến liên hợp, và do đó lỗi của tôi. Tôi đã học được bài học: ' không phải là .'; và giáo sư có thể cho bạn biết những điều đó là đồng bằng sai :-)
Đã bình luận 05/6/2016 bởi Vf_Kohr (460 điểm)
Hi, cảm ơn bạn! Tôi thấy bạn trả lời một vài Matlab bài viết gần đây! Tôi đang trong awe. Tôi đã bí mật xung quanh, cuối cùng đã có một chút lòng can đảm để bắt đầu đóng góp. Cuộc đối thoại tuyệt vời giữa bạn, Luis Mendo, và Yvon.
0 Phiếu
Đã trả lời 04/6/2016 bởi Theres (190 điểm)
Quan điểm của tôi rất thiên vị: hầu hết trường hợp, tôi sử dụng ' là hoàn toàn "chính thức", aka không liên quan đến toán học tính toán. Nhiều khả năng tôi muốn xoay một vector giống như 1:10 trình tự chỉ mục bằng 90 độ. Tôi đói sử dụng ' để ma trận kể từ khi nó mơ hồ - câu hỏi đầu tiên mà bạn đã trả lời là lý do tại sao bạn muốn thực hiện một transpose? Nếu matrix ban đầu được xác định theo một hướng sai, tôi sẽ thay định nghĩa matrix trong một chính xác nó nên, nhưng không biến nó sau đó. Transpose matrix cho phép tính toán học , tôi rõ ràng sử dụng transposectranspose. Vì làm như vậy code dễ dàng hơn để đọc (không phải tập trung vào những dấu chấm nhỏ) và debug (không phải chăm sóc về thiếu dấu chấm). Làm các công việc sau đây như dấu chấm sản phẩm như bình thường.
Đã bình luận 04/6/2016 bởi bow9042 (300 điểm)
Tốt câu hỏi:)... mà đã tạo ra rất nhiều cuộc thảo luận. Tốt đẹp nhìn thấy bạn ở đây! Không nhìn thấy bạn xung quanh trước khi.

ToughDev Q&A là gì?

Trang web hỏi đáp cho các bạn đam mê lập trình, phát triển phần mềm và các vấn đề kỹ thuật khác. Với sự giúp đỡ của bạn, chúng tôi hy vọng sẽ xây dựng thành công một thư viện đầy đủ các câu hỏi và trả lời về tất cả các vấn đề có liên quan đến lập trình!







...