how to identify certain variables as constants?
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
stephen williams
am 8 Nov. 2020
Kommentiert: stephen williams
am 9 Nov. 2020
For example, I have this equation
A*cos( w0*t+phi) * B*sin(n*w0*t+phi+psi)
where A,B,w0,psi are all constants, and n is a positive non zero integer.
I want to integrate with repsect to psi, from 0 to 2*pi, and I already know the answer is zero.
How do I make the symbolic toolbox understand the problem in a way it can come to that result?
0 Kommentare
Akzeptierte Antwort
John D'Errico
am 9 Nov. 2020
Why not try it?
syms A B w0 t phi psi
syms n positive integer
V = A*cos(w0*t + phi)*B*sin(n*w0*t + phi + psi);
int(V,psi,[0,2*pi])
3 Kommentare
John D'Errico
am 9 Nov. 2020
Bearbeitet: John D'Errico
am 9 Nov. 2020
I think you have an old MATLAB release.
clear
syms n positive integer
whos
No other variables are created. From the help for syms, I see this:
syms ... ASSUMPTION
additionally puts an assumption on the variables created.
The ASSUMPTION can be 'real', 'rational', 'integer', or 'positive'.
Yes, in older releases I could have used assume, but how am I to know what release you are using?
So your real problem is then...
syms A B w0 t phi psi
syms n positive integer
V = A*cos(w0*t + phi)*B*sin(n*w0*t + phi + psi);
int(V,phi,[0,2*pi])
which MATLAB does not show as zero.
But we can reduce your problem to a simple one. First, A and B are irrelevant, if you expect the answer to be zero.
Consider this variation of your integral...
syms u v phi
int(cos(phi + u)*sin(phi + v),phi,[0,2*pi])
Thus if we set u=w0*t, v=n*w0*t + psi, we get essentially the same solution, thus
-pi*sin(w0*t - n*w0*t - psi)
And that is zero only under certain circumstances, for specific values of those parameters, when
w0*t - n*w0*t - psi = K*pi
for integer values of K. So unless you have chosen specific values of those parameters, you would not get zero. Or, possibly, you did these computations incorrectly when you did it yourself.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Assumptions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!