Надо где-то написать, что linspace в результате выдает вектор-строку, иначе не видно, что аргументами plot3d являются матрицы, а не скалярные произведения: u = linspace(0,2*%pi,100); v = linspace(0,2*%pi,100); X=cos(u)'*(1+cos(v/2)); Y=(u/2)'*sin(v); Z=(sin(u).*u)'*(1+cos(v/2)); plot3d2(X,Y,Z); Чтобы разобраться с plot3d, понадобилось обратиться к help и распечатать результат linspace. В книге надо бы объяснить эти моменты.
Вдогонку: а в целом книга отличная, огромная благодарность авторам и издателям