# solving two-variable matrix function

3 visualizaciones (últimos 30 días)
Dmitry Solomatin el 14 de Dic. de 2022
Comentada: Jiri Hajek el 14 de Dic. de 2022
Hi,
so assume I have a function like this:
f = [x(1) + x(2) ; x(2) * x(1)]
and my x = [2; -2]
how can I solve it? feval doesnt work for some reason ("Dimensions of arrays being concatenated are not consistent)
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Respuestas (1)

Jiri Hajek el 14 de Dic. de 2022
Hi this can be done using inline function very efficiently like this:
fh=@(x,y)[x+y,x*y];
fh(2,-2)
ans = 1×2
0 -4
##### 2 comentariosMostrar NingunoOcultar Ninguno
Dmitry Solomatin el 14 de Dic. de 2022
Thanks it now works, but for some reason this gives me a 1x3 matrix and it should only 1x2?
fh = @ (x,y) [2*x- 400*x*(-x^2+y) -2, 200 * (y-x^2)];
fh(2,-2)
Jiri Hajek el 14 de Dic. de 2022
This is because Matlab interprets space within brackets as a separator of vector elements, same as a comma. You can eithertake away all the spaces or put your expressions into parentheses. That way, you can forget about the meaning of spaces:
fh = @ (x,y) [(2*x- 400*x*(-x^2+y) -2), (200 * (y-x^2))]
fh = function_handle with value:
@(x,y)[(2*x-400*x*(-x^2+y)-2),(200*(y-x^2))]
fh(2,-2)
ans = 1×2
4802 -1200

Iniciar sesión para comentar.

### Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

### Community Treasure Hunt

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

Start Hunting!

Translated by