help using feval with sigma points

Hi i have a function represent by:
function [y] = ffun(x,t);
if nargin < 2, error('Not enough input arguments.'); end
h=0.05;
m=2;
y=[x(1) + h*x(2) ;x(2) + h*(-9*x(1) + m*(1-x(1)^(2))*x(2))];
I am using 'feval' as:
xPredSigmaPts = feval(ffun,xSigmaPts(1:2,1:5),t)
where my xSigmaPts are:
xSigmaPts =
0 -2.4495 0 2.4495 0
6.0000 6.0000 2.8377 6.0000 9.1623
The answer I got using the above are:
xPredSigmaPts =
0.3000
6.6000
But this is not what I want. I want the 'feval' to evaluate/using each row and column of my data, xSigmaPts. So that the final result will be
xPredSigmaPts =
0.3000 -2.1495 0.1419 2.7495 0.4581
6.6000 4.1023 3.1215 1.8977 10.0785
How do I correct my 'feval' so that the final result as above? Thank you.

 Risposta accettata

Matt J
Matt J il 27 Mar 2013
Modificato: Matt J il 27 Mar 2013
It's not feval that needs fixing. It's ffun:
y=[x(1,:) + h*x(2,:) ;x(2,:) + h*(-9*x(1,:) + m*(1-x(1,:).^(2)).*x(2,:))];

3 Commenti

dab483
dab483 il 27 Mar 2013
Modificato: dab483 il 27 Mar 2013
Hi. I have try this before but have problems in here
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==>
m*(1-x(1,:).^(2))*x(2,:)
Thus error in
h*(-9*x(1,:) + m*(1-x(1,:).^(2))*x(2,:))
Any advise? Thanks.
Matt J
Matt J il 27 Mar 2013
The version I posted for you does not have this problem. Try mine instead of your own.
dab483
dab483 il 27 Mar 2013
Oh my. Didn't notice the difference. So sorry about that. Now the problem solve. Thank you so much. :))

Accedi per commentare.

Più risposte (0)

Categorie

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by