如何定义一个符号函数数组?

87次(最后30天)
萨拉利纳雷斯
萨拉利纳雷斯 在2020年2月8日
我想做一个数组a1(t) a2(t)…一个(t)。
SYMS一个(t)的
创建一个符号参数't'和'a',它是't'的一个未知函数。我想要一个这样的数组。怎么做呢?我想用这个数组来解决一个系统的ode使用dsolve。

0评论

登录置评。

接受的答案

沃尔特·罗伯逊
沃尔特·罗伯逊 在2020年2月8日
在MATLAB它不可能创建的符号函数的阵列。如果你连一个象征性的功能MATLAB将构建返回数组的单一功能。
我一直在寻找这样的一天,发现差异(A1,X)将产生一个功能输出但DIFF(A1(X),X)将产生表达。我想知道这是否作出了dsolve目的的差异,在心里记调查,但我没有得到解决它呢。

3条评论

萨拉利纳雷斯
萨拉利纳雷斯 在2020年2月8日
我认为应该是可能的,因为在这里 https://es.mathworks.com/help/symbolic/syms.html#mw_62a9a35d-f66d-4c40-82d5-76241b2922de 我已阅读以下内容:
SYMS f (varN var1…) [N1 ...纳米] 创建 n1 ——- - - - - - ... ——- - - - - - 纳米 符号阵列具有自动生成符号函数作为其元素。这句法还生成符号变量 var1,…, varN 表示的输入参数 F 。例如, syms f(x) [1 2] 创建符号阵列 f(x) = [f1(x) f2(x)] ,符号函数 f1 (x) f2 (x) 和符号变量 X 在MATLAB的工作空间。对于多维数组,这些元素具有前缀 F 然后使用元素的索引 _ 作为分隔符,如 f1_3_2
这正是我想要的,但当我介绍代码时,MATLABS会回答:
使用错误SYMS(线228)
无效的变量名。
沃尔特·罗伯逊
沃尔特·罗伯逊 在2020年2月8日
>> SYMS F(X)[1 2]
>> F
F(X)=
[F1(x)时,F2(x)]的
> > f (1)
ANS =
[f1 (1), f2 (1)]
因此它创造的是,一个数组结果的单一功能。F(1)被解释为适用参数1到每个阵列内的功能,而不是作为索引阵列中的第一个位置。
沃尔特·罗伯逊
沃尔特·罗伯逊 在2020年2月8日
我刚刚检查了一下,发现dsolve()很高兴接收到一个从技术上来说只有一个函数的表达式数组,同时也很高兴接收到一个表达式数组。
SYMSF1(x)的F2(x)的
DF1 = DIFF(F1,X);DF2 = DIFF(F2,X);
eqn1 = [DF1 == 1 + F2,DF2 == 1 + F1];%,这是一个返回数组的函数
SOL1 = dsolve(eqn1)
式2 = [DF1(X)== 1 + F2(x)中,DF2(X)== 1 + F1(x)]的;这是一个表达式数组
SOL2 = dsolve(式2)
这些解决金宝搏官方网站方案都是一样的,所以dsolve()是满意任一版本。
如果你想从eqn1或eqn2中提取一个成分,这是有区别的。要从eqn2中提取一个成分,你只需要索引。要从eqn1中提取一个组件,必须使用feval(symengine)

登录置评。

更多的答案(1)

维克多
维克多 2020年4月24日20:45
我认为你可以与循环结束“执行”命令和单元阵列做

3条评论

维克多
维克多 2020年4月24日20:58
最简单的方法:
SYMS˚FF1(P)F2(P)F3(p)的
f = [f1 (p) f2 (p) f3 (p))
沃尔特·罗伯逊
沃尔特·罗伯逊 在2020年4月24日在23:37
不,于f成表达式向量,但用户想要的符号函数的阵列。
假设你有
SYMSF1(P)F2(P)
F1(P)= SIN(P);
F2(P)= COS(P);
F = [F1,F2]。
然后,如果这是函数数组,则f(1)。将函数f1,symfun(SIN(P),P)。但它不是:
> > f (1)
ANS =
(罪(1),因为(1)]
它没有下标,它把1作为函数的输入。
您的建议是
SYMSF1(P)F2(P)
F1(P)= SIN(P);
F2(P)= COS(P);
f = [f1(p), f2(p)];
然后
> > f (1)
ANS =
罪(P)
一开始看起来不错,但如果你仔细看,这是 表达 sin(p)不是一个函数。函数的输出是这样的
f1 > >
f1 (p) =
罪(P)
注意,函数形式在=行中包含了参数p,但是当我们使用您的建议时,它并没有说 ans (p) =因为f(1)是一个表达式而不是一个函数。
萨拉利纳雷斯
萨拉利纳雷斯 约18小时前
非常感谢你们两位!你真的帮了大忙,我真的很感谢你的时间!!

登录置评。

登录回答这个问题。

下载188bet金宝搏


释放

R2018b