Introducing a Variable in simple equation?

3 visualizzazioni (ultimi 30 giorni)
Mahbubur Rahman
Mahbubur Rahman il 11 Feb 2016
Commentato: Walter Roberson il 11 Feb 2016
Why is simple code is not working? I am a novice here.
Qc = 40;
Qr = 55;
I = 78;
Qs = 100;
I = sqrt((Qc + Qr -Qs)/R_Ts);
disp(R_Ts)
It is showing Undefined function or variable 'R_Ts'.

Risposte (1)

John D'Errico
John D'Errico il 11 Feb 2016
Modificato: John D'Errico il 11 Feb 2016
You have not defined that variable. How does MATLAB know what it is? You defined all the other variables, but not that one.
If you have the symbolic toolbox, then do this first:
syms R_Ts
Now, it appears as if you want MATLAB to know that you wish to solve for the unknown variable. Computer programs don't read your mind. They do what you tell them to do.
Qc = 40;
Qr = 55;
I = 78;
Qs = 100;
This next line creates an equation of the equality as you posed it, with the unknown variable R_Ts in it.
EQ = I == sqrt((Qc + Qr -Qs)/R_Ts);
And now we apply solve.
R_Ts = solve(EQ,R_Ts)
-5/6084
Or, convert that to a numeric form:
vpa(R_Ts)
ans =
-0.00082182774490466798159105851413544
double(R_Ts)
ans =
-0.000821827744904668
  2 Commenti
Mahbubur Rahman
Mahbubur Rahman il 11 Feb 2016
Modificato: Walter Roberson il 11 Feb 2016
Thanks a lot for the reply. But what if there are two equations containing the R_Ts, like this -
Qr = 55;
I = 78;
Qs = 100;
Qc = 45*I - ((R_Ts)^2);
I = sqrt((Qc + Qr -Qs)/R_Ts);
disp(R_Ts)
What to do this stage? And why the disp does not work in these cases?
Walter Roberson
Walter Roberson il 11 Feb 2016
You would still need the
syms R_Ts
before you use R_Ts, and you still need the solve(),
syms R_Ts
Qr = 55;
I = 78;
Qs = 100;
Qc = 45*I - ((R_Ts)^2);
Eq = I == sqrt((Qc + Qr -Qs)/R_Ts)
R_Ts = solve(EQ,R_Ts)
sol =

Accedi per commentare.

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by