Tìm giá trị trong biểu đồ khi đã giống điểm lên vị trí cần tìm

Liên hệ QC

loveisaking1998

Thành viên mới
Tham gia
21/12/17
Bài viết
15
Được thích
0
Giới tính
Nam
GIÚP em với các bác ạ
Em có điểm giống trong biểu đồ khi điểm đó giống đó gần đường cong nào nhất thì giá trị đó em cần tìm
Ví dụ như trong hình là điểm đó gần đường cong 0.4 thì giá trị điểm đó em cần tìm là 0.4
 

File đính kèm

  • Colum1.xlsm
    286.1 KB · Đọc: 12
  • BD1.PNG
    BD1.PNG
    39.4 KB · Đọc: 16
GIÚP em với các bác ạ
Em có điểm giống trong biểu đồ khi điểm đó giống đó gần đường cong nào nhất thì giá trị đó em cần tìm
Ví dụ như trong hình là điểm đó gần đường cong 0.4 thì giá trị điểm đó em cần tìm là 0.4
hình như đây là họ biểu đồ tương tác của cột
 
mình cũng ko biết excel có cung cấp chức năng đó không , nhưng thực ra thì dựa vào số liệu của bạn thì cũng tính ra được rồi , dựa vào 1 ít kiến thức toán lớp 9 hay 10 gì đó ^^ , bạn để ý các đồ thị của bạn là các đoạn thẳng liên tiếp nhau , ví dụ có 1 điểm M , thì mình sẽ tìm điểm M' nằm trên các đoạn thẳng , đoạn thẳng (M, M') là hình chiếu vuông góc với các đoạn thẳng của các đồ thị , sau đó tính độ dài các đoạn thẳng (M,M') , đoạn thẳng (M,M') ngắn nhất sẽ thuộc về đồ thị gần điểm M nhất !^^
 
mình cũng ko biết excel có cung cấp chức năng đó không , nhưng thực ra thì dựa vào số liệu của bạn thì cũng tính ra được rồi , dựa vào 1 ít kiến thức toán lớp 9 hay 10 gì đó ^^ , bạn để ý các đồ thị của bạn là các đoạn thẳng liên tiếp nhau , ví dụ có 1 điểm M , thì mình sẽ tìm điểm M' nằm trên các đoạn thẳng , đoạn thẳng (M, M') là hình chiếu vuông góc với các đoạn thẳng của các đồ thị , sau đó tính độ dài các đoạn thẳng (M,M') , đoạn thẳng (M,M') ngắn nhất sẽ thuộc về đồ thị gần điểm M nhất !^^
Làm sao mà tìm đc tọa độ gần 1 với M anh
 
GIÚP em với các bác ạ
Em có điểm giống trong biểu đồ khi điểm đó giống đó gần đường cong nào nhất thì giá trị đó em cần tìm
Ví dụ như trong hình là điểm đó gần đường cong 0.4 thì giá trị điểm đó em cần tìm là 0.4
Cái này nếu chấp nhận nội suy tuyến tính trong từng đoạn số lieu nguồn trên cột thì có thể tìm được bạn.
 
Cái này nếu chấp nhận nội suy tuyến tính trong từng đoạn số lieu nguồn trên cột thì có thể tìm được bạn.
Thì em cũng biết là nội suy anh ạ, nếu vậy phải tìm 1 điểm gần với tọa độ đã cho so với tọa độ đã tính nếu ra A's,ví dụ A's 1 số k có trong Công thức thì xác định điểm gần với M như thế nào ạ
 
Thì em cũng biết là nội suy anh ạ, nếu vậy phải tìm 1 điểm gần với tọa độ đã cho so với tọa độ đã tính nếu ra A's,ví dụ A's 1 số k có trong Công thức thì xác định điểm gần với M như thế nào ạ
Điểm M có tọa độ X, Y:
1./Lấy tọa độ X, so sánh vơi tưng côt chứa tọa độ x cua các đồ thị.
Mỗi cột, ấy ra 2 giá trị x : lien kề lớn hơn X và lien nhỏ hơn X ( x1>X & x2<X )
Dung x1 & x2, dựa vào cột y tương ứng nội suy ra giá trị y của đồ thi đang xét.
Lấy trị tuyệt đối abs(y-Y) của đồ thi đang xét.
Làm như vậy với 7 đồ thị
2./Lây tọa độ Y và tìm abs(x-X) của của 7 đồ thị. Tương tự trên
3./Tìm min của các trị tren, suy ra đô thị cần tìm

Khong hiểu sao máy tôi gõ bàn phím khi được khi không
 
Điểm M có tọa độ X, Y:
1./Lấy tọa độ X, so sánh vơi tưng côt chứa tọa độ x cua các đồ thị.
Mỗi cột, ấy ra 2 giá trị x : lien kề lớn hơn X và lien nhỏ hơn X ( x1>X & x2<X )
Dung x1 & x2, dựa vào cột y tương ứng nội suy ra giá trị y của đồ thi đang xét.
Lấy trị tuyệt đối abs(y-Y) của đồ thi đang xét.
Làm như vậy với 7 đồ thị
2./Lây tọa độ Y và tìm abs(x-X) của của 7 đồ thị. Tương tự trên
3./Tìm min của các trị tren, suy ra đô thị cần tìm

Khong hiểu sao máy tôi gõ bàn phím khi được khi không
 
Em bó tay với cái này rồi làm sao mà nội suy ra đc A's chứ anh
 
GIÚP em với các bác ạ
Em có điểm giống trong biểu đồ khi điểm đó giống đó gần đường cong nào nhất thì giá trị đó em cần tìm
Ví dụ như trong hình là điểm đó gần đường cong 0.4 thì giá trị điểm đó em cần tìm là 0.4
Dùng cột phụ.
Xem file kèm.

Thân
 

File đính kèm

  • Colum1.xlsm
    288.2 KB · Đọc: 9
Em cảm ơn anh ạ
Ví dụ như thế này nè anh, điểm M nằm giữa 0.3 và 0.4 thì nội suy như thế nào cho chính xác ạ
Giải thuật trong bài không dùng "Nội suy tuyến tính" gì cả, chỉ đơn thuần là so sánh giữa các tọa độ điểm theo trục tung và trục hoành.
  1. Giả sử tại ô P23 và Q23 là tọa độ điểm M( 0.15 , 1.5 )
  2. Đầu tiên tìm tọa đô y= 1.5 sẽ nằm ở khoảng nào của từng đồ thị n1-n7 bằng:
    Mã:
    V2=IFERROR(1/(1/LOOKUP($Q$23,OFFSET($E$2:$E$13,,ROW(A1)))),"")
  3. Dựa vào cận trên của từng tọa độ vừa tìm được, quy về y=1.5 để tìm tọa độ x của các đồ thị tương ứng bằng công thức tại cột W
    Mã:
    W2=(U2*(1-U2/2)+(1-$D$2)*($C2-0.5*$Q$23))
    Sau đó đem so sánh với x của điểm M là 0.15, lấy giá trị x của đồ thị nào gần 0.15 nhất sẽ báo ra kết quả.
Thân
 

File đính kèm

  • Colum1.xlsm
    288.3 KB · Đọc: 9
Giải thuật trong bài không dùng "Nội suy tuyến tính" gì cả, chỉ đơn thuần là so sánh giữa các tọa độ điểm theo trục tung và trục hoành.
  1. Giả sử tại ô P23 và Q23 là tọa độ điểm M( 0.15 , 1.5 )
  2. Đầu tiên tìm tọa đô y= 1.5 sẽ nằm ở khoảng nào của từng đồ thị n1-n7 bằng:
    Mã:
    V2=IFERROR(1/(1/LOOKUP($Q$23,OFFSET($E$2:$E$13,,ROW(A1)))),"")
  3. Dựa vào cận trên của từng tọa độ vừa tìm được, quy về y=1.5 để tìm tọa độ x của các đồ thị tương ứng bằng công thức tại cột W
    Mã:
    W2=(U2*(1-U2/2)+(1-$D$2)*($C2-0.5*$Q$23))
    Sau đó đem so sánh với x của điểm M là 0.15, lấy giá trị x của đồ thị nào gần 0.15 nhất sẽ báo ra kết quả.
Thân
Vâng anh ạ cảm ơn anh đã quan tâm tới bài viết của em, hiện em đang cần cái tọa độ điểm đó chính xác là bao nhiêu chứ k phải là gần nhất 1 với tọa độ đó, ví dụ nằm giữa 0.3 và 0.4 là 0.35 đó anh ạ
 
@loveisaking1998
Gửi bạn đoạn code tìm đồ thị gần nhất & khoảng cách
Bạn chạy thử code dưới xem sao.
Điểm khảo sát thay đổi trên dòng code có ghi chú.

p/s: Nếu cần tọa độ điểm gần nhất, có thể trích giá trị trong quá trình tính
Bạn cũng cần làm rõ "gần nhất" nghĩa là thế nào: Theo trục x, hay theo trục y, hay theo đường cao dóng từ điểm cho trước vào phân đoạn của đồ thị...
Mã:
Public Sub DOTHIGANNHAT_KHOANGCACH()
Dim MangX
Dim MangY
Dim dXx
Dim dYy
Dim dKxy
Dim HsGoc
Dim HsB
Dim Diem, Xd, Yd
Dim GD1
Dim GD2
Dim dX
Dim dY
Dim dK
Dim dXh
Dim dYh
Dim Kc1
Dim Kc2
Dim KcH
Dim KcDiem_Pd
Dim ThongkeKcPd
Dim KcMin()
Dim k, DoThiGanNhat
Dim i As Integer, j As Integer
Dim x As Double, y As Double
With Sheet4
    MangY = .Range("f2:l13")
    MangX = .Range("m2:s13")
    Diem = .Range("p23:q23") 'THAY DOI DIEM KHAO SAT TAI DAY
End With
Xd = Diem(1, 1)
Yd = Diem(1, 2)
ReDim ThongkeKcPd(1 To UBound(MangX), 1 To UBound(MangX, 2))
ReDim KcMin(1 To UBound(MangX, 2))
k = 1000
For j = 1 To UBound(MangX, 2)
    KcMin(j) = 1000
    For i = 2 To UBound(MangX)
        dXx = Abs(MangX(i, j) - MangX(i - 1, j))
        dYy = Abs(MangY(i, j) - MangY(i - 1, j))
        dKxy = (dXx ^ 2 + dYy ^ 2) ^ 0.5
        Kc1 = ((Xd - MangX(i - 1, j)) ^ 2 + (Yd - MangY(i - 1, j)) ^ 2) ^ 0.5
        Kc2 = ((Xd - MangX(i, j)) ^ 2 + (Yd - MangY(i, j)) ^ 2) ^ 0.5
  
        If Abs(MangX(i, j) - MangX(i - 1, j)) = 0 Then
            If Yd > MangY(i - 1, j) And Yd < MangY(i, j) Then
                KcDiem_Pd = Abs(Xd - MangX(i, j))
            Else
                KcDiem_Pd = Application.Min(Kc1, Kc2)
            End If
        Else
            HsGoc = (MangY(i, j) - MangY(i - 1, j)) / (MangX(i, j) - MangX(i - 1, j))
            HsB = MangY(i, j) - HsGoc * MangX(i, j)
            x = (Yd - HsB) / HsGoc
            GD1 = Array(x, Yd)
            y = Xd * HsGoc + HsB
            GD2 = Array(Xd, y)
            If x = Xd And y = Yd Then
                If x >= MangX(i - 1, j) And x <= MangX(i, j) Then
                    KcDiem_Pd = 0
                Else
                    KcDiem_Pd = Application.Min(Kc1, Kc2)
                End If
            Else
                dX = Abs(x - Xd)
                dY = Abs(y - Yd)
                dK = (dX ^ 2 + dY ^ 2) ^ 0.5
                KcH = dX * dY / dK
              
                dXh = (dX / dKxy * dXx) / dKxy * dXx + GD1(0)
                If dXh >= MangX(i - 1, j) And dXh <= MangX(i, j) Then
                    KcDiem_Pd = KcH
                Else
                    KcDiem_Pd = Application.Min(Kc1, Kc2)
                End If
            End If
        End If
        ThongkeKcPd(i, j) = KcDiem_Pd
        If KcMin(j) > KcDiem_Pd Then KcMin(j) = KcDiem_Pd
    Next i
    If k > KcMin(j) Then
        k = KcMin(j)
        DoThiGanNhat = j
    Else
        If k = KcMin(j) Then
            DoThiGanNhat = DoThiGanNhat & " " & j
        End If
    End If
Next j
MsgBox "Gan nhat la do thi so " & DoThiGanNhat & " - " & "Khoang cach la " & k
End Sub
 
Lần chỉnh sửa cuối:
Trong toán thống kê, cái này gọi là residual.
Gu gô 3 từ khoá Excel, residual và regression analysis thì sẽ có đáp án.
(tôi không mách thêm nữa vì nếu bạn không có học toán thống kê thì quên đi, những kết quả gú gô được sẽ chả giúp ích gì cả)
 
Web KT
Back
Top Bottom