WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Tipp zum Verkuerzen eines Codes

 

sanny
Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 14.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2015, 08:04     Titel: Tipp zum Verkuerzen eines Codes
  Antworten mit Zitat      
Hallo zusammen,

Ich habe eine Frage zu einem Code den ich geschrieben habe .
Ich habe verschiedene GPS Messungen durchgeführt und lade diese Ergebnisse ( welche in excel sind) dann in Matlab ein.
Wie ihr seht mache ich fuer jeden Punkt dann eine eigene Rechnung.
Meine Frage ist nun ob es da eine Moeglichkeit fuer mich gibt dies zu verkuerzen. Also die Formeln einmal Aufstellen und die Daten nacheinander einlesen lassen in die jeweilige Formel.

Code:
% Enter Latitude and Longitude from Base Station, in degree
Base_Latitude = xlsread(filename,1,'B2:B2');
Base_Longitude = xlsread(filename,1,'C2:C2');
%--------------------------------------------------------------------------
%%
%------------Position Input for Reference Points---------------------------

%--------------Reference Point1:
% Enter Measured Latitude and Longitude Point 1, in degree
LatitudeR1 =  xlsread(filename,1,'B3:B3');
LongitudeR1 = xlsread(filename,1,'C3:C3');

% Enter Measured Heading Point1, in degree
Heading_angleR1 = xlsread(filename,1,'D3:D3');

% Convertion into Northing and Easting Point 1
NorthingR1 = (LatitudeR1-Base_Latitude)*(6378137*pi/180);                               %y1
EastingR1 = (LongitudeR1-Base_Longitude)*(6378137*pi/180)*cos(Base_Latitude*pi/180);   %x1

% Easier to work with (Point 1)
y1 = NorthingR1;
x1 = EastingR1;

%--------------Refference Point2:

% Enter Measured Latitude and Longitude Point 2, in degree
Latitude2 = xlsread(filename,1,'B4:B4');
Longitude2 = xlsread(filename,1,'C4:C4');

% Enter Measured Heading Point2, in degree
Heading_angleR2 = xlsread(filename,1,'D4:D4');

% Convertion into Northing and Easting Point 2
Northing2 = (Latitude2-Base_Latitude)*(6378137*pi/180);                               %y2
Easting2 = (Longitude2-Base_Longitude)*(6378137*pi/180)*cos(Base_Latitude*pi/180);   %x2

% Easier to work with (Point 2)
y2 = Northing2;
x2 = Easting2;

%--------------Refference Point3:

% Enter Measured Latitude and Longitude Point 3, in degree
Latitude3 = xlsread(filename,1,'B5:B5');
Longitude3 = xlsread(filename,1,'C5:C5');

%Enter Measured Heading Point3, in degree
Heading_angleR3 = xlsread(filename,1,'D5:D5');

% Convertion into Northing and Easting Point 3
Northing3 = (Latitude3-Base_Latitude)*(6378137*pi/180);                               %y3
Easting3 = (Longitude3-Base_Longitude)*(6378137*pi/180)*cos(Base_Latitude*pi/180);   %x3

% Easier to work with (Point 3)
y3 = Northing3;
x3 = Easting3;


%%
%-------------------------Line R1------------------------------------------
%Gradient for Heading 1
mR1 = tand(90-Heading_angleR1);

% Gradient through Beacon 1
mR12 = -1/mR1;

%Y-Axis crossing
bR1 = y1-mR12*x1;

% Equation for Line1
y1 = mR12*x1+bR1;

%%
%-------------------------Line R2------------------------------------------
%Gradient for Heading 2
mR2 = tand(90-Heading_angleR2);

% Gradient through Beacon 2
mR22 = -1/mR2;

%Y-Axis crossing
bR2 = y2-mR22*x2;

% Equation for Line2
y2 = mR22*x2+bR2;
%%
%-------------------------Line R3------------------------------------------
%Gradient for Heading 3
mR3 = tand(90-Heading_angleR3);

% Gradient through Beacon 3
mR32 = -1/mR3;

%Y-Axis crossing
bR3 = y3-mR32*x3;

% Equation for Line3
y3 = mR32*x3+bR3;

%%
%-------------------------Calculation R1-----------------------------------

% Get Intersect Values for Point R1
xR1 = (bR1 - bR2)/(mR22 - mR12);
yR1 = (mR22*bR1 - bR2*mR12)/(mR22 - mR12);

%%
%-------------------------Calculation R2-----------------------------------

% Get Intersect Values for Point R2
xR2 = (bR2 - bR3)/(mR32 - mR22);
yR2 = (mR32*bR2 - bR3*mR22)/(mR32 - mR22);

%%
%-------------------------Calculation R3-----------------------------------

% Get Intersect Values for Point R3
xR3 = (bR3 - bR1)/(mR12 - mR32);
yR3 = (mR12*bR3 - bR1*mR32)/(mR12 - mR32);


Ich bin fuer jeden Tipp und Hilfe dankbar.
Gruss

Sanny
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 21.10.2015, 09:49     Titel:
  Antworten mit Zitat      
du liest immer das selbe file nochmal ein. du könntest also zuerstmal gleich alle daten auf einmal einlesen. dann benutzt du auch einen index im namen anstatt als ihn als index zu verwenden. wenn du ihn als index benutzt kannst du wahrscheinlich einfach mit vektoren rechnene oder auch einfach eine schleife benutzen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
sanny
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 14.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2015, 11:02     Titel:
  Antworten mit Zitat      
Ah top, sowas habe ich gemeint! Auch gut dann mit Vektoren arbeiten zu koennen, erspart auch arbeit.
Danke

Gruss

Sanny
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.