Borrar filtros
Borrar filtros

How can I define general properties of symbolic functions?

4 visualizaciones (últimos 30 días)
I'm trying to work with undefined symbolic functions, but I want to take advantage of some of its properties. For instance, I know that my functions fulfill:
As such I tried the following:
syms x y xx yy f(x)
assume(f(x)*f(y)==f(x+y))
Z=f(x)*f(y);
K=f(yy)*f(xx);
simplify(Z)
simplify(K)
While Z returns f(x+y) (the set identity as expected), it doesn't work on K as I don't know how to set the assumption on generic variables. I would very much like to avoid setting the assumption on every pair of arguments of my model, any clue on how to do this?

Respuesta aceptada

Ananya Tewari
Ananya Tewari el 24 de Mzo. de 2021
I understand that you want to set assumptions on generic variables. Currently it is not supported by MATLAB. A workaround if you do not wish to set assumption on every pair of argument, you can try using function handle to create a generic assume statement.
% creating function handle for assume statement
funAssume = @(a,b) assumeAlso(f(a)*f(b)==f(a+b)) % using assumeAlso to keep multiple assumptions
% calling funAssume() with any symbolic variable
funAssume(xx,yy)
K=f(yy)*f(xx);
simplify(K)
  1 comentario
Jaime Abad Arredondo
Jaime Abad Arredondo el 29 de Mzo. de 2021
In the end I created a new class with objects that operated as I wanted. Much more laborious, but worked as intended. I accept the answer as it's a nice work-around. Still have to loop through every single variable combination calling the funAssume though...

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by