我想更改向量中的單個元素:
function vecteur_avec_delai=delai(input_vecteur, iteration)
vecteur_avec_delai(iteration,1) = input_vecteur(iteration,1);
end
input_vecteur是一個大小為 6001 × 1 的向量,填充了相同的值:61.46,并且vecteur_avec_delai = ones(6001,1)
我想將一個值更改vecteur_avec_delai為 61.46,所以仍然有一個長度為 6001 的向量,填充除了一個值等于 61.46 的單元格之外的向量,因此vecteur_avec_delai(iteration,1) = input_vecteur(iteration,1);
當我運行時:
vecteur_avec_delai=delai(input_vecteur, iteration)
它編譯但給了我一個vecteur_avec_delai大小(iteration, 1)的輸出,用 s 填充,0除了最后一個值等于61.46.
當我“手動”(直接在 MATLAB 命令視窗中)嘗試此操作時,它可以作業,那么當我執行此功能時為什么不呢?
uj5u.com熱心網友回復:
您尚未宣告vecteur_avec_delai為函式的輸入。這歸結為A(10,1) = 1在一個干凈的命令視窗中呼叫:它創建了一個 10×1 向量,其中有 9 個零和1末尾的 a。相反,首先將您的陣列宣告為 1,然后僅設定此必需元素:
function vecteur_avec_delai=delai(input_vecteur, iteration)
vecteur_avec_delai = ones(size(input_vecteur));
vecteur_avec_delai(iteration,1) = input_vecteur(iteration,1);
end
或者,鑒于您在命令視窗中對其作業的評論,只需添加vecteur_avec_delai到函式的輸入(為了清楚起見,您可能希望將輸入和輸出變數的名稱更改為不相同)。函式是封閉的名稱空間,也就是說,它們有自己的“作業空間”,并且看不到該函式之外的任何內容,因此需要宣告所有輸入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/446582.html
下一篇:如何向現有圖形添加新圖?
