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

[Nhờ giúp đỡ] Cách vẽ đường line/arc hồi quy tuyến tính từ các điểm có sẵn

Các bài được khuyến nghị

@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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
11 phút trước, 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

Thiếu hàm mxv

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
22 giờ trước, 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

Dạ em cảm ơn anh nhiều ạ.

Cho em hỏi thêm, em có test thử trường hợp này, em vẽ đường tròn trước, sau đó vẽ điểm trên đường tròn, sau đó dùng lệnh để test thử, thì nó lại ra đường tròn khác với đường tròn ban đầu ạ.

2024-02-24 16 11 13.gif

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
4 giờ trước, onion911 đã nói:

Dạ em cảm ơn anh nhiều ạ.

Cho em hỏi thêm, em có test thử trường hợp này, em vẽ đường tròn trước, sau đó vẽ điểm trên đường tròn, sau đó dùng lệnh để test thử, thì nó lại ra đường tròn khác với đường tròn ban đầu ạ.

2024-02-24 16 11 13.gif

Mình hoàn toàn không gặp tình trạng của bạn. Bạn nên gửi kèm bản cad. Vấn đề có thể do ucs hoặc unit. 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Vào lúc 23/2/2024 tại 17: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

 

Nó bị lỗi gì ấy bạn nhỉ?

 

image.thumb.png.d2a4da3377f1ffbb4b0b474289f18066.png

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Đâ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.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Vào lúc 22/2/2024 tại 11:18, Doan Van Ha đã nói:

Trước đây tôi có đọc 1 thuật toán để "xấp xỉ" các đường thẳng và đường cong, nhưng giờ quên và tìm lại chưa ra. Nó có cơ sở rất thuyết phục chứ không theo kiểu "thích gì chọn nấy" được.
Thuật toán này trong Excel được đưa vào để vẽ đồ thị, từ đó suy ra phương trình, cho các bài toán dạng thống kê dựa vào tập hợp các số đo (xi, yi) thực nghiệm.

Ngày xưa cháu học trong trường có môn gọi là "Phương pháp tính" cũng có thuật toán này. Nhưng lâu rồi (20 năm) nên cháu không nhớ

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Vào lúc 25/2/2024 tại 04:41, anhcos đã nói:

Đâ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.

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?

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
40 phút trước, anhcos đã nói:

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.

Cái này là dựa theo ý muốn của mình để định hướng rồi bác. Một tập điểm em muốn nó nhìn ra đường cong hay đường thẳng là do em ấn định thôi. Như vậy đường cong đúng hơn hay đường thẳng đúng hơn ? Lý luận để lựa chọn đường cong hay đường thẳng là gì?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
50 phút trước, anhcos đã nói:

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.

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.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
3 giờ trước, anhcos đã nói:

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?

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. :))

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
12 giờ trước, anhcos đã nói:

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?

Em lưu file PNG và bấm vào chọn tệp thì gửi ảnh bình thường ạ.

2024-02-27 10 54 48.png

 

 

Vào lúc 24/2/2024 tại 19:39, tannguyen291 đã nói:

Mình hoàn toàn không gặp tình trạng của bạn. Bạn nên gửi kèm bản cad. Vấn đề có thể do ucs hoặc unit. 

Dạ em thử lại thì được rồi ạ. Có thể lỗi unit thật vì em làm thử bên file nháp thì lỗi, nhưng tạo file mới làm thì ko bị nữa ạ. Em cảm ơn anh 1 lần nữa :D

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Anh tannguyen291 có thể phát triển thêm lisp chuyển pline có nhiều segment thành pline thẳng và arc qua các đoạn cong chọn trước thì quá hữu ích!

  • Vote giảm 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×