Effacer les filtres
Effacer les filtres

Symbolic equation with numeric variable

2 vues (au cours des 30 derniers jours)
Rashmil Dahanayake
Rashmil Dahanayake le 23 Sep 2013
Is it possible to use a numeric variable(in this case "alfa") in a symbolic equation.
I'm trying to solve the symbolic q. I need the flexibility to change the value of alfa. However if i use the term "alfa" when defining the eqn, marlab fails to solve the equation.
If I manually type the value of alfa inside the equation, the programs runs without a problem.
f=50;
w=2*pi*f;
R=303.47/50;
alfa=72;
syms q;
eqn = 'sin(72*pi/180) == cos(q) * exp(tan(q) * (pi/6 - 72*pi/180 + q))';
% This is the format I want to use,but gives errors
%----------------------------------------------------------------------
%eqn = 'sin(alfa*pi/180) == cos(q) * exp(tan(q) * (pi/6 - alfa*pi/180 + q))';
%----------------------------------------------------------------------
y= double(solve(eqn));
C=1/(w*R*tan(y)) /10^(-6) % Capacitor Value
  1 commentaire
Azzi Abdelmalek
Azzi Abdelmalek le 23 Sep 2013
What is the error message?

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 23 Sep 2013
Modifié(e) : Walter Roberson le 23 Sep 2013
eqn = subs('sin(alfa*pi/180) = cos(q) * exp(tan(q) * (pi/6 - alfa*pi/180 + q))', 'alfa', alfa);

Plus de réponses (1)

Rashmil Dahanayake
Rashmil Dahanayake le 24 Sep 2013
Modifié(e) : Azzi Abdelmalek le 24 Sep 2013
Subs method worked.
Alternatively you can define the eqn without quotation (') marks.
Therefore following code is also correct.
eqn = sin(alfa*pi/180) == cos(q) * exp(tan(q) * (pi/6 - alfa*pi/180 + q));
y= double(solve(eqn));
I'm wondering for symbolic solver is there any benefit passing arguments as a string.(ie using quotation marks)
  1 commentaire
Walter Roberson
Walter Roberson le 24 Sep 2013
When you pass as a string, you need to use MuPAD syntax. But in turn that means you can access MuPAD syntax and operators that do not have a direct MATLAB interface.
Or so the theory goes; I have not had my hands on a MuPAD version to experiment with.

Connectez-vous pour commenter.

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by