Hello,
I'm working on small project for my studies - magnetic levitation system.
I wanted to check if my linearization calculations were correct. In order to do that I wanted to use Symbolic Toolbox, therefore I need to define:
- t - time,
- z(t) - position (time-dependant),
- L(z(t)) - inductance of coil, which depends on the position of a levitating object
In following lines I'll try to explain what is incomprehensible to me. I will declare syms objects and validate them with following formula:
I imagine I should write script as follows:
syms t
syms z(t)
syms L(z(t))
But it results in error: Invalid variable name.
Next I've written script:
syms t
syms z(t)
syms L(z)
diff(L,t)
Script results in t being sym object. After 2nd line z is being defined as symfun object, but 3rd line: syms L(z); overrides z(t) as z, thus at the end of script z is a sym object. Result of the script is 0, therefore it's not a good way to define "my symbols".
After some random coding I've came up with:
syms t
syms z(t)
syms L(t)
L = L(z);
diff(L,t)
Result of the (pretty) script is:
d
L'(z(t)) -- z(t)
dt
Which I interpretate as...:
L'(z(t)) = dL(z(t)) / dz(t)
This result is compatible with:
And I assume that code (3) is correct. My question is: why? Is it the only way to define such a function in Symbolic Toolbox? Moreover - is it a correct way?
0 Comments
Sign in to comment.