PDA

查看完整版本 : [求助]为什么坐标的刻度消失了?


OKboy
2008-06-25, 08:41
请大家看看这个程序,我有设置刻度范围,但是图上并不显示两个纵坐标的刻度,是哪里出问题了呢?

先建一个文件名为f1.m:
%文件名:f1.m
%内容:
function F=f1(k,w)
Eps_A=-17.36+0.715i;
F=tanh(pi/0.65*w*sqrt(k^2-1))-1/(-Eps_A)*sqrt(k^2-Eps_A)/sqrt(k^2-1);



---------------------------------------------------------
%文件名:*.m
%内容:
clear all;
w=0:0.001:0.1;%这里设了步长0.001,可自行调节
for n=1:size(w,2)
k(n)=fsolve(@(k)f1(k,w(n)),6,optimset('Display','off','TolFun',1e-6));%用了fsolve,实际上是当作优化问题处理了
end
kr=real(k);
ki=imag(k);

[AX,H1,H2]=plotyy(w,kr,w,ki,'plot');


%加上网格
%grid on,

%设置各坐标轴的标题及图题
xlabel('w (um)'),
ylabel(AX(1),'实部'),
ylabel(AX(2),'虚部'),
title('关系图')

%设置各坐标轴的scale
%xlim([0,0.1])
ylim(AX(1),[0,12])
ylim(AX(2),[0,0.4])

%设置图像的参数
set(H1,'LineStyle','-')
set(H2,'LineStyle','--')
hold on
K0=1;
plot(w,K0,'-- r');
hold off

请大家跟帖讨论一下,谢谢

tolabfans
2008-06-25, 09:25
我正想去掉显示坐标轴的刻度,还不知道怎么控制呢

watcher
2008-06-25, 15:14
可能是因为限制两纵轴范围之后,刻度没能自动更新,加两句应该解决问题
set(AX(1),'YTick',0:1:112);
set(AX(2),'YTick',0:0.1:0.4);