如何在 MATLAB 绘图中以编程方式放大或放大?
How to zoom in or magnify programmatically in MATLAB plot graph?
我正在编写一个脚本,我需要在其中显示定点迭代图并想放大绘制线条的位置。图形已完成,它正在我的图形上绘制线条,问题是我想查看从 f(x)
和 g(x)
的函数生成的值。所以我从图形工具“放大”,看看现在图形中产生了哪些值我在图形中手动进行,有没有办法通过给出 x
、y
轴?所以这意味着当线条绘制时图形会像动画一样自动缩放。
clc;
clear all;
clf;
format short g
syms x;
f = @(x) x-cos(x);
g = @(x) cos(x);
dg = matlabFunction(diff(g(x),x));
figure(1)
z = -3:.001:3;
plot(z,z,'-k',z,g(z),'-k',z,0*z,'-r',0*z,g(z),'-r')
hold on;
x = 1.0;
tol =1.0e-15;
px = x;
x = g(x);
line([px,px],[px,x],'color','blue');
line([px,x,],[x,x],'color','blue');
i = 1;
while(abs(px-x)>tol)
px = x;
x = g(x);
line([px,px],[px,x],'color','blue');
line([px,x,],[x,x],'color','blue');
i = i+1;
data = [i x g(x) f(x)]
drawnow
end
这就是我想要的图表线。
Link
我测试了“缩放”功能,但它没有按照我的要求提供帮助。我也试过这个 one 但我无法理解那里的代码。
我正在编写一个脚本,我需要在其中显示定点迭代图并想放大绘制线条的位置。图形已完成,它正在我的图形上绘制线条,问题是我想查看从 f(x)
和 g(x)
的函数生成的值。所以我从图形工具“放大”,看看现在图形中产生了哪些值我在图形中手动进行,有没有办法通过给出 x
、y
轴?所以这意味着当线条绘制时图形会像动画一样自动缩放。
clc;
clear all;
clf;
format short g
syms x;
f = @(x) x-cos(x);
g = @(x) cos(x);
dg = matlabFunction(diff(g(x),x));
figure(1)
z = -3:.001:3;
plot(z,z,'-k',z,g(z),'-k',z,0*z,'-r',0*z,g(z),'-r')
hold on;
x = 1.0;
tol =1.0e-15;
px = x;
x = g(x);
line([px,px],[px,x],'color','blue');
line([px,x,],[x,x],'color','blue');
i = 1;
while(abs(px-x)>tol)
px = x;
x = g(x);
line([px,px],[px,x],'color','blue');
line([px,x,],[x,x],'color','blue');
i = i+1;
data = [i x g(x) f(x)]
drawnow
end
这就是我想要的图表线。 Link
我测试了“缩放”功能,但它没有按照我的要求提供帮助。我也试过这个 one 但我无法理解那里的代码。