Tried this got:"Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters."
Anonymous functions usage when running the following program to apply and then plot a prediction, sensor reading and measurement update Invalid expression.
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I get error on the foll. program
"Invalid expression. When calling a function or indexing a variable, use parentheses.
Otherwise, check for mismatched delimiters."
U = [ 1 -1 3 4 ]; % an artificial input sequence
% applyPredictionUpdate returns the predicted state:
applyPredictionUpdate = @(bel, u_t) [bel '.PU(' num2str(u_t) ')'];
% readSensor returns the current sensor's reading:
readSensor = @() [ 'Z(' num2str(round(20*rand())) ')' ];
% applyMeasurementUpdate returns the state updated by the measurements:
applyMeasurementUpdate = @(sensorReading, belBar) [ belBar '.MU(' sensorReading ')' ];
bel = 'PRIOR';
for u_t = U
applyPredictionUpdate(bel, u_t);
readSensor();
applyMeasurementUpdate((sensorReading, belBar)[sensorReading, belBar]);
end
plotFilterLoop(bel);
Risposta accettata
Più risposte (1)
Voss
il 26 Mar 2022
applyMeasurementUpdate is an anonymous function defined to take two inputs, sensorReading and belBar:
applyMeasurementUpdate = @(sensorReading, belBar) [ belBar '.MU(' sensorReading ')' ];
When calling applyMeasurementUpdate, you only need to give it those two inputs, like this:
applyMeasurementUpdate(sensorReading, belBar);
Just like you are calling applyPredictionUpdate with inputs bel and u_t a couple of lines above:
applyPredictionUpdate(bel, u_t);
0 Commenti
Vedere anche
Categorie
Scopri di più su Software Development Tools in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!