how to solve a linear system with a maximum function

just i want to know how we solve this system:
x+y = 1
max(x,y)=2
i tried this code but an error always appear:
syms x y
solve(x+y ==1,max(x,y)==2)
//Error using sym/max (line 97)
Input arguments must be convertible to floating-point numbers
any help ?

4 个评论

max(x,y) can be rewritten to (x>y)*x+(x<=y)*y
syms x y
solve([x+y ==1,(x>y)*x+(x<=y)*y ==2])
But alas, this doesn't work either:
Error using mupadengine/feval (line 187)
System contains an equation of an unknown type.
thanks for your try, i appreciate that
Substituting the solutions, it indeed solves it, so you can add it as the answer, Torsten.
Rik , can you explain to me more ? did you find the solution ?

请先登录,再进行评论。

 采纳的回答

syms x y
[solx, soly] = solve([x+y==1,piecewise(x>y,x,y)==2],[x y])
Best wishes
Torsten.

3 个评论

Thank you sir for your help, but 'piecewise' is Undefined function or variable in Matlab , are you using MuPAD?
Maybe you use an older MATLAB version ?
https://de.mathworks.com/help/symbolic/piecewise.html
Best wishes
Torsten.
That's weird i'm using R2016a !!
Any way, thank you.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Startup and Shutdown 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by