Matlab 我的帐篷地图代码是否正确

Matlab 我的帐篷地图代码是否正确,matlab,Matlab,%这是解释帐篷地图的链接 %您好,我是mat lab的新手,我想知道该代码是否适用于帐篷地图 %给出的方程是![帐篷图][1] u=1.99; N=100; x(1)=0.5; 对于ii=1:N 如果x(ii)=0.5%,且该条件 x(ii+1)=u*(1-x(ii));%是这样吗 结束 结束 结束 [1]: http://i.stack.imgur.com/Qz6wh.png 尽管您的公式在技术上是正确的,但如果要绘制此函数,您将无法获得预期的绘图。原因是您沿x轴以1的步长递增(在for循环中

%这是解释帐篷地图的链接

%您好,我是mat lab的新手,我想知道该代码是否适用于帐篷地图
%给出的方程是![帐篷图][1]
u=1.99;
N=100;
x(1)=0.5;
对于ii=1:N
如果x(ii)<0.5%,且条件
x(ii+1)=u*x(ii);%是这样吗
其他的
如果x(ii)>=0.5%,且该条件
x(ii+1)=u*(1-x(ii));%是这样吗
结束
结束
结束
[1]: http://i.stack.imgur.com/Qz6wh.png

尽管您的公式在技术上是正确的,但如果要绘制此函数,您将无法获得预期的绘图。原因是您沿x轴以1的步长递增(在for循环中),并且您提供的链接的整个帐篷贴图函数的宽度为1。因此,函数中只有前两个点是有用的。您可以通过为x方向设置不同的步长来解决此问题:

u = 1.99;
N = 100;
x = linspace(0,1,N);    % create a vector of x-positions

for ii=1:N
    if x(ii) < 0.5 
        y(ii)=u*x(ii); 
    elseif x(ii) >= 0.5
        y(ii)=u*(1-x(ii)); 
    end
end

plot(x,y)

只需调用
plot(x)
,您就可以自己验证这是否正确。如果生成的形状是“帐篷”形状,则代码是正确的。
u = 1.99;
N = 100;
x = linspace(0,1,N);    % create a vector of x-positions

for ii=1:N
    if x(ii) < 0.5 
        y(ii)=u*x(ii); 
    elseif x(ii) >= 0.5
        y(ii)=u*(1-x(ii)); 
    end
end

plot(x,y)
N = 100;
x = linspace(0,1,N);
u = 2;

y = u*min(x,(1-x));

plot(x,y)