matlab 填充数组,Matlab自动将数组类型从复数转换为double
我有一個煩人的情況,我無法用我的google-fu解決,所以轉向我們的常駐matlab專家尋求幫助。
假設我運行以下代碼
""
我得到以下輸出
AA = ones(10,2) + j*ones(10,2)
whos
for i=1:10
AA(i,:) = i + sqrt(i);
end
AA
whos
為什么matlab會自動將特定請求的數組轉換為復數?
這是一個問題,因為我有一個返回值可能復雜或不復雜的函數,我希望能夠存儲這兩個值。
即使我嘗試AA =
1.0000 + 1.0000i 1.0000 + 1.0000i
1.0000 + 1.0000i 1.0000 + 1.0000i
1.0000 + 1.0000i 1.0000 + 1.0000i
1.0000 + 1.0000i 1.0000 + 1.0000i
1.0000 + 1.0000i 1.0000 + 1.0000i
1.0000 + 1.0000i 1.0000 + 1.0000i
1.0000 + 1.0000i 1.0000 + 1.0000i
1.0000 + 1.0000i 1.0000 + 1.0000i
1.0000 + 1.0000i 1.0000 + 1.0000i
1.0000 + 1.0000i 1.0000 + 1.0000i
Name Size Bytes Class Attributes
AA 10x2 320 double complex
AA =
2.0000 2.0000
3.4142 3.4142
4.7321 4.7321
6.0000 6.0000
7.2361 7.2361
8.4495 8.4495
9.6458 9.6458
10.8284 10.8284
12.0000 12.0000
13.1623 13.1623
Name Size Bytes Class Attributes
AA 10x2 160 double
i 1x1 8 double,也會發生完全相同的行為
編輯:我應該指定如果第一次調用我的函數返回一個實數值,那么上面發生的事情也會發生。但是如果函數的第一次返回很復雜(無論循環的其余部分返回什么),那么數組將保持復雜。
總結
以上是生活随笔為你收集整理的matlab 填充数组,Matlab自动将数组类型从复数转换为double的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 陕西警方破获一起特大“网络水军”诈骗案:
- 下一篇: 再破纪录!双11当天全国快递业务量达6.