【问题标题】:Error using /; matrix dimensions must agree使用 / 时出错;矩阵尺寸必须一致
【发布时间】:2018-07-13 13:31:12
【问题描述】:
A1 = 0.85;%in^2
L = 2.0; %in
x = -2:0.5:2; %in
V1 = 300; %ft/s

for i=1 : length(x)
A = A1*cosh(x/L);
V = (V1 * A1) / A;
end

我知道这很愚蠢,但这给了我这个错误,我不知道为什么

Error using  / 
Matrix dimensions must agree.
Error in Lab2 (line 11)
V = (V1 * A1) / A;

【问题讨论】:

    标签: matlab


    【解决方案1】:

    问题是您在标量(V1 * A1 的结果)和向量(A)之间执行非元素除法。这应该可以解决您的问题(有关详细信息,请参阅官方文档的this page):

    for i = 1:length(x)
        A = A1 * cosh(x / L);
        V = (V1 * A1) ./ A;
    end
    

    顺便说一句,我不清楚您在for loop 中尝试做什么。您创建了一个向量x,但您从未真正使用它的值;仅使用它的长度来设置迭代的上限。最重要的是,由于外部范围变量永远不会改变,每次迭代都会产生相同的AV 值。您可以删除迭代,并且仍然能够通过单次计算获得相同的结果,因为内部代码已经在 x 上进行了矢量化。

    【讨论】:

      猜你喜欢
      • 2012-07-12
      • 2011-12-05
      • 2014-03-30
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多