Построение «Привет» в MATLAB - PullRequest
14 голосов
/ 11 июня 2010

Я хотел построить это 'Привет' , что может быть графическим эквивалентом ' Hello World ' в MATLAB.Не смог этого сделать.Любые предложения приветствуются.

Ответы [ 2 ]

16 голосов
/ 11 июня 2010

Вот код для графика, использующий формулу на связанной странице и указанные пределы оси. Вы можете поиграть с картой цветов, направлением обзора и другими свойствами, чтобы приблизиться.

x = linspace(-3,3,50);
y = linspace(-5,5,50);
[X Y]=meshgrid(x,y);
Z = exp(-X.^2-Y.^2/2).*cos(4*X) + exp(-3*((X+0.5).^2+Y.^2/2));
Z(Z>0.001)=0.001;
Z(Z<-0.001)=-0.001;
surf(X,Y,Z);
colormap(flipud(cool))
view([1 -1.5 2])

cool MATLAB screenshot

14 голосов
/ 11 июня 2010

Кажется, @yuk победил меня, но это моя версия:

[x y] = meshgrid( linspace(-3,3,50), linspace(-5,5,50) );
z = exp(-x.^2-0.5*y.^2).*cos(4*x) + exp(-3*((x+0.5).^2+0.5*y.^2));
idx = ( abs(z)>0.001 );
z(idx) = 0.001 * sign(z(idx));

figure('renderer','opengl')
patch(surf2patch(surf(x,y,z)), 'FaceColor','interp');
set(gca, 'Box','on', ...
    'XColor',[.3 .3 .3], 'YColor',[.3 .3 .3], 'ZColor',[.3 .3 .3], 'FontSize',8)
title('$e^{-x^2 - \frac{y^2}{2}}\cos(4x) + e^{-3((x+0.5)^2+\frac{y^2}{2})}$', ...
    'Interpreter','latex', 'FontSize',12)

view(35,65)
colormap( [flipud(cool);cool] )
camlight headlight, lighting phong

screenshot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...