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_Signal Processing_Matlab Figure - Fatal编程技术网

matlab绘图的网格划分

matlab绘图的网格划分,matlab,signal-processing,matlab-figure,Matlab,Signal Processing,Matlab Figure,我有两种不同的时间函数x(t)和y(t)。我想在Matlab中绘制x(t)vsy(t)。该图需要划分为一个40x40网格,从每个方向的信号最小值和最大值开始延伸。然后,我需要计算在绘图中占用的网格框的数量。请提供一种在Matlab中实现此功能的方便方法 我尝试了以下代码(忽略轴的上限和下限): 据我所知,代码只将绘图划分为网格。如何计算占用的网格数 参考:我基本上需要实现本文中的算法: 听起来您想创建一个40x40矩阵,然后使用Bresenham线条绘制算法连接该矩阵中x(t)/y(t)对应的每

我有两种不同的时间函数
x(t)
y(t)
。我想在Matlab中绘制
x(t)
vs
y(t)
。该图需要划分为一个
40x40
网格,从每个方向的信号最小值和最大值开始延伸。然后,我需要计算在绘图中占用的网格框的数量。请提供一种在Matlab中实现此功能的方便方法

我尝试了以下代码(忽略轴的上限和下限):

据我所知,代码只将绘图划分为网格。如何计算占用的网格数

参考:我基本上需要实现本文中的算法:

听起来您想创建一个40x40矩阵,然后使用Bresenham线条绘制算法连接该矩阵中x(t)/y(t)对应的每个点(经过适当缩放)


然后,您可以使用
nnz
来计算矩阵中非零元素的数量。

通过将信号量化为40个级别,然后将其与移位区域进行比较,我获得了一个比Dave Durbin提到的解决方案简单得多的解决方案。随附代码以供参考:

function TD=TimeDelay(val,fs)
n=40;
jump=( max(val) + abs(min(val)))/40;

level=zeros(n,1);
level(1)=min(val) + jump;

for i=2:n
    level(i)=level(i-1)+jump;
end
level(n)=level(n)+1;
ScaledECG=zeros(size(val));
ScaledECG(val <= level(1))=1;

for j=2:n
    ScaledECG( val<=level(j) & val>level(j-1))=j;
end

tau=fs*.5;
N=zeros(n,n);
for k=tau+1:1:length(val)
N(ScaledECG(k-tau),ScaledECG(k))=N(ScaledECG(k-tau),ScaledECG(k)) + 1;
end

N(N>5)=0;
N(N<=5)=1;

TD=sum(sum(N));
函数TD=时间延迟(val,fs)
n=40;
跳跃=(最大值)+绝对值(最小值))/40;
电平=零(n,1);
级别(1)=最小(val)+跳跃;
对于i=2:n
水平(i)=水平(i-1)+跳跃;
结束
级别(n)=级别(n)+1;
ScaledECG=零(大小(val));
ScaledECG(val 5)=0;

N(我对这个问题做了一点修改。你能帮忙吗?事实上,显示的代码只画了一个网格…你有没有尝试过任何方法来计算占用的单元格?如果你需要高质量的帮助,请提供示例数据、预期的输入/输出并展示你的努力。另外,请查看和
function TD=TimeDelay(val,fs)
n=40;
jump=( max(val) + abs(min(val)))/40;

level=zeros(n,1);
level(1)=min(val) + jump;

for i=2:n
    level(i)=level(i-1)+jump;
end
level(n)=level(n)+1;
ScaledECG=zeros(size(val));
ScaledECG(val <= level(1))=1;

for j=2:n
    ScaledECG( val<=level(j) & val>level(j-1))=j;
end

tau=fs*.5;
N=zeros(n,n);
for k=tau+1:1:length(val)
N(ScaledECG(k-tau),ScaledECG(k))=N(ScaledECG(k-tau),ScaledECG(k)) + 1;
end

N(N>5)=0;
N(N<=5)=1;

TD=sum(sum(N));