Chuyển đến nội dung
Diễn đàn CADViet

anhcos

Nhà quảng cáo
  • Số lượng nội dung

    304
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    21

Bài đăng được đăng bởi anhcos


  1. 7 giờ trước, tannguyen291 đã nói:

    dạ lisp này em viết cho giả nghịch đảo. A^-1 = (A^T x A)^-1 x A^T vì số lượng điểm chọn luôn rất lớn nên ma trận luôn không khả nghịch

    Đoạn này ạ: (mxm (invm (mxm lstAt lstA)) lstAt)

    Còn bác hỏi cái invm thì không đâu bác. :))

    Cảm ơn bạn, không ngờ lisp có sẵn hàm built-in gọn nhẹ như thế.

     

    Bài toán này của chủ thớt dùng Excel vẽ chart xong rồi add trendline là nó ra, mình chọn kiểu đường hay đa thức cấp mấy cũng dc, nó hiển thị luôn biểu thức và R^2.

     

    Mà k biết sao lâu nay không úp hình lên 4r này được nữa, các bác nào chỉ giúp cái này với?


  2. 51 phút trước, tannguyen291 đã nói:

    em cũng là đi sưu tầm lisp về mà trận thôi bác. :)) lúc đầu có tự viết nhưng tính sai liểng xiểng, thấy trên web có em copy luôn cho nhanh.

    Mình gà lisp nên k rõ cái code kia nếu không khả nghịch nó có tính ra giả nghịch đảo không bạn?


  3. Cái này fải làm nhiều lần, fải định hướng, sau đó sẽ có các tiêu chí đánh giá khác nhau, và cả tính luôn độ nhạy của biến đó trong đa thức để có cái nhìn tổng quan, kiểm tra biến phụ thuộc...

    Cái nào đúng hơn thì vào tiêu chí đánh giá như  OLS, SSE, MSE ... có cả R^2 nữa.

    Vd như OLS, nếu nó nhỏ nhất trong các cách chọn đuờng thì là chọn đúng.

    • Like 1

  4. Vào lúc 23/2/2024 tại 11:32, tannguyen291 đã nói:

    @onion911 mình đã có bài giải cho trường hợp 2 bạn nhé

    
    ;test: https://lucidar.me/en/mathematics/least-squares-fitting-of-circle/
    
    (defun c:test1 (/ ss i p lstpt lstA lstAt lstB lstX X Y R)
      (setq ss (ssget '((0 . "POINT"))))
      (repeat (setq i (sslength ss))
        (setq 
          i (1- i)
          p (cdr (assoc 10 (entget (ssname ss i))))
          lstpt (cons p lstpt)
        )
      )
      (setq
        lstA (mapcar '(lambda (x) (list (car x) (cadr x) 1.0)) lstpt)
        lstB (mapcar '(lambda (x) (list (+ (expt (car x) 2) (expt (cadr x) 2)) )) lstpt)
        lstAt (trp lstA)
        lstA (mxm (invm (mxm lstAt lstA)) lstAt)
        lstX (apply 'append (mxm lstA lstB))
        X (* 0.5 (car lstX))
        Y (* 0.5 (cadr lstX))
        R (/
            (sqrt 
              (+ 
                (* 4.0 (caddr lstX))
                (expt (car lstX) 2)
                (expt (cadr lstX) 2)
              )
            )
            2.0
          )
      )
      (entmakex (list '(0 . "CIRCLE") (list 10 X Y 0) (cons 40 R)))
    )
    
    ;Phep nhan ma tran
    (defun mxm ( m n )
        ((lambda ( a ) (mapcar '(lambda ( r ) (mxv a r)) m)) (trp n))
    )
    ; matrix chuyen vi
    (defun trp ( m )
        (apply 'mapcar (cons 'list m))
    )
    
    ; matrix nghich dao
    (defun invm ( m / c f p r )
        (defun f ( p m )
            (mapcar '(lambda ( x ) (mapcar '(lambda ( a b ) (- a (* (car x) b))) (cdr x) p)) m)
        )
        (setq  m (mapcar 'append m (imat (length m))))
        (while m
            (setq c (mapcar '(lambda ( x ) (abs (car x))) m))
            (repeat (vl-position (apply 'max c) c)
                (setq m (append (cdr m) (list (car m))))
            )
            (if (equal 0.0 (caar m) 1e-14)
                (setq m nil
                      r nil
                )
                (setq p (mapcar '(lambda ( x ) (/ (float x) (caar m))) (cdar m))
                      m (f p (cdr m))
                      r (cons p (f p r))
                )
            )
        )
        (reverse r)
    )
    ;matrix don vi
    (defun imat ( n / i j l m )
        (repeat (setq i n)
            (repeat (setq j n)
                (setq l (cons (if (= i j) 1.0 0.0) l)
                      j (1- j)
                )
            )
            (setq m (cons l m)
                  l nil
                  i (1- i)
            )
        )
        m
    )
    
    (defun mxv ( m v )
        (mapcar '(lambda ( r ) (apply '+ (mapcar '* r v))) m)
    )

    nguồn toán học: https://lucidar.me/en/mathematics/least-squares-fitting-of-circle/

    nguồn hàm ma trận: https://www.lee-mac.com/mathematicalfunctions.html

    Mình gà lisp nên trước giờ nghĩ là nó không tính dc ma trận hay các phép tính phức tạp.


  5. 35 phút trước, cuongtk2 đã nói:

    Em cũng xem bài giảng của BS Vũ Duy Kiên về hồi quy đơn biến và đa biến, thấy rõ ràng là phải có ít nhất một yếu tố ràng buộc ( ý chí, quan điểm) cho tập điểm. Với đường thẳng thì mình xem xét sự thay đổi của Y theo X chẳng hạn. 

    Tuy nhiên nhìn vào tập điểm và yêu cầu xác định đây là ĐƯỜNG CONG GÌ thì trình tự hình thành trong tư duy sẽ như thế nào? Đó có phải là huấn luyện không anh? Làm sao để nhận ra nó giống hình gì nhất?

     

    Cái này không huấn luyện gì cả, nhưng fải nhìn vào tập điểm để xây dựng cái hàm cho đúng, vd như ax+by/ax+by+cz/ax+bxy^2+cy/ax^2+cy^2... chẳng hạn. 

    Mình giờ nhớ ra là cỡ 2006 đã dùng Excel2003 làm cái na ná này, vẽ chart xong nó cho ra đường xấp xỉ tùy theo chọn thẳng/log/exp... và hiển thị luôn hệ số lên trên chart. Vì thực ra món này nó có từ lâu đời nên người ta đã đưa vào mấy soft tính toán rồi.


  6. Đây là bài toán hồi quy đơn biến cho đường thẳng, đa biến trong trường hợp đường cong.

    Đây là bài toán cơ bản của khoa học dữ liệu, code python đầy nhóc, có thể tìm xem rồi viết lại theo code khác.

    Cơ bản là nó tính sai số sao cho thỏa mãn theo một số tiêu chuẩn mình cần vd theo bình phương nhỏ nhất hay sai số tiêu chuẩn ước lượng... (OLS/SSE...)

     

    Còn dùng python dùng matplotlib có chục dòng là ra ngay có hình luôn, xong có ngay hệ số của đường.

    Bây giờ là thời của python rồi.


  7. Phần mềm này mình thiết kế cho một doanh nghiệp chuyên thi công hệ thống ống cho các trung tâm dữ liệu.

    Đường ống và các thứ liên quan tạo ra theo tiêu chuẩn IFC như là một phần của BIM.

     

    Ống chính bao gồm nhiều ống con kèm theo, có kích thước và độ dày khác nhau.

    Lưới tam giác nhập vào từ AutoCAD hay IFC đều được.

    Ngoài ra còn nhập được các mô hình/thiết bị... 3D bằng định dạng IFC.

    Phần mềm có chế độ xem ở Mặt bằng/Mặt cắt ngang và 3D.

     

    Mời mọi người xem video demo:

     


  8. Vào lúc 14/9/2023 tại 09:56, anhcos đã nói:

    Chỗ nhập liệu thì dùng PropertyGrid, toàn control cơ bản của win thôi. Không sử dụng thư viện ngoài nào hết.

     

    Dạo này hết việc thủy điện rồi nên quay qua thiết kế đường ống dẫn nước sinh hoạt và đường ống cho data center cho mấy anh tư bản.

    [ youtube]BDdWykUalSc[ /youtube]

    Giao diện CAD built-in tự xây dựng, giờ làm được nhiều thứ mà không cần đến AutoCAD. 


  9. Hồi xưa làm thuỷ điện nên viết cái soft vẽ nhanh mấy thành phần của đường ống áp lực.

    Giờ chuyển nghề lâu rồi, cũng do mới tìm dữ liệu cũ thì thấy nên post lên đây.

     

    Bác nào cần thì mình sẽ gởi cái soft này xài chơi.

    Soft này xuất 2D/3D cho cả AutoCAD và BricsCAD rất mượt, tuy nhiên cái GStarCAD và TurboCAD trước đây rất ok mà giờ k dc nữa.

     

    Muốn chèn cái ảnh mà giờ chịu thua k biết làm sao.

    • Like 1
    • Vote tăng 1

  10. App viết bằng liên kết muộn này tuyệt ở chỗ chạy được với các version khác nhau của AutoCAD.

    Nhưng cũng cùng chỉ một code đấy thôi mà chạy được với các soft cad khác như BricsCAD, GstarCAD .... mời các bác xem video.

     

     

    VN mình xài AutoCAD dễ quá, chứ nước khác rất nghiêm ngặt, họ chỉ dùng soft có bản quyền nên fải chọn loại có giá rẻ, AutoCAD đắt lắm.


  11. Vào lúc 3/4/2023 tại 05:07, doandacnhat đã nói:

    Có cách nào duyệt tìm nhanh và tự động ko anh? Chứ mà đi sort từng mã xong tô thì với 12000 mã căn thì chắc phải nguyên 1 ngày để tô màu 

    Mình ghi là soft mà, đâu fai sort, chỉ cần click vài cái là soft sẽ làm cho mình ngay.

     

    b1. chọn file excel, nếu bên bạn dùng database thì mình cũng truy vấn được luôn.

    b2. mở bản vẽ hiện hành

    b3. tìm và lọc hoàn toàn tự động, sau đó tô hay làm gì đó theo ý muốn.

    không cần thao tác gì trên excel hay database cả, unicode/utf cũng không có khó khăn.

     

    • Vote tăng 1

  12. Mình chuyên về code CNC các loại, ngoài ra cũng còn nhiều thứ khác như C++ cho vi xử lý của các mô hình IoT hay các cơ cấu chấp hành khác nhau.

     

    VD cánh tay này mình đã sửa lại thiết kế 3D cho gọn, viết soft giao tiếp từ pc và arduino để điều khiển, lưu trữ chuỗi hành động theo ý muốn:

    51245749123_848b812822_o.png

     

    Hay soft này điều khiển cả kính thiên văn và máy ảnh Canon để chụp ảnh vệ tinh cần quan sát:

    51245749538_3e988830cf_o.png

    Soft này sẽ có sử dụng máy học sau này để giúp tính toán ngon hơn. 

     

     

    • Like 2
×