我想動態設置數組的大小並存儲一些值,但它會導致錯誤。在循環中更改數組大小導致matlab中的錯誤
這裏是代碼,
syms k
x=[1 0 0 1];
y=[];
for b=1:4
step1= x(b)*exp(-2*pi*1i*k*((b-1)/length(x)));
y(b)=step1
end
什麼,我試圖做的是存儲陣列中的「Y」第一步的每個值。
,這裏是錯誤,
The following error occurred converting from sym to double:
Error using mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a double
array.
If the input expression contains a symbolic variable, use the VPA function instead.
Error in Untitled3 (line 6)
y(K)=1/exp((pi*k*3*1i)/2)
爲什麼我需要去象徵性的?是否因爲術語中有符號'k'? – 2012-04-24 18:55:01
確切地說,當你把k放在y中時,它變成符號(syms) – Rasman 2012-04-24 18:57:35
,雖然它可以工作,但它不是一個好方法,程序運行正常,但錯誤仍然在代碼中, 預分配的方式是什麼具有sym變量和預定義數組大小的內存? – 2012-04-25 17:57:38