Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB矩阵范围赋值_Matlab_Matrix_Plot_Range_Histogram - Fatal编程技术网

MATLAB矩阵范围赋值

MATLAB矩阵范围赋值,matlab,matrix,plot,range,histogram,Matlab,Matrix,Plot,Range,Histogram,是否可以将范围分配给矩阵。 如果你把下面的零点矩阵看作一个“网格”来绘制: R = zeros(5,8); R = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 你能把这个矩阵当作一个网格,这样每个x轴的零点都可以看作一个范围吗?例如,R(5,1)是一个范围0-0.1秒R(5,2)是一个范围0.1-0.2秒等 “范围”概念是否也可以应用于列 这样做的目的是,我可以读取单元格数组数据

是否可以将范围分配给矩阵。 如果你把下面的零点矩阵看作一个“网格”来绘制:

R = zeros(5,8);
R =
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
你能把这个矩阵当作一个网格,这样每个x轴的零点都可以看作一个范围吗?例如,
R(5,1)
是一个范围
0-0.1秒
R(5,2)
是一个范围
0.1-0.2秒

“范围”概念是否也可以应用于列

这样做的目的是,我可以读取单元格数组数据,我已经组织到零矩阵的范围,以产生一个二维直方图


我不确定我是否理解你的问题

如果您询问是否可以将向量(例如
a=[1;2;3]
)指定为某个矩阵
R=0(3,5)
中的一列,则可以通过

R(:, 1) = a;
R(:, 2) = [4;5;6];

假设您有时间
tt
和数据值
val
,其中
val(i)
包含时间
tt(i)
的数据值。在你的例子中,你会

tt  = [0.02, 0.22, 0.15, 0.08, 0.27, 0.09];
val = [0.5,  1.4,  2.5,  0.6 , 0.8,  0.3 ];
例如,现在需要表示所需时间和数据范围(增加)的向量

trange   = [0, 0.1, 0.2, 0.3, Inf];
valrange = [0, 1,   2,   3,   Inf];
现在创建一个大小合适的矩阵

R = zeros(length(valrange), length(trange));
只需在所有时间循环,就可以轻松填充矩阵

for i=1:length(tt)
   %// We consider the pair tt(i), val(i)
   %// First find out, in which time range tt(i) lies:
   tind = find(trange > tt(i), 1, 'first');

   %// Now find out, in which value range val(i) lies:
   valind = find(valrange > val(i), 1, 'first');

   %// Now we increase the corresponding matrix entry
   R(valind,tind) = R(valind,tind) + 1;
end

请注意,第一列对应于
-Inf
trange(1)
之间的时间范围,最后一列对应于
trange(end-1)
trange(end)=Inf
之间的时间范围。第一排和最后一排都一样。

我不知道你想做什么。例如,您可以使用
重塑(R,5*8,1)
,这将使
R
的所有列连接成一个长向量。或者,
重塑(R.),5*8,1)
将所有
R
行连接成一个长向量。(其中
是转置运算符)我有时间和数据。时间为0-10秒,范围为0.1。每个时间值都有一个数据值。当然,我可以只使用绘图,但我想要一个颜色密度图,因为我有大量的数据。因此,我尝试使用直方图,如果匹配范围中存在重复值,这将导致颜色与同一范围中“匹配”的数据点数量成比例。很抱歉,问题不清楚!我觉得我需要一本完整的书来描述我想做的事情,你给我们一个小例子和你想要的输出的草图。请查收附件,网格的草图将是一个矩阵谢谢你的回答,我认为我的问题不够清楚,我道歉