Symbolic equation with numeric variable

1 Ansicht (letzte 30 Tage)
Rashmil Dahanayake
Rashmil Dahanayake am 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

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 23 Sep. 2013
Bearbeitet: Walter Roberson am 23 Sep. 2013
eqn = subs('sin(alfa*pi/180) = cos(q) * exp(tan(q) * (pi/6 - alfa*pi/180 + q))', 'alfa', alfa);

Weitere Antworten (1)

Rashmil Dahanayake
Rashmil Dahanayake am 24 Sep. 2013
Bearbeitet: Azzi Abdelmalek am 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 Kommentar
Walter Roberson
Walter Roberson am 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.

Melden Sie sich an, um zu kommentieren.

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by