Import Pictures

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

MuPAD® не предусматривает много инструментов, чтобы импортировать стандартные графические векторные форматы, все же. В настоящее время единственный поддерживаемый тип вектора является stl форматом, популярным в Литографии Стерео, которая кодирует 3D поверхности. Это может быть импортировано через стандартный plot::SurfaceSTL.

В отличие от графических векторных форматов, существует много стандартных растровых форматов, таких как bmp, gif, jpg, ppm и т.д., который может быть импортирован. Можно считать такой файл через import::readbitmap, таким образом создав массив MuPAD значений цвета RGB, которыми можно управлять по желанию. В частности, это может быть подано в стандартный plot::Raster, который создает объект, который может использоваться в любом 2D графике MuPAD. Обратите внимание, однако, что импорт растровых данных использует большую память, т.е. только довольно маленькие битовые массивы (до нескольких сотен пикселей в каждом направлении) должны быть обработаны.

В следующем примере мы строим функцию плотности вероятности и совокупную функцию плотности стандартного нормального (“Гауссова”) распределения. Отдавая дань Карлу Фридриху Гауссу, мы хотим отобразить его изображение в этом графике. Примите, что у нас есть его изображение как ppm растровый файл “Gauss.ppm”. Мы импортируем файл через import::readbitmap, который предоставляет нам ширину и высоту в пикселях и цветных данных:

[width, height, gauss] := import::readbitmap("Gauss.ppm"):

Мы должны использовать Scaling = Constrained, чтобы сохранить соотношение сторон изображения. К сожалению, эта установка не подходит для графиков функций. Таким образом, мы используем две различных сцены, которые расположены через Layout = Relative в одном холсте (см. раздел Layout of Canvas и Scenes).

Первая сцена строит две функции с помощью настройки по умолчанию Scaling = Unconstrained для графиков функций. С размерами Width = 1, Height = 1, представляя части размера холста, эта сцена заполняет целый холст.

Второй сцене дают ширину и высоту приблизительно желаемого значения. Это использует Scaling = Constrained, чтобы разобраться в соотношении сторон, автоматически. С атрибутами Bottom и Left, левый нижний угол изображения Гаусса перемещен в соответствующую точку холста:

pdf := stats::normalPDF(0, 1):
cdf := stats::normalCDF(0, 1):
plot(plot::Scene2d(plot::Function2d(pdf(x), x = -4..7),
                   plot::Function2d(cdf(x), x = -4..7),
                   Width = 1, Height = 1),
     plot::Scene2d(plot::Raster(gauss),
                   Scaling = Constrained,
                   Width = 0.3, Height = 0.6,
                   Bottom = 0.25, Left = 0.6,
                   BorderWidth = 0.5*unit::mm,
                   Footer = "C.F. Gauss",
                   FooterFont = [8]),
     Layout = Relative
):

Для просмотра документации необходимо авторизоваться на сайте