Error using / Arguments must be numeric, char, or logical. what should I do I tried but did not seem to work?

12 vues (au cours des 30 derniers jours)
>> m=2+0
m =
2
>> n=2+5
n =
7
>> syms x
>> f=inline(2*x^2-(3*m-n)*x-m*n)/(x^2+(m-n)*x-n*m)
Error using /
Arguments must be numeric, char, or logical.

Réponses (2)

Chandler Hall
Chandler Hall le 13 Nov 2022
Modifié(e) : Chandler Hall le 13 Nov 2022
To create a symbolic function, you must first declare it via the syms function, and then define its content. The syntax for this is straightforward but atypical:
m = 2; n = 7;
syms f(x)
f(x) = (2*x^2-(3*m-n)*x-m*n)/(x^2+(m-n)*x-n*m);
  1 commentaire
Walter Roberson
Walter Roberson le 13 Nov 2022
This is not correct. You can create a symbolic function in three different ways:
syms Name(Variable list)
Name(Variable list) = symbolic expression
Name = symfun(symbolic expression, Variable list)
The syms form has the side effect of defining the variables, but is not required before either of the other approaches.

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 13 Nov 2022
Never inline() a symbolic expression, it is not defined. matlabFunction() instead.
Never eval() a symbolic expression either, use subs()

Community Treasure Hunt

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

Start Hunting!

Translated by