查看: 174|回复: 9|关注: 0

[已解决] 如何引用含抽象符号函数的向量中的元素?

[复制链接]

新手

7 麦片

财富积分


050


3

主题

12

帖子

0

最佳答案
[/codesyms t q(t)B=[1+2*q(t), 3*(t)];
c=B(1);]

我想引用B向量第一个元素。但是,我用了size(B)发现它是1x1的向量,并不是2维向量,导致B(1)实际上是给B中的变量t 赋值了,所以我引用的目的就失败了。。。请问这是为什么,有什么解决办法?

论坛优秀回答者

17

主题

1844

帖子

401

最佳答案
  • 关注者: 78
发表于 2019-6-9 11:32:10 | 显示全部楼层
size(B)是1x2的,不是1x1,你的运行结果是1x1?
多看帮助文档
说明你的matlab版本

新手

7 麦片

财富积分


050


3

主题

12

帖子

0

最佳答案
 楼主| 发表于 2019-6-9 11:33:58 | 显示全部楼层
深蓝孩童 发表于 2019-6-9 11:32
size(B)是1x2的,不是1x1,你的运行结果是1x1?

是的,结果是 1   1

新手

7 麦片

财富积分


050


3

主题

12

帖子

0

最佳答案
 楼主| 发表于 2019-6-9 11:38:48 | 显示全部楼层
本帖最后由 天堂里的海盗 于 2019-6-9 11:40 编辑
深蓝孩童 发表于 2019-6-9 11:32
size(B)是1x2的,不是1x1,你的运行结果是1x1?

你看命令行窗口,注q0是关于t的函数,q0(t)
Z(LZ[HVB)PH}EE(5(C4B]3Y.png

论坛优秀回答者

17

主题

1844

帖子

401

最佳答案
  • 关注者: 78
发表于 2019-6-9 11:46:45 | 显示全部楼层 |此回复为最佳答案
天堂里的海盗 发表于 2019-6-9 11:38
你看命令行窗口,注q0是关于t的函数,q0(t)
  1. syms t q(t)
  2. B = {2*q q^2}
  3. celldisp(B)
  4. size(B)
  5. celldisp(B(1))
复制代码
多看帮助文档
说明你的matlab版本

新手

7 麦片

财富积分


050


3

主题

12

帖子

0

最佳答案
 楼主| 发表于 2019-6-9 12:03:02 | 显示全部楼层

使用元胞数组,十分感谢!:kiss: 另外问一下,为啥会出现这个问题?

论坛优秀回答者

17

主题

1844

帖子

401

最佳答案
  • 关注者: 78
发表于 2019-6-9 12:18:38 | 显示全部楼层
天堂里的海盗 发表于 2019-6-9 12:03
使用元胞数组,十分感谢! 另外问一下,为啥会出现这个问题?

应该是符号变量只有一个t的问题,q是符号函数。
多看帮助文档
说明你的matlab版本

新手

7 麦片

财富积分


050


3

主题

12

帖子

0

最佳答案
 楼主| 发表于 2019-6-10 21:55:25 | 显示全部楼层
深蓝孩童 发表于 2019-6-9 12:18
应该是符号变量只有一个t的问题,q是符号函数。

我又发现新问题了,我的向量并不是可以手动输入的,我的1x2向量是coeffs生成的,是上百项的多项式,默认就是中括号,我试了必须要换成大括号才能用元胞数组,直接在向量外加大括号,只是1x1的元胞数组,拆分不开。T.T

论坛优秀回答者

17

主题

1844

帖子

401

最佳答案
  • 关注者: 78
发表于 2019-6-10 22:36:54 | 显示全部楼层
天堂里的海盗 发表于 2019-6-10 21:55
我又发现新问题了,我的向量并不是可以手动输入的,我的1x2向量是coeffs生成的,是上百项的多项式,默认 ...

https://stackoverflow.com/questions/42273354/how-to-extract-a-matrix-of-symbolic-functions-in-matlab
多看帮助文档
说明你的matlab版本

新手

7 麦片

财富积分


050


3

主题

12

帖子

0

最佳答案
 楼主| 发表于 2019-6-10 22:58:46 | 显示全部楼层
深蓝孩童 发表于 2019-6-10 22:36
https://stackoverflow.com/questions/42273354/how-to-extract-a-matrix-of-symbolic-functions-in-matl ...

可以了,可以了,两种方法都可以,我今晚可以睡着了,太谢谢您了,你在哪里,请您吃饭!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表