如何让一个象征性的矩阵呢?

3视图(30天)
Evgheny
Evgheny 2011年4月11日
我需要一个符号矩阵:
1 t1t1 ^ 2 sin (t1)因为(t1)
1 t2t2 ^ 2 sin (t2)因为(t2)
1 tmtm ^ 2罪(tm)因为(tm)
我可以做一个数组的数组而不是整个矩阵:
#φ。m文件
函数[结果]=φ(t)
%宣布ω
ω= 4;
结果= [1 t t * sin(ω* t) cos(ω* t)];
#主要。m文件
n = 8;
m = 5;
t =符号(“t”[n, 1]);
F =诊断接头(信谊(“t”[1]));
i = 1: n
F(我:)=φ(t (i));
结束
F
这返回:
[1,t1, t1 ^ 2,罪(4 * t1),因为(4 * t1))
[1,t2, t2 ^ 2,罪(4 * t2),因为(4 * t2))
[1、t3、t3 ^ 2,罪(4 * t3),因为(4 * t3)]
[1、t4、t4 ^ 2,罪(4 * t4),因为(4 * t4))
[1、t5、t5 ^ 2,罪(4 * t5),因为(4 * t5))
[1、t6 t6 ^ 2,罪(4 * t6),因为(4 * t6)]
[1,t7, t7 ^ 2,罪(4 * t7),因为(4 * t7)]
[1、t8、t8 ^ 2,罪(4 * t8),因为(4 * t8))
但这是数组的数组(但我需要矩阵)。如何做到这一点呢?

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2011年4月11日
它认为F是什么数据类?
cell2mat可能会奏效。

更多的答案(2)

安德烈Bobrov
安德烈Bobrov 2011年4月11日
变体:
> > n = 8; t = [];j = 1: n, t = [t;信谊([“t”num2str (j))));结束
φ= @ (kω)的(长度(k (:)), 1) k k。^ 2罪(ω* k)因为(ω* k)];
φ(t, 4)
俺们*的(大小(ans, 2), 1)
ans =
[1,t1, t1 ^ 2,罪(4 * t1),因为(4 * t1))
[1,t2, t2 ^ 2,罪(4 * t2),因为(4 * t2))
[1、t3、t3 ^ 2,罪(4 * t3),因为(4 * t3)]
[1、t4、t4 ^ 2,罪(4 * t4),因为(4 * t4))
[1、t5、t5 ^ 2,罪(4 * t5),因为(4 * t5))
[1、t6 t6 ^ 2,罪(4 * t6),因为(4 * t6)]
[1,t7, t7 ^ 2,罪(4 * t7),因为(4 * t7)]
[1、t8、t8 ^ 2,罪(4 * t8),因为(4 * t8))
ans =
t1 + cos (4 * t1) +罪(4 * t1) + t1 ^ 2 + 1
t2 + cos (4 * t2) +罪(4 * t2) + t2 ^ 2 + 1
t3 + cos (4 * t3) +罪(4 * t3) + t3 ^ 2 + 1
t4 + cos (4 * t4) +罪(4 * t4) + t4 ^ 2 + 1
t5 + cos (4 * t5) +罪(4 * t5) + t5 ^ 2 + 1
t6 + cos (4 * t6) +罪(4 * t6) + t6 ^ 2 + 1
t7 + cos (4 * t7) +罪(4 * t7) + t7 ^ 2 + 1
t8 + cos (4 * t8) +罪(4 * t8) + t8 ^ 2 + 1

Evgheny
Evgheny 2011年4月11日
很抱歉以这样一种方式——它计算了(就像一个矩阵)。
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2011年4月11日
MATLAB之间的接口和MuPad经常转换矩阵运算element-wise操作。有在MuPad MATLAB-level矩阵视为一个代数矩阵,你需要更小心你如何的代码问题。
不幸的是我没有符号工具箱,所以我不能尝试如何最好的编码。
* *什么矩阵乘法,A * B, A和B已经定义为矩阵,是代码
潜艇(“A * B”)
而不是使用A * B。但我不确定这一点:没有工具箱玩,更很难分辨哪部分文档适用于哪些情况下。

登录置评。

社区寻宝

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

开始狩猎!