Difference between revisions of "Maple/Phasors"
Line 35: | Line 35: | ||
polard:=(mag, angd)->polar(mag, angd*Pi/180); | polard:=(mag, angd)->polar(mag, angd*Pi/180); | ||
argumentd:=(num)->argument(num)*180/Pi; | argumentd:=(num)->argument(num)*180/Pi; | ||
− | listphasors := proc (plist) local k; for k to nops(plist[]) do printf("%s = %f <%f deg\n", lhs(plist[][k]), evalf(abs(rhs(plist[][k]))), evalf(argumentd(rhs(plist[][k])))) end do end proc | + | listphasors := proc (plist) local k; for k to nops(plist[]) do printf("%s = %f < %f deg\n", lhs(plist[][k]), evalf(abs(rhs(plist[][k]))), evalf(argumentd(rhs(plist[][k])))) end do end proc |
</source> | </source> | ||
Revision as of 04:05, 26 February 2013
This page contains handy Maple functions for use with Phasors and Phasor analysis.
Contents
Processes
Entering a numerical value for phasor or complex number
To enter a complex number in rectangular coordinates, use \(I\) (capital I) as the imaginary number or else re-define the variable \(j\) as the imaginary number with
j:=I
at the start of your code.
For polar representations, you can use the polar(MAG, ANG)
command. Keep in mind that the angle will need to be in radians. If you want to be able to use polar coordinates with degrees, you can define a new version of polar as follows:
polard:=(mag, angd)->polar(mag, angd*Pi/180)
Obtaining magnitude and phase values
To get the magnitude of a complex number, use the abs
command. To get the angle, use argument
but keep in mind the angle will be in radians. To get the angle in degrees, either multiple the output from argument
by 180/Pi or create a new argumentd function for yourself:
argumentd:=(num)->argument(num)*180/Pi
Converting to rectangular coordinates
Use the evalc(NUM)
command to convert to rectangular coordinates.
Simplifying solutions
Solutions involving the polar
command must first be evaluated using the evalc
command before using the simplify
command.
Reporting Phasors as Magnitudes and Angles in Degrees
Maple can be asked to process a list of results to report them as phasors. The listphasors command takes an input argument that comes from the solve command and prints the results as a table of variables, magnitudes, and angles in degrees. The command is given below in the next section.
Handy commands
Given the above, here is a list of the handy commands that can be copied into the beginnings of a Maple worksheet:
j:=I;
polard:=(mag, angd)->polar(mag, angd*Pi/180);
argumentd:=(num)->argument(num)*180/Pi;
listphasors := proc (plist) local k; for k to nops(plist[]) do printf("%s = %f < %f deg\n", lhs(plist[][k]), evalf(abs(rhs(plist[][k]))), evalf(argumentd(rhs(plist[][k])))) end do end proc
(whee!)