MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   将列表放在Matlab中的矩阵前面 (https://www.labfans.com/bbs/showthread.php?t=26393)

poster 2019-12-14 20:13

将列表放在Matlab中的矩阵前面
 
我想问这个:

如果我有这个矩阵:

magnetT=NaN(Maxstep,2); 并希望在其前面加上“ {0 1}”

我怎么写呢?

此外,如果我在mathematica中有一个循环:

magnetT[[i]] = {T, Apply[Plus, Flatten[mlat]]/L2} Matlab中的等效项不是吗???

magnetT(i,2)=[T ,sum(mlat(:))./L2]; 因为它给我:下标的分配维度不匹配。

==>大都会在128磁石上的误差T(i,2)= [T,sum(mlat(:))./ L2];

谢谢



[B]回答:[/B]

我将尝试回答两个问题中的第一个问题。

您询问有关将[URL="http://www.mathworks.com/help/techdoc/ref/nan.html"]NaN[/URL]数组添加到{0,1}的情况,该[URL="http://www.mathworks.com/help/techdoc/matlab_prog/br04bw6-98.html"]数组[/URL]是一个[URL="http://www.mathworks.com/help/techdoc/matlab_prog/br04bw6-98.html"]单元格数组[/URL] 。任何数据对象都可以很容易地捆绑到一个单元格数组中:

>> anyData = NaN(3,2);>> newCellArray = {anyData; {0,1}}newCellArray = [3x2倍] {1x2单元格}如果您尝试将结果连接到数字矩阵中,则以下内容将有所帮助:

>> Maxstep = 3;>> magnetT = NaN(Maxstep,2);>> newArray = [magnetT; 0 1]newArray = NaN NaN NaN NaN NaN NaN 0 1对于第二个问题,MATLAB抱怨试图将矢量存储在magnetT一个元素中。计算时:

磁铁T(i,2)= [T,sum(mlat(:))./ L2];右侧将创建一个矢量,而左侧将尝试在期望标量的位置存储该矢量。我不完全知道您要达到什么目的,并且我对Mathematica语法不太熟悉,但是也许您需要这样做:

magnetT(ii,:) = [T sum(mlat(:))./ L2];或者换句话说:

磁铁T(ii,1)= T;磁铁T(ii,2)= sum(mlat(:))./ L2;

[url=https://stackoverflow.com/questions/5070314]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 04:58

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.