وبلاگ تخصصی متلب و نقشه برداری

۱۹ مطلب با موضوع «متلب» ثبت شده است

برنامه محاسبه محیط چند ضلعی در متلب

جواد زارع زاده | سه شنبه, ۲۶ آبان ۱۳۹۴، ۱۲:۲۸ ب.ظ

برنامه را در mfile کپی کنید

clc
clear
format bank
n=input('enter number point: ');
for k=1:n
x(k)=input('enter value x: ');
y(k)=input('enter value y: ');
end
mohit=0;
for m=1:n
if m==n
d(m)=sqrt((x(m)-x(1))^2+(y(m)-y(1))^2);
else
d(m)=sqrt((x(m)-x(m+1))^2+(y(m)-y(m+1))^2);
end
mohit=mohit+d(m);
end
disp('mohit polygon')
disp(mohit)
grid on
hold on
plot([x(1),x(m)],[y(1),y(m)],'-b')
plot(x,y,'-r' )
plot(x,y,'*m' )
title('mohit ehsan & ali')
A=polymeter(x,y)
gtext([' meter = ' num2str(A)])

  • جواد زارع زاده

برنامه اعمال فیلتر ها بر روی عکس در متلب

جواد زارع زاده | سه شنبه, ۲۶ آبان ۱۳۹۴، ۱۲:۲۳ ب.ظ

برنامه را در mfile کپی کنید

clc
clear all
i=imread('moon.tif');
figure
imshow(i)
j=edge(i,'sobel');
t=edge(i,'canny');
m=edge(i,'log');
figure
imshow(j),title('sobel')
figure
imshow(t),title('canny')
figure
imshow(m),title('log')
subplot(2,2,1),imshow(i),title('asli'),subplot(2,2,2),imshow(j),title('sobel'),subplot(2,2,3),imshow(t),title('canny'),subplot(2,2,4),imshow(m),title('log')

  • جواد زارع زاده

برنامه درونیابی محلی به روش نزدیکترین همسایگی در متلب

جواد زارع زاده | سه شنبه, ۲۶ آبان ۱۳۹۴، ۱۲:۲۰ ب.ظ

برنامه را در mfile کپی کنید

%daroonyabi mahalli-Grid Based-nazdiktarin hamsayegi%
%zp=?%
clc
clear all
format long g
q=input('xyz 4 nogte abcd[xa ya za;xb yb zb;xc yc zc;xd yd zd=');
p=[116 108];
for i=1:4;
a(i)=sqrt((p(1,1)-q(i,1))^2+(p(1,2)-q(i,2))^2) ;
end;
[Q,T] = min(a);
zp=q(T,3)

  • جواد زارع زاده

برنامه درونیابی محلی به روش bilinear در متلب

جواد زارع زاده | سه شنبه, ۲۶ آبان ۱۳۹۴، ۱۲:۰۵ ب.ظ

برنامه را در mfile کپی کنید

%daroonyabi mahalli-Grid Based-Bilinear%
%zp=?%
clc
clear all
format long g
a=input('x,y,z a [x y z]=');
b=input('x,y,z b [x y z]=');
c=input('x,y,z c [x y z]=');
d=input('x,y,z d [x y z]=');
p=input('x,y p [x y]=');
dx=input('dx=');dy=input('dy=');
xbp=(p(1,1)-a(1,1))/dx;
ybp=(p(1,2)-a(1,2))/dy;
zp=a(1,3)+(d(1,3)-a(1,3))*xbp+(b(1,3)-a(1,3))*ybp+(a(1,3)-b(1,3)+c(1,3)-d(1,3))*xbp*ybp

  • جواد زارع زاده

برنامه درونیابی محلی به روش idw در متلب

جواد زارع زاده | سه شنبه, ۲۶ آبان ۱۳۹۴، ۱۲:۰۰ ب.ظ

برنامه را در mfile کپی کنید

%daroonyabi mahalli-Grid Based-idw%
%zp=?%
clc
clear all
format long g
a=input('xyz 4 nogte abcd[xa ya za;xb yb zb;xc yc zc;xd yd zd=');
p=input('xy p [x y]=');
for i=1:4;
d(i)=sqrt((p(1,1)-a(i,1))^2+(p(1,2)-a(i,2))^2);
end;
w1=(1/d(1).^2)/sum(1./(d.^2));
w2=(1/d(2).^2)/sum(1./(d.^2));
w3=(1/d(3).^2)/sum(1./(d.^2));
w4=(1/d(4).^2)/sum(1./(d.^2));
zp=(a(1,3)*w1)+(a(2,3)*w2)+(a(3,3)*w3)+(a(4,3)*w4)

  • جواد زارع زاده

برنامه درونیابی محلی به روش خطی در متلب

جواد زارع زاده | سه شنبه, ۲۶ آبان ۱۳۹۴، ۱۱:۵۵ ق.ظ

برنامه را در mfile کپی کنید

%daroonyabi mahalli-Tin Based-khatti(linear)-matris%
%zP=?%
clc
clear all
format long g
a=input('x,y,z a ra be soorat [x y z] vared konid=');
b=input('x,y,z b ra be soorat [x y z] vared konid=');
c=input('x,y,z c ra be soorat [x y z] vared konid=');
P=input('x,y P ra be soorat [x y] vared konid=');
ma=[1 a(1,1) a(1,2);1 b(1,1) b(1,2);1 c(1,1) c(1,2)];
l=[a(1,3);b(1,3);c(1,3)];
x=(ma'*ma)^-1*ma'*l;
zp=x(1,1)+(x(2,1)*P(1,1))+(x(3,1)*P(1,2))

  • جواد زارع زاده

برنامه درونیابی محلی به روش linear در متلب

جواد زارع زاده | سه شنبه, ۲۶ آبان ۱۳۹۴، ۱۱:۴۵ ق.ظ

برنامه را در mfile کپی کنید

%daroonyabi mahalli-Grid Based-linear%
%zp=?%
clc
clear all
format long g
a=input('x,y,z a [x y z]=');
b=input('x,y,z b [x y z]=');
c=input('x,y,z c [x y z]=');
d=input('x,y,z d [x y z]=');
p=input('x,y p [x y]=');
dx=input('dx=');dy=input('dy=');
xbp=(p(1,1)-a(1,1))/dx;
ybp=(p(1,2)-a(1,2))/dy;
if xbp>ybp;
delta=0;
elseif delta==1;
end;
zp=(delta*(a(1,3)+(c(1,3)-b(1,3))*xbp+(b(1,3)-a(1,3))*ybp))
+(1-delta)*(a(1,3)+(d(1,3)-a(1,3))*xbp+(c(1,3)-d(1,3))*ybp)

  • جواد زارع زاده

برنامه درونیابی محلی به روش second exact fit در متلب

جواد زارع زاده | سه شنبه, ۲۶ آبان ۱۳۹۴، ۱۱:۳۰ ق.ظ

برنامه را در mfile کپی کنید

%daroonyabi mahalli-Tin Based-second exact fit%
%zP=?%
clc
clear all
format long g
a=input('x,y,z a ra be soorat [x y z] vared konid=');
b=input('x,y,z b ra be soorat [x y z] vared konid=');
c=input('x,y,z c ra be soorat [x y z] vared konid=');
d=input('x,y,z d ra be soorat [x y z] vared konid=');
e=input('x,y,z e ra be soorat [x y z] vared konid=');
f=input('x,y,z f ra be soorat [x y z] vared konid=');
p=input('x,y P ra be soorat [x y] vared konid=');
ma=[1 a(1,1) a(1,2) a(1,1)^2 a(1,2)^2 a(1,1)*a(1,2)
1 b(1,1) b(1,2) b(1,1)^2 b(1,2)^2 b(1,1)*b(1,2)
1 c(1,1) c(1,2) c(1,1)^2 c(1,2)^2 c(1,1)*c(1,2)
1 d(1,1) d(1,2) d(1,1)^2 d(1,2)^2 d(1,1)*d(1,2)
1 e(1,1) e(1,2) e(1,1)^2 e(1,2)^2 e(1,1)*e(1,2)
1 f(1,1) f(1,2) f(1,1)^2 f(1,2)^2 f(1,1)*f(1,2)];
l=[a(1,3);b(1,3);c(1,3);d(1,3);e(1,3);f(1,3)];
x=(ma'*ma)^-1*ma'*l;
zp=x(1,1)+(x(2,1)*p(1,1))+(x(3,1)*p(1,2))+(x(4,1)*(p(1,1))^2)+(x(5,1)*(p(1,2))^2)+(x(6,1)*p(1,1)*p(1,2))

  • جواد زارع زاده

برنامه آشکارسازی لبه ها با sobel و canny در متلب

جواد زارع زاده | سه شنبه, ۲۶ آبان ۱۳۹۴، ۱۱:۲۰ ق.ظ

برنامه را در mfile کپی کنید

%ashkarsazi labe ba sobel va canny%
clc
clear all
a=imread('peppers.png');
subplot(2,2,1),imshow(a),title('orginal')
b=rgb2gray(a);
subplot(2,2,2),imshow(b),title('gray')
c=edge(b,'sobel');
subplot(2,2,3),imshow(c),title('sobel')
c=edge(b,'sobel');
subplot(2,2,4),imshow(c),title('canny')

  • جواد زارع زاده

clc
clear
format bank
n=input('enter number point: ');
for k=1:n
    x(k)=input('enter value x: ');
    y(k)=input('enter value y: ');
end
mohit=0;
for m=1:n
    if m==n
        d(m)=sqrt((x(m)-x(1))^2+(y(m)-y(1))^2);
    else
        d(m)=sqrt((x(m)-x(m+1))^2+(y(m)-y(m+1))^2);
    end
    mohit=mohit+d(m);
end
disp('mohit polygon')
disp(mohit)
grid on
hold on
plot([x(1),x(m)],[y(1),y(m)],'-b')
plot(x,y,'-r' )
plot(x,y,'*m' )
title('mohit ehsan & ali')
A=polymeter(x,y)
gtext([' meter = ' num2str(A)])

clc
clear all
disp ('for geodetic to cartesian press 1   for cartesino to zeodetic press 2')
ch=input  ('');
disp('select your elipsoid: WGS84=1   WGS72=2   GRS80=3')
el=input('');
 if el==1
    a=6378137;
    f=1/298.257223563;
end
if el==2
    a=6378135;
    f=1/298.26;
end
if el==3
    a=6378137;
    f=1/298.257222101;
end   
if el not 1:3 
    a=6378137;
    f=1/298.257223563;
end
if ch==1
disp('insert phi')
degp=input('degree=');
minp=input('minute=');
secp=input('second=');
secp=secp/3600;
minp=minp/60;
phie=degp+secp+minp;
phii=phie*(pi/180);
disp('insert landa')
degl=input('degree=');
minl=input('minute=');
secl=input('second=');
secl=secl/3600;
minl=minl/60;
phil=degl+secl+minl;
landa=phil*(pi/180);
disp('insert height')
hei=input('height=');
e=(2*f)-(f^2);
N=a/((1-(e*sin(phii)^2))^0.5);
X=(N+hei)*cos(phii)*cos(landa)
Y=(N+hei)*cos(phii)*sin(landa)
Z=(N*(1-e)+hei)*sin(phii)
else
X=input('Enter X=');
Y=input('Enter Y=');
Z=input('Enter Z=');
Landa=(atan(Y/X))*(180/pi);
disp('Landa=');
disp(Landa)
a=6378137;
f=1/298.257223563;
p=(((X^2)+(Y^2))^0.5);
e=((2*f)-(f^2));
phii(1)=atan((Z/p)*(1+(e/(1-e))));
N(1)=a/(1-(e*((sin(phii(1))^2)))^(1/2));
h(1)=(p/cos(phii(1)))-N(1);
phii(2)=atan((Z/p)*(1+(e*sin(phii(1))*(a/(sqrt(1-(e*(sin(phii(1)))^2))))/Z)));
N(2)=a/(1-(e*((sin(phii(2))^2)))^(1/2));
h(2)=(p/cos(phii(2)))-N(2);
for n=2:1000
 N(n)=a/(1-((e^2)*sin(phii(n-1)^2)))^(1/2);
 hi(n)=(p/cos(phii(n-1)))-N(n);
 phii(n)=atan((Z/p)*(1+(e*sin(phii(n-1)))*(a/(sqrt(1-(e*(sin(phii(n-1)))^2))))/Z));
   while (abs(phii(n)-phii(n-1))<=1/10^(1000000) & abs(N(n)-N(n-1))<=1/10^(1000000) & abs(hi(n)-hi(n-1))<=1/1000000 )
     break
   end
end
phii=phii(n)*(180/pi);
disp('phi=');disp(phii)
disp('height=');disp(hi(n))
end

clc
clear all
x=[0:0.1:2*pi]
y=sin(x)
z=cos(x)
hold on
grid on
plot(x,y,'--rs','linewidth',5,'markersize',7)
plot(x,z,'--gs','linewidth',5,'markersize',7)

clc
clear all
format long g
%tabdile vahedhaye zaviye%
q=input('agar gerad ast 1 & agar darage ast 2 & agar radian ast 3=');
if q==1;
gerad=input('zaviye ra be gerad vared konid=');
dar=(gerad*180)/200;
d=fix(dar);
dag=(dar-d)*60;
m=fix(dag);
t=(dag-m)*60;
Radian=(gerad*pi)/200
darage=[d;m;t]
elseif q==2;
d=input('darage ra vared konid=');
m=input('dagige ra vared konid=');
t=input('saniye ra vared konid=');
dar=d+(m/60)+(t/3600);
gerad=(dar*200)/180
radian=(dar*pi)/180
elseif q==3;
radian=input('zaviye ra be radian vared konid=');
dar=(radian*180)/pi;
d=fix(dar);
dag=(dar-d)*60;
m=fix(dag);
t=(dag-m)*60;
gerad=(radian*200)/pi
darage=[d;m;t]
end

clc
clear all
format long g
%barname gizman%
xa=input('xa=');ya=input('ya=');
xb=input('xb=');yb=input('yb=');
dxab=xb-xa;dyab=yb-ya;
vab=atand(abs(dxab/dyab));
if dxab>0&dyab>0
    gab=vab
elseif dxab>0&dyab<0
    gab=180-vab
elseif dxab<0&dyab<0
    gab=180+vab
elseif dxab<0&dyab>0
    gab=360-vab
end
if gab<=180
    gba=360-(180-gab)
elseif gab>180
    gba=180-(360-gab)
end

clc
clear all
format long g
g=input('g');
n=input('n');
x=input('x');
y=input('y');
for i=1:n
    z(i)=input('z');
    l(i)=input('l');
    if (g(i)-z(i))>180;
    g(i+1)=(g(i)-z(i))-180;
    elseif (g(i)-z(i))<180;
    g(i+1)=(g(i)-z(i))+180
    end
end
for i=1:n
dx(i)=(l(i)*sind(g(i)))
dy(i)=(l(i)*cosd(g(i)))
end
for i=1:n
    x(i+1)=x(i)+dx(i)
    y(i+1)=y(i)+dx(i)
end

clc
clear all
format long g
h=input('hi');
L=input('L');
n=input('n');
for i=1:n;
    bs(i)=input('bs');
    fs(i)=input('fs');
    dh(i)=bs(i)-fs(i);
    h(i+1)=dh(i)+h(i);
end
f=sum(bs)-sum(fs);
e=12*sqrt(L);
if f<=e;
    c=-f/n;
    for i=1:n
        hc(i)=h(i)+i*c
    end
end

برنامه زیر را در متلب کپی کنید

clc
clear all
format long g
%barname taghato va tarfi%
%noghat az chap be rast hastand%
q=input('baraye taghato 1 & baraye tarfi 2 =');
w=input('baraye darage 1 & baraye gerad 2 =');
if q==1;
    xa=input('xa=');ya=input('ya=');
    xb=input('xb=');yb=input('yb=');
    al=input('alfa=');be=input('beta=');
    if w==1;
        alfa=al;
        beta=be;
    elseif w==2;
        alfa=(al*180)/200;
        beta=(be*180)/200;
    end;
    omega=180-(alfa+beta);
    dxab=xb-xa;dyab=yb-ya;
    lab=sqrt(dxab^2+dyab^2);vab=atand(abs(dxab/dyab));
    if dxab>=0&dyab>=0;
        gab=vab;
    elseif dxab>=0&dyab<=0;
        gab=180-vab;
    elseif dxab<=0&dyab<=0;
        gab=180+vab;
    elseif dxab<=0^dyab>=0;
        gab=360-vab;
    end;
    gam=gab+alfa;lam=(lab*sind(beta))/sind(omega);
    xm=xa+(lam*sind(gam));
    ym=ya+(lam*cosd(gam));
    m=[xm ym]
elseif q==2;
    xa=input('xa=');ya=input('ya=');
    xb=input('xb=');yb=input('yb=');
    xc=input('xc=');yc=input('yc=');
    al=input('alfa=');be=input('beta=');
    if w==1;
        alfa=al;
        beta=be;
    elseif w==2;
        alfa=(al*180)/200;
        beta=(be*180)/200;
    end;
    xn=(xa*cotd(alfa)+xc*cotd(beta)+(ya-yc))/(cotd(alfa)+cotd(beta));
    yn=(ya*cotd(alfa)+yc*cotd(beta)+(xc-xa))/(cotd(alfa)+cotd(beta));
    dxbn=xn-xb;dybn=yn-yb;
    vbn=atand(abs(dxbn/dybn));
    if dxbn>=0&dybn>=0;
    gbn=vbn;
    elseif dxbn>=0&dybn<=0;
    gbn=180-vbn;
    elseif dxbn<=0&dybn<=0;
    gbn=180+vbn;
    elseif dxbn<=0&dybn>=0;
    gbn=360-vbn;
    end;
    dxab=xb-xa;dyab=yb-ya;
    vab=atand(abs(dxab/dyab));
    if dxab>=0&dyab>=0;
    gab=vab;
    elseif dxab>=0&dyab<=0;
    gab=180-vab;
    elseif dxab<=0&dyab<=0;
    gab=180+vba;
    elseif dxab<=0&dyab>=0;
    gab=360-vab;
    end;
    if
    b1=gba-gbn;a=180-(b1+alfa);
    dxab=xb-xa;dyab=yb-ya;
    lab=sqrt(dxab^2+dyab^2);
    if gba>=180;
    gab=180-(360-gba);
    elseif gba<180;
    gab=360-(180-gba);
    end;
    gam=gab+a;lam=(lab*sind(b1))/sind(alfa);
    xm=xa+(lam*sind(gam));
    ym=ya+(lam*cosd(gam));
    m=[xm ym]
end

%tabdile motavasset be lahzei(A.T to I.T)%

clc

clear all

format long g

AT=input('AT ra vared konid [x;y;z]=');

xp=input('xp ra vared konid=');

yp=input('yp ra vared konid=');

R1=[1 0 0;0 cos(yp) sin(yp);0 -sin(yp) cos(yp)];

R2=[cos(xp) 0 -sin(xp);0 1 0;sin(xp) 0 cos(xp)];

IT=R1*R2*AT

%tabdile lahzei be motavasset(I.T to A.T)%

clc

clear all

format long g

IT=input('IT ra vared konid [x;y;z]=');

xp=input('xp ra vared konid=');

yp=input('yp ra vared konid=');

R1=[1 0 0;0 cos(-yp) sin(-yp);0 -sin(-yp) cos(-yp)];

R2=[cos(-xp) 0 -sin(-xp);0 1 0;sin(-xp) 0 cos(-xp)];

AT=R2*R1*IT