[]
MATLAB - Fotogrametri
function result=col(p);
x=p(1);
y=p(2);
x0=p(3);
y0=p(4);
f=p(5);
om=p(6);
ph=p(7);
kp=p(8);
XL=p(9);
YL=p(10);
ZL=p(11);
X=p(12);
Y=p(13);
Z=p(14);
m1=[1 0 0;0 cos(om) sin(om);0 -sin(om) cos(om)];
m2=[cos(ph) 0 -sin(ph);0 1 0;sin(ph) 0 cos(ph)];
m3=[cos(kp) sin(kp) 0;-sin(kp) cos(kp) 0;0 0 1];
M=m3*m2*m1;
UVW=M*[X-XL;Y-YL;Z-ZL];
U=UVW(1);
V=UVW(2);
W=UVW(3);
Fx=x-x0+f*(U/W);
Fy=y-y0+f*(V/W);
result=[Fx;Fy];
bu kodu çalıştırınca
function result=col(p);
↑
Error: Function definitions are not permitted in this context.
diyor. ne demek istemiş? Bu işlerden anlayan birisi varsa biraz yardımcı olabilir mi?
x=p(1);
y=p(2);
x0=p(3);
y0=p(4);
f=p(5);
om=p(6);
ph=p(7);
kp=p(8);
XL=p(9);
YL=p(10);
ZL=p(11);
X=p(12);
Y=p(13);
Z=p(14);
m1=[1 0 0;0 cos(om) sin(om);0 -sin(om) cos(om)];
m2=[cos(ph) 0 -sin(ph);0 1 0;sin(ph) 0 cos(ph)];
m3=[cos(kp) sin(kp) 0;-sin(kp) cos(kp) 0;0 0 1];
M=m3*m2*m1;
UVW=M*[X-XL;Y-YL;Z-ZL];
U=UVW(1);
V=UVW(2);
W=UVW(3);
Fx=x-x0+f*(U/W);
Fy=y-y0+f*(V/W);
result=[Fx;Fy];
bu kodu çalıştırınca
function result=col(p);
↑
Error: Function definitions are not permitted in this context.
diyor. ne demek istemiş? Bu işlerden anlayan birisi varsa biraz yardımcı olabilir mi?
function result=col(p) burada fazladan bir ; kullanmışsın buna gerek yok.
Sanırım sen normal m file içerisinde fonksiyon tanımlayıp kullanmak istedin C de olduğu gibi. Bildiğim kadarıyla matlab buna izin vermiyor. Bunun yerine yeni bir m file açıp içerisine bu fonksiyonu yaz "save as" basıp "col" olarak kaydet. Daha sonra bu fonksiyonu kullanacağın m file içerisinde x = col(p) olarak kullanabilirsin.
Asıl m file ile yeni tanımladığın fonksiyon aynı klasör içerisinde olmalı
Sanırım sen normal m file içerisinde fonksiyon tanımlayıp kullanmak istedin C de olduğu gibi. Bildiğim kadarıyla matlab buna izin vermiyor. Bunun yerine yeni bir m file açıp içerisine bu fonksiyonu yaz "save as" basıp "col" olarak kaydet. Daha sonra bu fonksiyonu kullanacağın m file içerisinde x = col(p) olarak kullanabilirsin.
Asıl m file ile yeni tanımladığın fonksiyon aynı klasör içerisinde olmalı
- road_tanker (25.05.17 21:47:43)
1