我尝试插入涉及矩阵的关系,但在设置它时遇到错误
Error using .*
Matrix dimensions must agree.
例如,让
A = [1 2;3 4];
I = [1 0;0 1];
ft = linspace(0, 5, 25);
f = A.*ft + I.*ft.^2; %f is a matrix
t = [0:0.1:1];
f = interp1(ft, f, t);
我遇到了f = A.*ft + I.*ft.^2;
行中的维度错误。我当然知道如何使用for循环解决这个问题。但我不想做一个for循环。此外,在这种情况下,我不能插值。如何解决这个问题?
答案 0 :(得分:2)
您正在使用.*
,这是标量乘法,因此您会收到错误,因为您尝试对具有不同大小的矩阵执行逐元素操作(A
{ 1 * 25 ft
}。
我猜你真正想要的是并排设置(0 * A,0.04 * A,0.08 * A,......,0.96 * A,1 * A)。如果是这样,您应该考虑使用简单的for
循环并逐步填充ft
。
This function也可以帮助您,让我知道这是如何解决的
答案 1 :(得分:1)
错误是因为A
的维度为2x2
,而ft
的维度为1x25
。你不能在具有不同维度的两个矩阵上执行逐元素乘法.*
。