How do i define a variable as a function?

Let us say there is a fucntion theta that is depedent on time: Theta(t); It is in a cos function so: cos(theta(t))
How do i differentiate this in matlab so it uses the chain rule?
clear all
syms t theta
theta=t;
f=cos(theta(t));
diff(f,t)
I have tried the above and got the errors:
Error using sym/subsref (line 49)
Error using maplemex
Error, (in MTM:-subsref) indices must be positive integers, got t
Error in test (line 5)
f=cos(theta(t));

 Accepted Answer

I suspect this works the similiarly in Maple (that I do not currently have) —
syms t theta(t)
f=cos(theta(t));
dfdt(t) = diff(f,t)
dfdt(t) = 
.

7 Comments

I have tried to google after this error and which -all syms did not work
I get this error:
Error using assignin
Invalid variable name "theta(t)" in ASSIGNIN.
Error in syms (line 56)
assignin('caller',varargin{i},sym(varargin{i}));
Error in test (line 1)
syms t theta(t)
Maple may work differently than the MATLAB Symbolic Math Toolbox engine.
Check the Maple documentation, since my code obviously works in MATLAB R2021b.
I currently do not have Maple installed, so I cannot help with code using it.
.
I am using 2020b. I am not using maple. I dont know why it says "Error using maplemex" but i am using matlab
This error —
Error using maplemex
indicates that Maple is the symbolic engine in the posted original code.
.
How do i change it to matlab`?
I have found this:
But that it did not work and this happened:
>> which -all syms
C:\Program Files\MATLAB\R2020b\toolbox\maple\syms.m
C:\Program Files\MATLAB\R2020b\toolbox\symbolic\symbolic\syms.m % Shadowed
>> test
Error using sym/subsref (line 49)
Error using maplemex
Error, (in MTM:-subsref) indices must be positive integers, got t
Error in test (line 2)
f=cos(theta(t));
The other solution i did not get: Where do i have to look for the uninstaller?
The other solution where you remove the matlab directory worked. Thank you,
I hope that you do not have to uninstall Maple, and can simply disconnect it from MATLAB.
However if you need to uninstall it (and then reinstall it without connecting it to MATLAB next time), and since it appears that you are using Windows, open Control Panel, then click on Programs and Features, then follow the instructions. Then, reinstall Maple without connecting it to MATLAB.
.

Sign in to comment.

More Answers (1)

syms theta(t)
f=cos(theta(t));
diff(f,t)

1 Comment

I get this error:
Error using assignin
Invalid variable name "theta(t)" in ASSIGNIN.
Error in syms (line 47)
assignin('caller',varargin{1},sym(varargin{1}));
Error in test (line 1)
syms theta(t)

Sign in to comment.

Categories

Products

Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!