Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MATLAB中从ezplot中提取数据_Matlab_Extract_Matlab Figure - Fatal编程技术网

在MATLAB中从ezplot中提取数据

在MATLAB中从ezplot中提取数据,matlab,extract,matlab-figure,Matlab,Extract,Matlab Figure,我试图从ezplot中提取数据,但是当我绘制提取的数据时,我没有得到相同的图形(a和b是不同的) 有人能详细说明出了什么问题吗 代码如下: h = @(x,y)(x-((1/0.0175)*(y/5500)*(1+(y/5500)^9))) a = ezplot(h,[0,700,0,7000]); t = get(a,'xdata'); M = get(a,'ydata'); theta = transpose(t) figure b = plot(theta,M) ezplot生成 而绘

我试图从
ezplot
中提取数据,但是当我绘制提取的数据时,我没有得到相同的图形(
a
b
是不同的)

有人能详细说明出了什么问题吗

代码如下:

h = @(x,y)(x-((1/0.0175)*(y/5500)*(1+(y/5500)^9)))
a = ezplot(h,[0,700,0,7000]);
t = get(a,'xdata');
M = get(a,'ydata');
theta = transpose(t)
figure
b = plot(theta,M)
ezplot
生成

绘图
产生

这是我从轮廓提取得到的,仍然有一条直线

返回一个
轮廓
对象。要提取
x
y
数据,需要使用
get(a,'contourMatrix')
。然后
x
数据将位于第一列,而
y
数据将位于第二列,如下所示:

t = get(a,'contourMatrix');
x = t(1, :);
y = t(2, :);
把这些放在一起作为你的例子,我们得到

h = @(x,y)(x-((1/0.0175)*(y/5500)*(1+(y/5500)^9)))
a = ezplot(h,[0,700,0,7000]);

t = get(a,'contourMatrix');
x = t(1, :);
y = t(2, :);

figure;
b = plot(x, y);
xlabel('x');
ylabel('y');
title('({x}-(({1}/{0.0175}) ({y}/{5500}) ({1}+({y}/{5500})^{9}))) = {0}');
生成的
ezplot

plot

您正在调用
get(a,'xdata')
get(a,'ydata')
。这就是你得到直线的原因。 请尝试以下方法:

h = @(x,y)(x-((1/0.0175)*(y/5500)*(1+(y/5500)^9)));
ezplot(h,[0,700,0,7000]);
a= get(gca,'Children');
l=get(a,'Children');
t = get(l,'xdata');
M = get(l,'ydata');
theta = transpose(t);
figure
b = plot(theta,M);
资料来源:


  • 我建议添加两张图片,看看它们有什么不同。轴限制是否相同?为什么不直接使用
    plot
    ?您好,谢谢您的解释。我只用了你的代码,得到了同一图形上的曲线+直线!我在运行它之前清除了所有内容,但在绘图后添加“.”时,它实际上起作用了!执行
    全部关闭;清除所有并确保只运行我的代码而不运行其他代码。从这两张图片中可以看出,它非常适合我。@user3767791如果我的答案对你有帮助,如果你能投赞成票或反对票,我将不胜感激。