Computação Científica com Sounio
Sounio fornece utilidades fundamentais para modelar a incertezza em domínios científicos.
Incertezas em Modelagem PBPK
struct KnowledgeF64 {
valor: f64,
incertezza: f64
}
fn concentração(dose_mg: KnowledgeF64, volume_l: KnowledgeF64) -> KnowledgeF64 {
let c = dose_mg.valor / volume_l.valor
// Uncertidade linearizada de primeira ordem para divisão:
// dc ≈ |∂c/∂dose| u_dose + |∂c/∂vol| u_vol
let d_cdose = 1.0 / volume_l.valor
let d_cvol = (0.0 - dose_mg.valor) / (volume_l.valor * volume_l.valor)
let abs_d_cdose = d_cdose < 0.0 ? 0.0 - d_cdose : d_cdose
let u = abs_d_cdose * dose_mg.incertezza
return KnowledgeF64 {
valor: c,
incertezza: u
}
}