首页 > 解决方案 > 在octave / matlab中不使用for循环绘制一组图

问题描述

如何在不使用 a 的情况下一次绘制一组图for loop

下面的示例代码:

clear all,clf reset,tic,clc 

plot_array_x1=[-0.1732050807568878  -0.6767949192431123  -1.366025403784439
  0.1732050807568877  0.176794919243112  0.366025403784438
  6.123233995736766e-17  0.5000000000000001  1];

plot_array_y1=[-0.09999999999999995  0.186602540378444  0.366025403784439
  -0.1000000000000001  -0.6794228634059948  -1.366025403784439
  0.2  0.4928203230275509  0.9999999999999998];

for ii=1:3
  plot(plot_array_x1(ii,:),plot_array_y1(ii,:))
  hold on
end

代码生成下面的图,但它要求我使用 afor loop是否可以避免使用 for 循环?

阴谋

标签: matlabplotoctave

解决方案


您快到了。首先,转置数组,然后删除循环。

plot_array_x1=[-0.1732050807568878  -0.6767949192431123  -1.366025403784439;
  0.1732050807568877  0.176794919243112  0.366025403784438;
  6.123233995736766e-17  0.5000000000000001  1].';

plot_array_y1=[-0.09999999999999995  0.186602540378444  0.366025403784439;
  -0.1000000000000001  -0.6794228634059948  -1.366025403784439;
  0.2  0.4928203230275509  0.9999999999999998].';

figure(1)
plot(plot_array_x1,plot_array_y1)

推荐阅读