使用matlab生成合成数据2d x t x v

使用matlab生成合成数据2d x t x v,matlab,3d,simulation,mesh,synthetic,Matlab,3d,Simulation,Mesh,Synthetic,我正在尝试生成/模拟一组合成/模拟数据集,以便在matlab中生成合成血流图像。但我不知道如何或从哪里开始 我知道我应该使用网格函数,但我如何使其成为时间维度 如果有人能帮助/引导我度过难关,我将不胜感激。我想生成一个大小为25x25x10x4的数据集。这是X X Y X t X V。图像应该与此类似: 或者像这样: 提前谢谢你 数据集#1: 使用您最喜欢的线表示法(极坐标、线性等)并随机生成线的参数。例如,如果选择y=mx+c,则随机生成m和c。现在您已经定义了线,可以在图像上绘制它了

我正在尝试生成/模拟一组合成/模拟数据集,以便在matlab中生成合成血流图像。但我不知道如何或从哪里开始

我知道我应该使用网格函数,但我如何使其成为时间维度

如果有人能帮助/引导我度过难关,我将不胜感激。我想生成一个大小为25x25x10x4的数据集。这是X X Y X t X V。图像应该与此类似:

或者像这样:

提前谢谢你

数据集#1: 使用您最喜欢的线表示法(极坐标、线性等)并随机生成线的参数。例如,如果选择
y=mx+c
,则随机生成
m
c
。现在您已经定义了线,可以在图像上绘制它了

数据集#2: 它们看起来像二维高斯。按以下方式使用

[X Y] = meshgrid(x_range,y_range);
Z = reshape(  mvnpdf([X(:) Y(:)],MU,SIGMA)   ,size(X));
imagesc(Z);
使用一些随机生成的
MU
SIGMA
,使
MU
位于
x\u范围
y\u范围
。例如,
x_范围=-3:0.1:3;y_范围=x_范围

亩=

西格玛=

1.2647    0.3760
0.3760    1.0938

为了补充@Jacob非常具体的答案,您需要一个4D
MxNxTxV
矩阵。在这种情况下,根据post,
MxN
是每个图像的维度,
T
是时间维度,V是每个时间帧的通道或采样数(RGB为3个,任何光谱图像为>3个)

  • 对于每个T,生成V图像
  • 使用数据集#1和数据集#2的随机参数模拟V图像
  • 将每个数据集的所有内容放在一个4D矩阵中(即使用双精度for或串联)
根据@Jacob的建议,将
rand()
替换为下面的
generate_image()
,即生成所需结构类型的随机样本的函数:

M = 25; N = 25;
T = 10; V = 4;

DataSet1 = zeros(M,N,T,V);
DataSet2 = zeros(M,N,T,V);

for t = 1:T
   for v = 1:V
        DataSet1(:,:,t,v) = randn(M,N);
        DataSet2(:,:,t,v) = randn(M,N);
    end
end

如果您对原来的帖子有重大修改,请注明为“更新”,或提供进一步的澄清。否则,提供的答案可能不再有意义。请停止破坏您的问题。这些答案不仅不再有意义,而且是不尊重他人的行为,破坏了人们为帮助你所付出的努力。
M = 25; N = 25;
T = 10; V = 4;

DataSet1 = zeros(M,N,T,V);
DataSet2 = zeros(M,N,T,V);

for t = 1:T
   for v = 1:V
        DataSet1(:,:,t,v) = randn(M,N);
        DataSet2(:,:,t,v) = randn(M,N);
    end
end