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

1 回表示 (過去 30 日間)
Jonas Ström Seez
Jonas Ström Seez 2020 年 3 月 28 日
コメント済み: Jonas Ström Seez 2020 年 3 月 29 日
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 件のコメント
Torsten
Torsten 2020 年 3 月 28 日
編集済み: Torsten 2020 年 3 月 28 日
syms Nin t
instead of
syms Nin(t)
Jonas Ström Seez
Jonas Ström Seez 2020 年 3 月 29 日
It worked! Thank you very much!

サインインしてコメントする。

回答 (1 件)

Walter Roberson
Walter Roberson 2020 年 3 月 28 日
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.

カテゴリ

Help Center および File ExchangeEquation Solving についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by