【发布时间】:2011-08-18 13:21:54
【问题描述】:
我现在正在做我的论文。我坚持使用积分。我的功能定义为
myfun =(exp(t*Q)*V*x)(j);
其中Q 和V 是一个矩阵 (n*n),x 是一个元素为 1 的向量,然后在计算后我们得到该向量的第 j_th 个元素,然后我需要将函数针对吨。
我想在 matlab 中使用quad。但是关键是它会报告内部矩阵的大小不同。既然这里的 A 不是数字?.....
我该怎么做。否则我只能针对 t 本身编写一个循环,这非常慢。
谢谢
【问题讨论】:
-
这毫无意义。你不能取矩阵的(标量)指数。
-
如果你的意思是矩阵指数,你想要
expm,还是不对。 -
@Peter:如果没有看到 OP 实现的数学方程,说“这没有意义”是没有意义的。我并不是说你一定是错的,但很可能是 OP 确实想要对每个元素做一个
exp。 -
@yoda:但这实际上是对
exp函数的滥用。在数学中,您不能在矩阵上调用exp。 Matlab 碰巧将它实现为 elementwise,但它不是数学。也许我今天早上只是脾气暴躁:) -
@Peter:是的,你不会在数学中那样做。然而,矩阵乘法是在数学中完成某些双重求和的一种非常强大的方法。鉴于 MATLAB 在线性代数方面的优势,这将是最优化的方法。所以它很可能是一个有效的数学运算,它需要每个元素的
exp,尽管从表面上看,它似乎不正确。我同意 OP 的问题中没有什么是清楚的,并且可以进行多种解释。