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=26329)

poster 2019-12-14 20:13

MATLAB中的矩阵分类
 
我在Mathematica中有以下代码:

nxBin = Table[{-5 sX + (i - 0.5)*step, nBin[[i]]}, {i, 1, Length[nBin]}] 而我在MATLAB中做到了:

a=zeros(length(nBin),1); nxBin=zeros(length(nBin),1); for i=1:length(nBin) anew=a*step*(i-0.5) -5*sX; b=zeros(length(nBin(i)),1); nxBin(i,:)=[anew , b] end 但是MATLAB说
[INDENT] ???使用==> horzcat时出错
CAT参数的尺寸不一致。

==>中的错误始于52
nxBin(i,:)= [anew,b]

[/INDENT]谁能告诉我为什么会出现此错误?另外,我可以用更少的行来做到这一点吗?



[B]回答:[/B]

您想用步长对n×1数组nBin进行分类(直方图可能是x值)。因此,您可以简单地创建“ x向量”并将其组合。

nxBin = [ -5*sX + ((1:length(nBin))' - 0.5) * nStep, nBin(:)] 这是相同的步骤

%# make a vector with values from 1 to nBin x = 1:length(nBin); %# transpose, since it's 1-by-n and we want n-by-1 x = x'; %'# %# apply the modification to x x = -5*sX + (x-0.5)*nStep; %# catenate with nBin (the colon operator guarantees it's n-by-1 nxBin = [x, nBin(:)]; [B]编辑[/B]

如果要绘制此图,可以执行

plot(nxBin(:,1),nxBin(:,2),'.') 或者,如果我猜对了,那就是直方图

bar(nxBin(:,1),nxBin(:,2))

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


所有时间均为北京时间。现在的时间是 22:39

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