رسم مقادیر یک ماتریس دو بعدی به صورت سیمی (mesh) با دستور mesh در متلب
با دستور mesh در متلب، می توانیم مقادیر عناصر یک ماتریس دو بعدی را به صورت سیمی (mesh) رسم کنیم. به مثال زیر توجه کنید :
ماتریس z را به صورت تابعی دلخواه از x و y می نویسیم و سپس آن را با دستور mesh رسم می کنیم :
close all
clc
x=-8:0.5:8;
y=-8:0.5:8;
L=length(x);
z=zeros(L,L);
for nn=1:L
for mm=1:L
R=sqrt(x(nn)^2+y(mm)^2);
z(nn,mm)=sin(R)/R;
end
end
mesh(x,y,z)
xlabel('x')
ylabel('y')
zlabel('z')
نتیجه :
چنانچه بخواهیم مقادیر عددی متناظر با رنگ سیم ها را بدانیم، می توانیم با دستور colorbar ، این مقادیر را در کنار شکل نمایش بدهیم. به مثال زیر توجه کنید :
همان مثال قبل را این بار با دستور colorbar می نویسیم :
close all
clc
x=-8:0.5:8;
y=-8:0.5:8;
L=length(x);
z=zeros(L,L);
for nn=1:L
for mm=1:L
R=sqrt(x(nn)^2+y(mm)^2);
z(nn,mm)=sin(R)/R;
end
end
mesh(x,y,z)
colorbar
xlabel('x')
ylabel('y')
zlabel('z')
نتیجه :
من میخوام این برنامه رو با دستور mesh اجرا کنم ولی هر کار کردم نتونستم. کسی میتونه بهم کمک کنه؟
clear all
close all
clc
a = 11.5 ;
L = 172;
C = 1500 ;
F = 20000 ;
Lambda = C/F;
k = 2*pi/Lambda ;
teta = (91:269) *(pi/180); % Converting into radians.
Beta = k *L .*sin(teta)/pi;
M1 = (a *L.^2)/(2*Lambda);
M2 = sinc(Beta);
M3 = cos(teta).^2;
Tar_str =10 *log10(abs( M1 .*M2 .*M3));
plot(teta*180/pi,Tar_str,'b');grid on ;
title('Target strength of the cylinder with radius = 11.5 m and length = 170m')
xlabel('Incident angle in degrees')
ylabel('Target strength of the cylinder in dB')
k * a