MATLAB问题:为什么当x=0:0.1:2得到的结果中x=0.5与我单独令x=0.5结果不一样,怎么回事呀?

x=0:0.1:0.5; Z_L=25; Z_line=35.355; L=235.8*10^(-9); C=188.6*10^(-12); V_p=1/((L*C)^0.5); d=74.967*10^(-3); T=((Z_L-Z_line)/(Z_L+Z_line))*exp(-j*4*pi*x*d*10^9/V_p); Z_in=Z_line*(1+T)/(1-T); hold on; plot(x,Z_in,'ro'); axis([0 2 0 50]); xlabel('f,GHz'); ylabel('Zin,Ω'); disp(['值为=' num2str(Z_in)]);
当x=0:0.1:2中x=0.5得到的结果为32.8136-0.000455393i,而我单独令 x=0.5时结果为49.999+0.00730449i,怎么回事呀?

第1个回答  2012-08-08
你上面的程序直接写的x=0:0.1:0.5吗?没有循环吗?追问

这是MATLAB,不是C语言,看做行向量,可以不要循环的,行向量效率应高高点

追答

你试试x=0时的结果吧!我用MATLAB没有像你这么用过,即使这样也是用循环。要不就真正把x写成向量的形式,所有计算式里改用.*和./进行运算。

本回答被提问者采纳
相似回答