【问题标题】:Combine two matlab plotting commands to execute loops结合两个matlab绘图命令来执行循环
【发布时间】:2014-09-08 11:12:43
【问题描述】:

我是 matlab 的新用户,我有两个单独的命令,我想将它们组合起来,以便在循环中生成带有特定暂停的图形

这是两种不同的方法

  1. 从 A , A2, A3 , ... An 创建基本图形

    who Hsig*
    filenames = who('A*')
    for i=1:3
       pause(2);contourf(eval(filenames{i})),colorbar
    end
    
  2. 第二部分是用 B, B1, B2 ....N 和 C,C2,C3,...n 叠加一个箭袋

    nx,ny]= size(A)
    xx=1:1:ny; 
    yy=1:1:nx; 
    pause(2);contourf(eval(xx,yy,A)),colorbar
    hold on
    delta = 8;
    quiver(xx(1:delta:end),yy(1:delta:end),B(1:delta:end,1:delta:end), ...
    C(1:delta:end,1:delta:end),1)
    hold off
    
  3. 我厌倦了将它们结合起来,但我认为我遗漏了一些东西,可能是 eval ?

    filenames = who('A*')
    B10 = who('B')
    C10 = who('C')
    for i=1:3
       [nx,ny]= size(A)
       xx=1:1:ny; 
       yy=1:1:nx; 
       pause(2);contourf(eval(xx,yy,filenames{i})),colorbar
       hold on
       delta = 8;
       quiver(xx(1:delta:end),yy(1:delta:end),B10{i}(1:delta:end,1:delta:end), ...
       C10{i}(1:delta:end,1:delta:end),1)
       hold off
    end
    

欢迎任何帮助

【问题讨论】:

  • 调试时的最佳实践是尝试用尽可能少的代码行或尽可能简单的代码来复制问题。这可以帮助突出您的问题所在,并帮助像我这样的人潜入并提供帮助,您只是需要诚实地挖掘大量过多的代码。我也不确定您所说的“组合”是什么意思。
  • @Shaun314 使用这两个不同的命令来生成一个图形,并在箭袋重叠时将 countourf 作为其基础,适用于每个不同的可用数据集
  • 它现在在做什么?是否在同一图形窗口中绘制轮廓和颤动重叠但不是针对每个数据集?您是否想要为每个数据集使用不同的图形窗口?轮廓正在发生变化,您想每次都对其施加相同的颤动吗?
  • @Shaun314 是的,它在同一图形的轮廓上绘制了箭袋,我想将这些过程扩展到多个文件。 A、B、C 的每个文件代表不同的时间步长,并应用正确的轮廓和颤动

标签: matlab loops for-loop plot contour


【解决方案1】:

只是在一遍又一遍地阅读它之后的更新,我设法让它工作,我将把代码留在这里,以防有人关心使用它,类似的情况

fig = who('A*')
x = who('B*')
y = who('B*')
a = input(' Give numbers of files A...');

for i=1:a;
  x_numbers{i}=eval(u10{i});
  y_numbers{i}=eval(v10{i});
[nx,ny]= size(A);
xx=1:1:ny; 
yy=1:1:nx; 

eval(['contourf((xx),(yy),' fig{i} ')']);
colorbar;
hold on;
delta = 8;
quiver(xx(1:delta:end),yy(1:delta:end),x_numbers{i}(1:delta:end,1:delta:end),y_numbers{i}(1:delta:end,1:delta:end),1)
hold off;
drawnow;    
pause(2);    
end

希望它能帮助遇到同样问题的人

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 2013-09-13
    • 1970-01-01
    • 2012-04-27
    • 2011-12-01
    • 2023-03-31
    • 2022-01-21
    • 1970-01-01
    • 2015-01-07
    相关资源
    最近更新 更多