Matlab 画图问题 50分 悬赏

来源:百度知道 编辑:UC知道 时间:2024/05/22 10:48:35
老师要用ITU模型做一个信号衰减的模拟实验, 我现在已经有了这个函数, 但是怎么样把它弄成2D图。 就是距离信号比较近的信号好一点。距离发射点比较远的信号比较差呢?
%ITU-R p.1238-5 Indoor Path Loss Model
function Loss=ITU_Path_Loss(f,N,d,n,area_type);
%Input

%f: carrier frequency MHz.
%N: distance power loss coefficient.
%d: distnace between the base station and portable terminal (d>1m).
%Lf: floor penetration loss factor (dB).
%n: number of floors betwen the base station and portbale terminal (n=>1)
%area_upe: 1=Residental, 2=office and 3=commercial.

%Output
%Loss in dB;

%plot([1:10],ITU_Path_Loss(2400,29.5,[1:10],2,1));

%Residental Area

if (area_type==1)
if length(find(f<1800 | f>2500))~=0
fprintf('WARNING - frequency out of 1800-2500 MHz range\n');
end
Lf=4*n;
Loss=20*log10(f)+N.*log10(d)+Lf-28;
end

% Offices

if (area_type==2)
Lf=15+4*(n-1);
Loss=20*l

上面的说的确实可行,不过最后要用等高线函数contour,就可以用2D代替3D,可以用Z的数值进行标注显示信号强弱,或者用默认的颜色条表示

有了这个函数就可以直接调用计算然后画图. 这其实应该是一个3-D的图像吧, 因为平面距离就已经是2D了, 然后加上一个衰减变量, 应该是3D的, 如果想画2D, 应该是画等高线了.
假设有一组X,Y的值 (为了显示衰减跟距离的关系, X, Y最好通过极坐标的方式取值, 即, x = d*cos(theta), y = d*sin(theta)), 然后用循环, 循环里面调用这个函数, 求出对应每组xy的衰减大小Z. 那么就有一组(x,y,z). 就可以画图出来. 要想知道怎么画三维图或者等高线, 求助matlab的plot函数.

这个不是很了解