为什么我的矩阵尺寸不一致?

时间:2015-05-01 00:10:40

标签: matlab

文件data5.mat包含x值和相应的y值。我试图在x,y图上找到最小方块线。这条线应该是这种形式 Y = SIN(A * X)的 Exp(B 的x ^ c)中。我有这个脚本

clear
load 'data5b.mat'
a=linspace(-50,50,100);
b=linspace(-50,50,100);
c=linspace(-50,50,100);
for i=1:length(a)
    for j=1:length(b)
        for k=1:length(c)
                Err(i,j,k) = sum((y-sin(a(i)*x)*exp(b(j)*x.^c(k))).^2);
        end  
    end
end
pcolor(Err)

然而,当我运行脚本时,我会收到:

Error using  * 
Inner matrix dimensions must agree.

Error in problem_4_hw4 (line 9)
            Err(i,j,k) = sum((y-sin(a(i)*x)*exp(b(j)*x.^c(k))).^2);

1 个答案:

答案 0 :(得分:2)

这样做

Err(i,j,k) = sum((y-sin(a(i)*x).*exp(b(j)*x.^c(k))).^2);

sin()是一个与x大小相同的向量,因此是exp(),因此它们之间需要.*