Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Arrays Matlab::从创建的绘图(现有)中提取数据_Arrays_Matlab_Plot_Matlab Figure_Multiline - Fatal编程技术网

Arrays Matlab::从创建的绘图(现有)中提取数据

Arrays Matlab::从创建的绘图(现有)中提取数据,arrays,matlab,plot,matlab-figure,multiline,Arrays,Matlab,Plot,Matlab Figure,Multiline,我在使用matlab从创建的绘图中提取数据时遇到问题。 我的疑问是,如果我有一个多线图,如果我想要y(1),y(2),y(3)的值………(因为它是一个多线图,对于每个给定的x,我们将有ny)对于x每增加0.1,我应该怎么做 我不需要excel中的它 如果我能叫它,我可以在这样的条件下使用它:“y(1)*k1+y(2)*k2+y(3)*k3+……” 这里是K1,K2,K3。。。。。。re由用户提供的常数 我试过这个 for x = x1:0.1:x2 h = findobj(gca

我在使用matlab从创建的绘图中提取数据时遇到问题。 我的疑问是,如果我有一个多线图,如果我想要y(1),y(2),y(3)的值………(因为它是一个多线图,对于每个给定的x,我们将有ny)对于x每增加0.1,我应该怎么做

我不需要excel中的它 如果我能叫它,我可以在这样的条件下使用它:“y(1)*k1+y(2)*k2+y(3)*k3+……” 这里是K1,K2,K3。。。。。。re由用户提供的常数

我试过这个

for x = x1:0.1:x2    
    h = findobj(gca,'Type','line'); ;
    y = get(h,'Ydata');
     if (y{1}*xa +y{2}*xb+ y{3}*xc)==760;
         fprintf('T=  ,%0.2f/n',T); 
     end
end

如果有多个绘图,请绘制线:

h = findobj ( gca, 'Type', 'line' )
将返回多个行句柄。你需要绕着它转一圈

编辑添加了x循环

您可以像以前一样保持x循环(根据我对您的评论的解释,x与扩展数据不同?)


对于具有多条直线的绘图,不能假设它们的x值相等(通常)。因此,您必须使用
get(h,'Ydata')
get(h,'Xdata')
。代码示例的第二部分非常不清楚。什么是
xa
xb
xc
?什么是
T
?xa、xb和xc最初是由用户给出的,我的意思是程序已经有了这些值,另一件事是如何每0.1增加x,因为如果我使用get(h,'Xdata'),我不认为每次迭代都会增加+0.1,T实际上是x。sry那是一个错误。每次迭代的增量是多少??
for x = x1:0.1:x2   
  for iH = 1:length(h)
    y = get ( h(iH), 'YData' )
    % your code goes here, e.g.

  end
end