進出口特林與eigval
到的。減去對角線值和存儲在矩陣Diagonal
新值:如果輸入表達式包含符號變量,請改用VPA函數?
CovarianceMatrix=[8 -3 1;2 1 0;3 4 5];
Col=3;
Row=3;
store=1;
syms eigval;
for loop1= Col:-1:1
Rw=1;
syms eigval;
for loop2= 1:Row
if Rw==loop1
Diagonal= (CovarianceMatrix(Rw,loop1)-eigval);
Fix_Diagonal_2(loop2,store)=sym(Diagonal);
else
Diagonal= CovarianceMatrix(Rw,loop1);
Fix_Diagonal_2(loop2,store)=Diagonal;
end
Rw=Rw+1;
loop1=loop1-1;
if loop1==0
loop1=3;
end
end
store=store+1;
end
但因爲我使用的是一個象徵性的變量,它給出了一個錯誤:
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.
如何我能解決這個問題嗎?我想將新的減價值複製到對角矩陣中。
請使用正確的代碼縮進,這是非常困難的,而不讀碼。 – Daniel
什麼是符號?你的代碼不可運行。提供一些簡單的輸入值來複制您的問題。併發布*整個錯誤消息*包括行號 - 代碼中的哪一行會引發錯誤? – horchler