使用子图在matlab中绘制多个图

时间:2013-04-10 12:23:05

标签: matlab subplot

我无法理解跟踪错误的原因是什么?这里给出了代码

for i=1:20 
      x(i) = i-10; 
      squared(i) = x(i) ^ 2; 
      cube(i) = x(i) ^ 3; 
      linear(i) = x(i); 
      log_of(i) = log(x(i)); 
      sqrt_of(i) = sqrt(x(i)); 
    end 
    subplot(2,3,1); 
    plot(x,squared); 
    title('square'); 

        subplot(2,3,4); 
    plot(sqrt_of,cube); 
    title('sqrt'); 

    subplot(2,3,5); 
    plot(linear,cube); 
    title('linear'); 

    subplot(2,3,6); 
    plot(log_of,cube); 
    title('log'); 


    subplot(2,3,3); 
    plot(x,cube); 
    title('cube'); 

并且错误说

subplot1
Attempt to execute SCRIPT subplot as a function:
C:\Users\D.Datuashvili\Desktop\subplot.m

Error in subplot1 (line 9)
    subplot(2,3,1);

代码中似乎一切正常,但为什么会出现以下错误?你能帮帮我吗? 编辑:

for i=1:20 
      x(i) = i-10; 
      squared(i) = x(i).^ 2; 
      cube(i) = x(i).^ 3; 
      linear(i) = x(i); 
      log_of(i) = log(x(i)); 
      sqrt_of(i) = sqrt(x(i)); 
    end 
    subplot(2,3,1); 
    plot(x,squared); 
    title('square'); 

        subplot(2,3,4); 
    plot(sqrt_of,cube); 
    title('sqrt'); 

    subplot(2,3,5); 
    plot(linear,cube); 
    title('linear'); 

    subplot(2,3,6); 
    plot(log_of,cube); 
    title('log'); 


    subplot(2,3,3); 
    plot(x,cube); 
    title('cube'); 

错误:

 subplot1
Error using plot
Vectors must be the same lengths.

Error in subplot1 (line 10)
    plot(x,squared);

2 个答案:

答案 0 :(得分:3)

可能在您的工作区中有一个名为subplot的文件

答案 1 :(得分:0)

如上所述,第一个错误大部分来自您的文件C:\ Users \ D.Datuashvili \ Desktop \ subplot.m,这会影响Matlab的默认值。

第二个错误来自于数组squared的长度更长的事实,可能是因为您之前更改了它。

只需在脚本之前添加以下行,就可以了

 clear squared cube linear log-of sqrt_of