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 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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);
Akzeptierte Antwort
Weitere Antworten (1)
Voss
am 26 Mär. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Software Development Tools finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!