簡體   English   中英

奇怪的“索引超出矩陣尺寸”。matlab錯誤

[英]strange “Index exceeds matrix dimensions.” matlab error

我已經在Matlab上編寫了這個簡單的函數:

function [A] = tries (a, b, c, d)
    global S CdM AdA
    D = @(Z, Vx, Vy, Vz) 0.5*S*(Vx.^2 + Vy.^2 + Vz.^2)*CdM(sqrt(Vx.^2 + Vy.^2 + Vz.^2))*AdA(Z);
    A = D(a, b, c, d);
end

但我不斷收到此錯誤:“索引超出矩陣尺寸”,並指出該錯誤在第3行中。

當我將相同的文本放入主函數(而不是放在單獨的函數中)時,它可以完美地工作。 有什么想法可能是什么問題?

第3行中唯一具有索引的項目是

AdA(Z)

讀取函數應等於AdA(a) 因此Z是無用的。

D2 = @(Vx, Vy, Vz) 0.5*S*(Vx.^2 + Vy.^2 + Vz.^2)*CdM(sqrt(Vx.^2 + Vy.^2 + Vz.^2));
A = D2(b, c, d)*AdA(a);

但是,忽略AdA是什么以及Z(等於a)的來源,請嘗試強制您的函數顯示尺寸,以查看調用該函數時尺寸是否匹配。

disp(size(AdA));
disp(a);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM