Solve function not working?

15 visualizzazioni (ultimi 30 giorni)
rishabh singh
rishabh singh il 18 Ott 2018
Modificato: Walter Roberson il 18 Ott 2018
Well here my code:
clear all
clear vars
syms x y
y=1+(x).^(2)
x=-1
a=subs(y)
x=3
b=subs(y)
c=(b-a)./(4)
yy=diff(y)
disp(yy)
ans=solve(yy==c,x)
disp(ans)
And according to me 2x=2 and hence x=1 therefore a solution must exist but the output is Empty sym: 0-by-1

Risposta accettata

Walter Roberson
Walter Roberson il 18 Ott 2018
Modificato: Walter Roberson il 18 Ott 2018
You have
x=3
so when you do
ans=solve(yy==c,x)
that is the same as
ans=solve(yy==c,3)
and 3 is never equal to 0, so the system is unsolvable.
I recommend that you avoid this problem in future by never assigning a value to a symbolic variable that has been used in an expression -- not unless you proceed to immediately overwrite the expression with the new variation on the variable. Use the three-parameter version of subs() instead.
x1=-1
a=subs(y,x,x1)
x2=3
b=subs(y,x,x2)
Now x is still a symbolic variable.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by