matlab分段函数 画图速度很慢,怎么回事??

来源:百度知道 编辑:UC知道 时间:2024/06/05 03:39:39
clc;
clear;
x1=0:0.01:5;
x2=5:0.0001:10;
y1=sin(x1);
y2=0;

plot(x1,y1,x2,y2);

分段函数 ,在MATLAB的 M 文件运行后,图形出来的速度很慢(10秒以上的时间),怎么回事??是我的电脑硬件问题,还是程序结构问题???如果不画分段函数,图形会很快出来的(1秒左右)

这样吧,可能是x2和y2的维数不同,调用plot时matlab自动进行维数转换耽误了时间,你把程序改为
clc;
clear;
x1=0:0.01:5;
x2=5:0.0001:10;
y1=sin(x1);
[m,n]=size(x2);
y2=zeros(m,n);

plot(x1,y1,x2,y2);
这样应该不会那么慢了吧

这次看看。
clc;clear;clf
r=linspace(0,50,100); %100个点速度快些,你可以改成10000个点。
v1=3*(1./r.^2)-1./r; %去掉引号,同时加上“点”,表示一一对应关系
v2=3*(1./r.^2)-1./r-6*(1./r.^3);
plot(r,v1,'r',r,v2,'b')
axis([-1,50, -0.2,0.2]) ;

结果:
http://hi.baidu.com/chemical%5Fengineering/album/item/eee66b63b384d7610d33faf5.html