how can i remove the error
Ältere Kommentare anzeigen
i typed my code ... when i let it run than it posts a error an matlab is closed down
my code:
clc
clear all
close all
format long g
%%Hausübung - Bedingte Ausgleichung
% Ausgleichender Kreis
syms x xm_k y ym_k r_k
f = (x-xm_k)^2+(y-ym_k)^2-r_k^2;
% Jacobi matrix d Unbekannten
dfdxm= diff(f,xm_k)
dfdym= diff(f,ym_k)
dfdr= diff(f,r_k)
% Jakobi matrix d Beobachtungen
dfdx=diff(f,x)
dfdy=diff(f,y)
% 12 Kreispunkte manuell eingemessen Beobachtungen :
Punkte= [43.594, 24.424;
25.427,43.020;
0.440,49.961;
-24.627,43.473;
-43.018,25.438;
-49.995,0.550;
-43.571, -24.550;
-25.444, -43.087;
-0.397, -50.054;
24.522, -43.620;
43.163, -25.272;
50.003, -0.230];
b= [43.594;
24.424;
25.427;
43.020;
0.440;
49.961;
-24.627;
43.473;
-43.018;
25.438;
-49.995;
0.550;
-43.571;
-24.550;
-25.444;
-43.087;
-0.397;
-50.054;
24.522;
-43.620;
43.163;
-25.272;
50.003;
-0.230];
% Näherungswerte für Unbekannte:
xm_k=0;
ym_k=0;
r_k=50;
% Qbb handschriftlich bestimmt Varianz 1 und Kovarianz 2
Qbb= zeros(length(b));
for r=1:length(b)
Qbb(r,r)=2;
end
for r = 1:length(b)-1
if mod(r,2)~=0
Qbb(r+1,r)=1;
elseif mod(r,2)==0
Qbb(r+1,r)=0;
end
if mod(r,2)~=0
Qbb(r,r+1)=1;
elseif mod(r,2)==0
Qbb(r,r+1)=0;
end
end
% Erestellen der Jacobi Matrix d Unbekannten : A
A=[];
B1=[];
for i=(1:length(Punkte))
x = Punkte(i,1);
y = Punkte(i,2);
dfdxm1= eval(subs(dfdxm));
dfdym1= eval(subs(dfdym));
dfdr1= eval(subs(dfdr));
A=[A;dfdxm1,dfdym1,dfdr1];
dfdx1 = eval(subs(dfdx));
dfdy1 = eval(subs(dfdy));
B1=[B1;dfdx1,dfdy1];
%B(k,j)=dfdx1;
%B(k,j+1)= dfdy1;
% j=j+2;
end
j=1;
B=zeros(12,24);
for k=1:12
B(k,j)=B1(k,1);
B(k,j+1)=B1(k,2);
j=j+2;
end
w=[];
for i = 1:length(Punkte)
x = Punkte(i,1);
y = Punkte(i,2);
w1= eval(subs(f));
w=[w;w1];
end
dx_dach=-(inv(A'*inv(B*Qbb*B')*A))*A'*inv(B*Qbb*B')*w;

Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Structural Mechanics finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!