Symbolic package: Difference between revisions

Jump to navigation Jump to search
170 bytes removed ,  24 April 2017
m
→‎Demos and usage examples: proofread a new example: fix typos and style
m (→‎Demos and usage examples: proofread a new example: fix typos and style)
Line 50: Line 50:
<source lang="octave">
<source lang="octave">


##The following code will produce the same vector field plot as Figure 1.14 from Example 1.6 (pg. 39) from A Student's Guide to Maxwell's Equations by Dr. Daniel Fleisch.
## The following code will produce the same vector field plot as Figure 1.14 from Example 1.6 (pg. 39) from A Student's Guide to Maxwell's Equations by Dr. Daniel Fleisch.


##Make sure symbolic package is loaded and symbolic variables declared.
## Make sure symbolic package is loaded and symbolic variables declared.
pkg load symbolic;
pkg load symbolic
syms x y
syms x y


##Write a Vector Field Equation in terms of symbolic variables  
## Write a Vector Field Equation in terms of symbolic variables  
vector = [sin(pi .* y ./2 ); -sin(pi .* x ./2 )];
vectorfield = [sin(pi*y/2); -sin(pi*x/2)];


##Vector components are converted from symoblic into anonymous form which allows them to be graphed
## Vector components are converted from symbolic into "anonymous functions" which allows them to be graphed.
##The '1' & '2', in vector(1) & vector(2) are indeces for the vector.
## The "'vars', [x y]" syntax ensures each component is a function of both 'x' & 'y'
##The " 'vars', [x y]" syntax tells function_handle that each component is a function of both 'x' & 'y'
iComponent = function_handle (vectorfield(1), 'vars', [x y]);  
iComponent = function_handle (vector(1), 'vars', [x y]);  
jComponent = function_handle (vectorfield(2), 'vars', [x y]);  
jComponent = function_handle (vector(2), 'vars', [x y]);  


##Setting the Grid up to graph all axes for all variables from -.5 to .5, with spacings .05 apart.
## Setup a 2D grid
[X,Y] = meshgrid([-.5:.05:.5]);
[X,Y] = meshgrid ([-0.5:0.05:0.5]);


##Draw the Vector Field!
figure
figure
quiver(X,Y,iComponent(X,Y),jComponent(X,Y))
quiver (X, Y, iComponent (X, Y), jComponent (X,Y))


</source>
</source>
99

edits

Navigation menu