Interpolation within a 3d array
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a function of the form w=f(x,y,z) so running this function within a range of x,y,z inputs, say 1:3 for each, creates a 3x3x3 array of solutions. Now I want to know when w = 0 so I would like to interpolate within this array to find out what inputs I require to make the function zero.
Thanks for any help.
0 commentaires
Réponses (1)
Sarah Wait Zaranek
le 3 Mar 2011
You can probably use a lot of methods to do this, depending on what your function looks like.
If you do not have the optimization toolbox, one way would be to use fminsearch where your objective function would be abs(f(x,y,z));
See code below:
function findFuncZero
[x,feval] = fminsearch(@myFunction,[0 0 0]);
disp(x)
disp(feval)
end
function w = myFunction(inputVar)
x = inputVar(1);
y = inputVar(2);
z = inputVar(3);
w = abs(1* sin(x) + cos(y) + 2*sin(z) + 1);
end
My output is the following:
-0.1461 0.7125 -0.9366
5.0390e-005
0 commentaires
Voir également
Catégories
En savoir plus sur Interpolation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!