评估一个象征性的t的函数,其中包含一个衍生品相对于t

1视图(30天)
我有这个代码τ应该t的函数,但当我使用潜艇命令结果如下:tau_t = 2 * Q (1) + diff (Q (t), t)
我想要的结果数值(= 3 *π/ 2)。我的代码要比这复杂得多,我不想定义函数的表达式问早些时候因为一些原因,我需要最后一步。它应该可以评估τ对吧?
信谊Q t (t)
Q_dot = diff (Q, t);
τ= 2 * Q + Q_dot
τ(t) =
%τ= 2 * Q (t) + diff (Q (t), t)
问(t) = t *π/ 2;% t的函数
tau_t =潜艇(τ,t, 1)
tau_t (t) =
2的评论
ahmad obeidat
ahmad obeidat 2023年2月19日
我提到我的代码要比这复杂得多,我不想定义函数的表达式问早些时候因为一些原因,我需要最后一步。谢谢。

登录置评。

答案(2)

沃尔特·罗伯森
沃尔特·罗伯森 2023年2月16日
这是象征性的工具箱的一个方面,它是常见的误解。
假设你有MATLAB代码
= 2;
B + 7 = 5 *;
一个= 11;
你期望被分配后11 A, B停止评估5 * 2 + 7 = 17和开始评估5 * 11 + 7 = 62 ?基于这一事实用于构造B但是现在已经改变?你期望 B + 7 = 5 * 意味着任何时候你询问的价值 B MATLAB将查找 当前的 和使用价值,找出目前吗?
…如果你希望,那么就很有趣来决定是什么意思代码等
= 2;
B + 7 = 5 *;
= (b - 1) / 2 +;
然后开始表达一系列约束,a和B将被定义为任何组数可以自洽的逻辑扩张? = + 1 得到乐趣然后……理解为约束,将迫使无穷,+正无穷,或南……
所以, 没有 在MATLAB级别, B + 7 = 5 * 据悉,复制 当前的 值的计算,然后计算完成后,忘记所有的历史如何形成。B变成17,而不是“公式5 * + 7的当前值计算变化”
这样,当您创建
信谊一个
B + 7 = 5 *;
一个= 11;
B确实 成为“公式5 * + 7的当前值计算作为一个改变”。的 信谊一 是一样的
=符号(“一个”);
这是“一个符号被分配一个引用变量命名为‘一个’”。和B被分配一个引用符号计算结果,包括符号变量命名为“a”。但是当你改变一个MATLAB,依然保持自己的身份作为参照 象征性的“一个” 。B从来没有举行了一次指的身份 MATLAB 变量 一个 。符号变量的“生活在一个不同的过程。如果你要改变符号的价值' A ',其他流程中(通过使用后门),那么B可能以不同的方式出现。
因此,当您所做的
问(t) = t *π/ 2;% t的函数
那不会改变用于构建τ的问。τ引用一个未解决的象征功能 和分配 在MATLAB级别 解决问的符号表达式与内生活 τ 。这条线
问(t) = t *π/ 2;% t的函数
是一样的
Q = symfun (t *π/ 2,t);
象征性的引擎内创建了一个匿名的象征性功能过程,并返回一个引用存储在MATLAB-level问,而不是连接到 生活在象征性的引擎。
你应该做什么呢?嗯,你喜欢做些什么
Qval (t) = t *π/ 2;
resolved_tau =潜艇(τ,Q, Qval)
13个评论
Torsten
Torsten 2023年2月20日
然后不知何故t已成为功能代码,不是一个变量。
包括代码来让我们看看发生了什么。

登录置评。


Torsten
Torsten 2023年2月16日
编辑:Torsten 2023年2月17日
它应该可以评估τ对吧?
信谊Q t (t)
Q_dot = diff (Q, t);
τ= 2 * Q + Q_dot
τ(t) =
%τ= 2 * Q (t) + diff (Q (t), t)
Q_t = t *π/ 2;% t的函数
tau_t =潜艇(τ,Q, Q_t)
tau_t (t) =
tau_t (1)
ans =

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!