Solve an equation and get a solution that depends on a variable

2 Ansichten (letzte 30 Tage)
Jonas Ström Seez
Jonas Ström Seez am 28 Mär. 2020
Kommentiert: Jonas Ström Seez am 29 Mär. 2020
Hi everyone! I need some help with getting a solution to a equation. I am trying to solve a equation using solve. However i dont get any solution to the equation, i only get Empty sym: 0-by-1. I can solve the equation manually, the problem is that i have other equation that i cant solve manually and would like a better way to solve them. Is there any good way to solve a equation and get a solution that has a dependent variable in return. Here is what i have tried so far.
syms Nin(t)
% Vin = (sign(t - 200/11)/2 + 1/2)*((11*t)/100000 - 1/500) - (11*t)/100000 + 1/500
eq1 = Nin == Constant * Vin;
sol = solve(eq1, t);
sol -> Empty sym: 0-by-1
Manually
Nin = Constant * Vin;
-> Nin = Constant * (sign(t - 200/11)/2 + 1/2)*((11*t)/100000 - 1/500) - (11*t)/100000 + 1/500
Any guidance is appreciated.
  4 Kommentare
Torsten
Torsten am 28 Mär. 2020
Bearbeitet: Torsten am 28 Mär. 2020
syms Nin t
instead of
syms Nin(t)
Jonas Ström Seez
Jonas Ström Seez am 29 Mär. 2020
It worked! Thank you very much!

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 28 Mär. 2020
syms Nin(t)
% Vin = (sign(t - 200/11)/2 + 1/2)*((11*t)/100000 - 1/500) - (11*t)/100000 + 1/500
eq1 = Nin == Constant * Vin;
sol = solve(eq1, t);
That code requests that an unknown function, Nin(t) be compared to Constant times an expression in t, and that the result be solved for the t that makes the two sides equal. The result would implicitly be of the form
t = some function of Nin(t) and Constant * Vin
except it cannot be, because the right hand side of solving for t cannot contain t, but it must because Nin(t) is an unknown function of t.
Therefore solve() must fail.
Nin = Constant * Vin;
-> Nin = Constant * (sign(t - 200/11)/2 + 1/2)*((11*t)/100000 - 1/500) - (11*t)/100000 + 1/500
That is not a solution for t, it would simply make the two sides of eqn1 the same as each other, in which case solving for t would have to give all t.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by