just simple(T) as opposed to t = simple(T), it displays many equivalent expressions. If you call simple() without saving the output, i.e.
Surprisingly, we can sometimes get simpler expressions by applying the function multiple times. The simple() and simplify() functions can be used to try and find the simplest representation: simple tends to do better with trigonometric expressions. We have already seen compose(), which belongs on this list. There are a number of functions that we can use to perform basic high school algebra that might be tedious or error prone to do by hand. You can see how Matlab will order the variables in an expression with the findsym() function.
If this is not given explicitly, Matlab chooses the variable closest in alphabetical order to x, (ties broken in favor of the end of the alphabet). Many operations on symbolic expressions are ambiguous unless the independent variable is specified.
Subs(f,X,lambda-Y) % substitute (lambda - Y) for X in f ans = subs(f,) % substitute 3 for X, 10 for Y in f ans = We can prevent this by substituting sym(3) and sym(10) instead. Once all of the symbolic variables are numeric, the result is numerically evaluated. subs(f,X,3) % substitute 3 for X in f ans = The subs() function can be used to substitute one value for another, including a numeric value for symbolic one. We will make use of these in the sections to come. Symbolic matrices are created in much the same way numeric matrices are.
#Is solve in the matlab symbolic toolbox code#
You can convert an expression to C code as follows ccode(g) You can convert an expression to latex as follows latex(g) Exponents, for example are printed on the line above, trying to mimic how you might write them by hand pretty(g) The pretty() function tries to display a symbolic expression in a prettier way. H = compose(f,g) % functional composition: f(g(X)) f =įunctions of multiple variables can also be created. Note that these too are symbolic expressions, not function handles. We can build up more complicated symbolic expressions by defining functions of these variables. To convert a constant symbolic expression to a regular Matlab double value, use the double() function. Q = sym(22/14 + 18/402) % add two fractions exactly r = W = r*2-3/t % notice that r is not evaluated T = sym(2/3) % Need to use sym here, not syms syms A B lambda X Y Z aĬonstant symbols can be defined too, which are not evaluated numerically. Symbolic variables are treated differently than regular variables in Matlab and must be created using the sym() or syms() functions. Online Documentation Working with Symbolic Variables For more information, see the online documentation. 398-411.There is more to this package than we can describe here. (2011), "Solution of Raman fiber amplifier equations using MATLAB BVP solvers", COMPEL - The international journal for computation and mathematics in electrical and electronic engineering, Vol. This is a notable and promising improvement from a RFA designer's point of view. Using the MATLAB BVP solvers, total power/fiber span can be improved further using the continuation process with the cost of computational time. The improvement of the total power is about 1.4 times compared with those of the previously reported methods. Using the continuation method, in a distributed RFA with ten pump sources, 2,400 mW total input pump power is achieved. MATLAB BVP solvers have been proven to be effective for the numerical solution of RFAs with multiple pumps and signal waves.