[英]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.