matlab如何将funtool工具箱中画出的两个函数图像figure1 figure2放在一起比较。
2个回答
展开全部
clc;
close all;% 这句可以不要
clear all;
funtool;% 这句可以在其他地方调用
figs = findobj( 0, 'Type', 'figure' ); %找到当前所有figure句柄
% 确定figure1和figure2,原理是figure3有不止一个children
if length( get( figs( 1 ), 'Children' ) ) > 1
fig1 = figs( 3 );
fig2 = figs( 2 );
elseif length( get( figs( 2 ), 'Children' ) ) > 1
fig1 = figs( 3 );
fig2 = figs( 1 );
else
fig1 = figs( 2 );
fig2 = figs( 1 );
end
% 新建一个figure和坐标系,用于画这两条曲线
fig4 = figure( 4 );
ha = axes( 'Parent', fig4 );
hold on;
% figure1和figure2都只有一个坐标系,且坐标系里只有一条line对象,从line对象里挖掘出曲线的坐标点信息
line1 = get( get( fig1, 'children' ), 'children' );
x1 = get( line1, 'XData' );
y1 = get( line1, 'YData' );
line2 = get( get( fig2, 'children' ), 'children' );
x2 = get( line2, 'XData' );
y2 = get( line2, 'YData' );
% 分别用不同的颜色画两条曲线
plot( ha, x1, y1, 'r' );
plot( ha, x2, y2, 'g' );
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询