feval for beginner, evaluating a function at a specific fvalue

how do I evaluate the following function at 55/8, 9/2? I keep getting feval errors saying I need a string or handle. Any help?
>> c
c =
55/8
9/2
>> f
f =
- 4*q1^2 + 55*q1 - 15*q2^2 + 135*q2 - 100
>> y=feval(f,c)
Error using feval
Argument must contain a string or function_handle.

 Réponse acceptée

The easiest way is to simply create an anonymous function out of ‘f’ and a vector out of ‘c’:
f = @(q) - 4*q(1)^2 + 55*q(1) - 15*q(2).^2 + 135*q(2) - 100;
c = [55/8; 9/2];
fc = f(c)
produces:
fc =
392.8125

Plus de réponses (1)

f should be a function handle or the name of an actual function, not a string containing a raw function. Just convert your function to a function handle e.g.
f = @(q1,q2) - 4*q1^2 + 55*q1 - 15*q2^2 + 135*q2 - 100

Catégories

En savoir plus sur MATLAB Coder dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by