Вы можете добавить фигуры MATLAB в Excel проще всего так:
% Create some arbitrary graphics
f1 = figure; peaks; f2 = figure; membrane;
% Connect to Excel, make it visible and add a worksheet
xl = actxserver('Excel.Application'); set(xl,'Visible',1);
xl.Workbooks.Add(1); xls = xl.ActiveSheet;
% Paste in the MATLAB figures
print(f1, '-dbitmap'); xls.Range('E3').PasteSpecial;
print(f2, '-dbitmap'); xls.Range('I3').PasteSpecial;
Я не совсем уверен, что вы имеете в виду, делая изображения 2 на 3 дюйма. Это размер на экране? В каком разрешении? Или это размер при печати?
Вы можете указать размер и положение изображения в точках напрямую:
xls.Shapes.Item(1).PictureFormat.CropLeft = 30;
xls.Shapes.Item(1).PictureFormat.CropRight = 30;
xls.Shapes.Item(1).Height = 200;
xls.Shapes.Item(1).Left = xls.Range('E3').Left;
Но если вы хотите использовать его в дюймах, вам потребуется способ пересчета в точки, в зависимости от способа отображения.
Вы упоминаете, что постоянно вызываете Excel с actxserver
; Вы подключаетесь снова и снова каждый раз, когда пишете каждый фрагмент данных? Вероятно, вам не нужно этого делать - скорее всего, вы можете оставить одно соединение открытым и записать в него каждый фрагмент данных, а затем сохранить файл и закрыть соединение.
Хорошим справочным ресурсом для объектной модели Excel является документация Microsoft . Это не легко читать, хотя:)