pub struct FuzzyController<D: Float = f64, M: Float = f64> { /* private fields */ }Expand description
The main fuzzy control system.
Implementations§
Source§impl<D: Float, M: Float> FuzzyController<D, M>
impl<D: Float, M: Float> FuzzyController<D, M>
Sourcepub fn builder() -> FuzzyControllerBuilder<D, M>
pub fn builder() -> FuzzyControllerBuilder<D, M>
Creates a new builder for constructing a fuzzy controller.
Sourcepub fn evaluate(
&self,
inputs: &HashMap<String, D>,
defuzzifier: &dyn Defuzzifier<D, M>,
) -> Result<HashMap<String, D>, MembershipError>
pub fn evaluate( &self, inputs: &HashMap<String, D>, defuzzifier: &dyn Defuzzifier<D, M>, ) -> Result<HashMap<String, D>, MembershipError>
Evaluates the fuzzy controller with given crisp inputs using Mamdani inference.
Sourcepub fn evaluate_centroid(
&self,
inputs: &HashMap<String, D>,
) -> Result<HashMap<String, D>, MembershipError>
pub fn evaluate_centroid( &self, inputs: &HashMap<String, D>, ) -> Result<HashMap<String, D>, MembershipError>
Convenience method to evaluate with default centroid defuzzification.
Auto Trait Implementations§
impl<D, M> Freeze for FuzzyController<D, M>
impl<D = f64, M = f64> !RefUnwindSafe for FuzzyController<D, M>
impl<D = f64, M = f64> !Send for FuzzyController<D, M>
impl<D = f64, M = f64> !Sync for FuzzyController<D, M>
impl<D, M> Unpin for FuzzyController<D, M>
impl<D = f64, M = f64> !UnwindSafe for FuzzyController<D, M>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more