Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.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 随着绘图的每次迭代更改x轴输入范围_Matlab_For Loop_3d_Mesh - Fatal编程技术网

Matlab 随着绘图的每次迭代更改x轴输入范围

Matlab 随着绘图的每次迭代更改x轴输入范围,matlab,for-loop,3d,mesh,Matlab,For Loop,3d,Mesh,我试图在for循环中绘制5个子图,每个迭代随x(1到5)变化。但是,我还想更改每次迭代的R的范围,使其等于6*x:100——因此当x=1时,R=6:100;当x=2时,R=12:100;当x=3时,R=18:100;等等 几天来我一直在想怎么做,所以非常感谢你的帮助 % constants de = 20; b = 0.5; % parameters x = 1:1:5; R = 6.*x:100; S = 0:1:250; [R,S]=meshgrid(R,S); % function

我试图在for循环中绘制5个子图,每个迭代随x(1到5)变化。但是,我还想更改每次迭代的R的范围,使其等于6*x:100——因此当x=1时,R=6:100;当x=2时,R=12:100;当x=3时,R=18:100;等等 几天来我一直在想怎么做,所以非常感谢你的帮助

% constants
de = 20;
b = 0.5;

% parameters
x = 1:1:5;
R = 6.*x:100;
S = 0:1:250;

[R,S]=meshgrid(R,S);

% function

k1=@(x)((factorial(R)).*exp(b.*(x.*(de))));
k2=@(x)((S.^(6.*x)).*(factorial(R-6.*x)));
kk=@(x)(k1(x)./(k1(x)+k2(x)));


figure
for i=x
    subplot(3,2,i)
    mesh(R,S,kk(i))
end

我对你的代码做了一些修改,没有匿名函数,也没有在for循环中插入任何东西,我希望这就是你想要的答案。为了清晰地显示,我链接了你的旋转轴,所以你在5个子地块中的每个地块上都会看到相同的角度

% constants
de = 20;
b = 0.5;

% parameters
S = 0:1:250;    

figure
for x=1:5
    R = 6.*x:100;
    [Rk,Sk]=meshgrid(R,S);

    k1=((factorial(Rk)).*exp(b.*(x.*(de))));
    k2=((Sk.^(6.*x)).*(factorial(Rk-6.*x)));
    kk=(k1./(k1+k2));
    h(x)=subplot(3,2,x)
    mesh(Rk,Sk,kk)
end
linkprop(h, 'CameraPosition');
结果:


太棒了-非常感谢你;正是我需要的!