Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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_Animation_Heatmap_Subplot_Movie - Fatal编程技术网

Matlab 如何将一组子情节显示为电影?

Matlab 如何将一组子情节显示为电影?,matlab,animation,heatmap,subplot,movie,Matlab,Animation,Heatmap,Subplot,Movie,我有30个热图子地块。我如何将这些子情节呈现为动画或电影(即每0.5秒一张热图) 使用以下代码获取子批次: var={'GeneX','GeneY','GeneZ'}; syms x y z S αx=3.9e-2; βx=6.1; z_x=1.3e-5; n_zx=2.32; αy=4.3e-2; βy=5.7; x_y=7.9e-4; n_xy=n_zx; δy=1.05; x_z=12e-2; n_xz=n_zx; y_z=11e-3; n_yz=n_zx; delta_z=0.2; AC

我有30个热图子地块。我如何将这些子情节呈现为动画或电影(即每0.5秒一张热图)

使用以下代码获取子批次:

var={'GeneX','GeneY','GeneZ'};
syms x y z S
αx=3.9e-2;
βx=6.1;
z_x=1.3e-5;
n_zx=2.32;
αy=4.3e-2;
βy=5.7;
x_y=7.9e-4;
n_xy=n_zx;
δy=1.05;
x_z=12e-2;
n_xz=n_zx;
y_z=11e-3;
n_yz=n_zx;
delta_z=0.2;
ACDC_X=(alpha_X+beta_X*S)/(1+S+(z/z_X)^n_zx)-X;
ACDC_Y=(alpha_Y+beta_Y*S)/(1+S+(x/x_Y)^n_xy)-delta_Y*Y;
ACDC_Z=1/(1+(x/x_Z)^n_xz+(y/y_Z)^n_yz)-delta_Z*Z;
ACDCsys_div=[ACDC_X,ACDC_Y,ACDC_Z];
J=雅可比矩阵(ACDCsys_div[x;y;z]);
Jsolnew(x,y,z,S)=[J];
%%坐标矩阵的构造
A=荷载('matlab.mat','unnamed');%从目录导入数据
a2=结构阵列(A);%平衡点的坐标。
numofraphs=80;
bx=长度(a2(1,1:numofraphs));
%%热图的构造
图形
hmapax=ceil(sqrt(bx));
对于kk=1:bx%bnx%All bin窗口=迭代
JacACDCnew(:,:,kk)=Jsolnew(a2(1,kk),a2(2,kk),a2(3,kk),a2(4,kk));
ACDC_HmapJnew=double(JacACDCnew(:,:,kk));
子地块(hmapax,hmapax,kk);%
热图(var、var、ACDC_HmapJnew、'ColorScaling'、'log');
S=a2(4,kk);
标题(['Jac','s=',num2str(s)];
结束

考虑以下示例:

功能q56130816
%加载一些数据:
帧=imread('https://i.stack.imgur.com/03kN8.gif');
帧(帧>1)=2;
%创建子地块:
图('WindowsState','maximized');子批次(2,4,1);
对于ind1=1:8
子批次(2,4,ind1);
imagesc(帧(:,:,1,ind1));轴图像;轴断开;
结束
彩色地图([255;188 188 188;244 128 36]。/255);
%将子地块捕获为帧:
对于ind1=8:-1:1
frameHolder(ind1)=getframe(子批(2,4,ind1));
结束
%以电影形式播放:
hF=图();电影(高频,支架,20,2);
这将转变为:

进入:

如您所见,在上面的示例中,我使用了,但也可以使用捕获帧,如中所述。如前所述,帧也可以导出到视频文件

动画字幕:画面是从屏幕上截取的


我认为这可以通过使用。只需确保每次都将不同的轴句柄(即子地块ID)传递给
getframe
。此答案向您展示了更多信息。(使用帧率=2)