Hi, I am playing around with Möbius strips in Matlab and had a strange problem I cannot resolve. I am only interested in vectorized solutions, not for- or while-loops, please. The graph almost looks like a Möbius strip, but the edges are not joined. Can anyone see what the problem is?
Code below:
%Begin
clfclear allu = linspace(0,2*pi,100);v = linspace(-0.5,0.5,100); %Parametrization, vectorized
x=cos(u)'+diag((diag(v)*cos(u/2)'))*cos(u)';y=sin(u)'+diag((diag(v)*cos(u/2)'))*sin(u)';z=v'*sin(u/2); %Plotting: figure 1 and 2 are quite a lot off. figure 3 almost looks like a
%Moebius strip except the edges are not joined.
figure(1)surf(x,y,z)figure(2)mesh(x,y,z)figure(3)plot3(x,y,z) %Code that works and actually produce a Moebius strip
syms e r;s = cos(e)+r*cos(e/2)*cos(e);d = sin(e)+r*cos(e/2)*sin(e);f = r*sin(e/2);figure(4)ezsurf(s,d,f, [0, 2*pi, -0.5, 0.5])
Best Answer