matlab如何将funtool工具箱中画出的两个函数图像figure1 figure2放在一起比较。

2020-09-10 教育 274阅读
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' );

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com