我有一個由教師提供的功能,它不能讓我們看到內部運作。MATLAB:從for循環轉換爲無循環
該功能基本上集成了您輸入的任何內容。
這裏是我們的循環:
for i = 1:length(time)-1
intdefValues(i) = intdef(t, r, time(i), time(i+1));
end
我們正在努力做到這一點:
intdefValues = intdef(t, r, time(1:end-1), time(2:end));
難道我們錯了嗎?無論如何,該功能不支持向量?
函數的語法,以防萬一您好奇;
intdef(t, x, a, b)
其中t =時間矢量,x =函數,a,b是開始/結束參數。
當你嘗試沒有循環,函數會給出錯誤? – 2014-10-05 21:29:06
*我們錯了嗎?反正該函數不支持向量?*是的,該函數可能只接受標量,而不是向量作爲輸入。可以肯定的是,您應該向您的教師詢問有關該功能語法的更多細節。或者像@ ParagS.Chandakkar建議的那樣,嘗試爲它提供載體,並查看是否出現錯誤。 – Jubobs 2014-10-05 23:38:47
另外,即使您找到某種方式來向量化,也可能不會使程序運行得更快,因爲您正在更改函數「intdef()」的工作方式。所以可能不值得調查。 – 2014-10-05 23:50:53