2011-10-11 22 views
5

Ví dụ, tôi có một số từ 1 ~ 100 và tôi cần phải chia tỷ lệ từ 20 ~ 80.Phương trình toán học cho số tỷ lệ giữa hai giới hạn không bắt đầu bằng 0?

Ví dụ:

1 scales to 20 
100 scales to 80 
50 scales to 50 
+3

Câu hỏi này nên được hỏi tại http://math.stackexchange.com/ Diễn đàn này dành riêng cho lập trình. – Maz

+0

Tại sao tỷ lệ '50' thành' 40'? Nếu đây là một phép biến đổi tuyến tính, kết quả sẽ là khoảng '50'. – NPE

+0

Xin lỗi vì lỗi của tôi, đã được khắc phục như vậy. – Bill

Trả lời

9

Bạn đang tìm kiếm một hàm f sao cho:

f(x) = ax +b 

f(1)=20 
f(100)=80 

Sau đó

a+b=20 
100a+b=80 

Bạn nhận:

99A +20 = 80

then a =60/99=20/33 
and b = 20 - 20/33 = 20*(32/33) 

Có xem xét câu hỏi này để biết thêm thông tin:

Invert and convert slider value

Lưu ý: nếu 50 cân đến 40 chuyển đổi của bạn không tuyến tính. Vì vậy, bạn cần phải tìm kiếm một loại chức năng:

f (x) = ax ** 2 + b x + c

+0

xin lỗi, đó là một sai lầm, 50 tỷ lệ đến 50! – Bill

+0

Tôi đã sử dụng phương trình tuyến tính của bạn và nó hoạt động tốt! Cảm ơn đã giúp đỡ. – Bill

+0

@ user468384 bạn được chào đón, bạn có thể xem liên kết tôi đăng để có công thức tổng quát hơn. Lưu ý rằng 50 không chính xác chia tỷ lệ thành 50 vì bạn không chia tỷ lệ (0,100) thành (20,80) nhưng (1,100) thành (20,80) –

1

Bạn cần phải cụ thể hơn về những gì bạn đang tìm kiếm. Các quy tắc bạn đưa ra không tạo ra một quy mô LINEAR nhất quán.

Đối với, nếu nó là tuyến tính:

(1, 20) is on the line 
(100, 80) is one the line 

Slope là:

(80 - 20)/(100 - 1) = 60/99 

Line là

y - 20 = (60/99) * (x - 1) 

Sau đó:

y = (60/99) * (x - 1) + 20 

Sau đó, thử nghiệm x = 50:

y = (60/99) * (50 - 1) + 20 = 2940/99 + 20 != 40 

Vì vậy, không có LINEAR rộng như vậy.

+0

Xin lỗi, 50 tỷ lệ là một sai lầm, tỷ lệ là 50! – Bill

+0

Được rồi, nó vẫn không tuyến tính (nhưng nó gần (tuyến tính sẽ được quy mô nó đến 49,6969 ...)). Nếu bạn cho tôi biết bạn chia tỷ lệ thành số nguyên gần nhất, thì chúng ta ổn. Sử dụng chính xác phương pháp tôi vừa giải thích để khám phá phương trình tuyến tính điều chỉnh mối quan hệ mở rộng. – jason

Các vấn đề liên quan