首先,当我使用 inputdlg 时,Matlab不允许我放大我的身材。
其次,当我使用命令输入数字并尝试使用 num2cell 将其转换为单元格时,我收到此错误:'使用cellstr输入的错误必须是字符串'
这是我正在使用的一段代码:
No = cell2mat(inputdlg('Type in number: '));
(这是我无法放大的地方!)
prompt = num2cell(1:2*No);
title = 'Numbers';
answer = inputdlg(prompt,title);
(这是我收到错误的地方!)
您有什么想法可以解决这些问题吗?我在Mac系统上使用Matlab。
答案 0 :(得分:0)
要在图中以编程方式zoom in
或zoom out
,您可以使用zoom
功能。
一个例子可能是:
% Create a Figure
my_fig=figure
% Plot something in the figure
plot(randi(10,10,1))
grid minor
% Get the zoom factor
zoom_factor=str2double(inputdlg('Type in number: '))
% Zoom the axes of the selected factor
zoom(my_fig,zoom_factor)
这将根据zoom in
。
inputdlg
绘制
当您在图形工具栏中选择缩放图标并单击图形的中心时,缩放将是动作将以轴的中心为中心。
此外,您只需致电
即可% Enable zooming
zoom(my_fig,'on')
启用缩放,这与单击图形工具栏上的缩放图标具有相同的效果。
如果您想缩放图表的特定区域,可以更改xlim
和ylim
的值。
关于示例中创建的绘图,您可以使用inputdlg
获取新限制,然后更新绘图
在这种情况下,您必须在inputdlg中输入由空格分隔的4个值(例如2.5 5.5 5.5 7.5
)
% Get the axes handle
ax=gca;
% Store the original X anf Y Limit
orig_xlim=ax.XLim;
orig_ylim=ax.YLim;
zoom_factor=inputdlg('Type in new lim: ')
new_lim=str2num(char(zoom_factor))
ax.XLim=[new_lim(1) new_lim(2)];
ax.YLim=[new_lim(3) new_lim(4)];
存储了限制的原始值后,您可以缩小设置值。