solving two-variable matrix function

4 views (last 30 days)
Dmitry Solomatin
Dmitry Solomatin on 14 Dec 2022
Commented: Jiri Hajek on 14 Dec 2022
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)

Answers (1)

Jiri Hajek
Jiri Hajek on 14 Dec 2022
Hi this can be done using inline function very efficiently like this:
ans = 1×2
0 -4
Jiri Hajek
Jiri Hajek on 14 Dec 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:
ans = 1×2
4802 -1200

Sign in to comment.


Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!