这个matlab程序有什么问题?
clear
Length=5893e-7;
R=0.9e+3;
range=4;n=500;ny=linspace(-range,range,n);
nx=ny;
[X,Y]=meshgrid(nx,ny);
flag=(X.^2+Y.^2)>=range^2;
h=image(nx,ny,255);
axis equal;axis([-range,range,-range,range]);
I=4*cos(pi/Length*((X.^2+Y.^2)/R+Length/2)).^2;
B=(I/4.0)*255;
B(flag)=NaN;
set(h,'xdata',nx,'ydata',ny,'cdata',B);
mesh(X,Y,B)
figure(2)
pcolor(X,Y,B)
load('figure(I)','mycmap')
set(figure(2),'Colormap',mycmap)
axis equal;
axis square;
shading interp
figure(3)
x=-4:0.05;
I1=4*cos(pi/Length*((x.^2)/R+Length/2)).^2;
plot(x,I1,'k')
语句load('租银figure(I)','mycmap')出错了弊闹宴,对应的用法弯裤如下:
load('mydata.mat', 'v1')的意思是将文件mydata.mat中的变量v1的值载入内存。而你在使用load语句前当前目录下必须存有名为mydata.mat的文件。
去掉这2个语句
load('figure(I)','mycmap')
set(figure(2),'Colormap',mycmap)
后程序可执行。只是没有用上你的颜色表mycmap。