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)