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));

 採用された回答

Star Strider
Star Strider 2021 年 10 月 11 日

0 投票

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 件のコメント

Hamza Yusuf
Hamza Yusuf 2021 年 10 月 11 日
編集済み: Hamza Yusuf 2021 年 10 月 11 日
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)
Star Strider
Star Strider 2021 年 10 月 11 日
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.
.
Hamza Yusuf
Hamza Yusuf 2021 年 10 月 11 日
I am using 2020b. I am not using maple. I dont know why it says "Error using maplemex" but i am using matlab
Star Strider
Star Strider 2021 年 10 月 11 日
This error —
Error using maplemex
indicates that Maple is the symbolic engine in the posted original code.
.
Hamza Yusuf
Hamza Yusuf 2021 年 10 月 11 日
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?
Hamza Yusuf
Hamza Yusuf 2021 年 10 月 11 日
The other solution where you remove the matlab directory worked. Thank you,
Star Strider
Star Strider 2021 年 10 月 11 日
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.
.

サインインしてコメントする。

その他の回答 (1 件)

KSSV
KSSV 2021 年 10 月 11 日

0 投票

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

1 件のコメント

Hamza Yusuf
Hamza Yusuf 2021 年 10 月 11 日
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)

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeStartup and Shutdown についてさらに検索

製品

リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by