【发布时间】:2021-06-20 14:20:23
【问题描述】:
如何计算屏幕截图所示的积分,
其中j1 是1x3 矩阵,j2 也是1x3 矩阵,
而g1 是300x3 矩阵,g2 也是300x3 矩阵。
在屏幕截图中,'.'表示点积。
实际上 g1 和 g2 是 300x4 矩阵,其中第一行是 't'。第一行有 t = 200,第二行有 300,依此类推,直到第 300 行有 60000 值。 因此,g1 和 g2 实际上依赖于 't'。 如果我们把它作为总和,那么这是否正确?
Alpha_gyro = 0;
for i = 1:300
Alpha_gyro_function =(dot(g1(1,2:4),j1) - dot(g2(i,2:4),j2));
Alpha_gyro = Alpha_gyro + Alpha_gyro_function;
end
因此,它将输出作为 1 个数字。但现在我很困惑 'Alpha_gyro(t)' 相对于 't' 的值是多少。即,“Alpha_gyro”也应该是 300x1 的矩阵,对吧?因为它依赖于't' 为此目的,这是否正确?
Alpha_gyro = zeros(300,1)
for i = 1:300
Alpha_gyro_function =(dot(g1(1,2:4),j1) - dot(g2(i,2:4),j2));
Alpha_gyro(i) = Alpha_gyro(i) + Alpha_gyro_function;
end
但是,正如我们所知,积分的值从 0 到“t”的新值,因此每个值应该是新矩阵中先前值的总和。 那么我添加了这个,如果我做得对,你能指导一下吗?
Alpha_gyro = zeros(300,1);Alpha_gyro_function_old =0 ;
for i = 1:300
Alpha_gyro_function =(dot(g1(1,2:4),G_upd_j1) - dot(g2(i,2:4),G_upd_j2));
Alpha_gyro_function_old = Alpha_gyro_function_old + Alpha_gyro_function;
Alpha_gyro(i) = Alpha_gyro(i) + Alpha_gyro_function_old;
end
【问题讨论】:
-
我猜 j1 和 j2 的大小必须是 3x1?并且需要计算数值积分?
-
欢迎来到 SO!它通常在这里工作的方式是你展示你尝试过的东西(发布一些代码)并说出什么不起作用。如果你不付出努力,这不是你做作业的地方。见How to Ask。
-
感谢@Justin 的回复,我已经更新了问题,
-
感谢@geoinformatic 的回复我已经更新了你现在建议什么?
标签: matlab integration calculus