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

Hilfe zur Fehlermeldung

 

qwertz123
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2012, 12:13     Titel: Hilfe zur Fehlermeldung
  Antworten mit Zitat      
Bei mir kommt immer die Fehlermeldung.

??? In an assignment A(I) = B, the number of elements in B and
I must be the same.

aber nur wenn slz nicht =1 ist wenn slz=1 ist dann funktioniert es. Kann mir jemand sagen wodran es liegt

Code:


[slz]=length(zs);
double tz(1:slz);
    for i=1:slz
    tz(i)=Rwaz-an+zbeta(i);
    end;
 


Danke schon mal wenn jemand weitere infos zum Quelltext braucht fragt einfach.
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: 23.02.2012, 13:30     Titel:
  Antworten mit Zitat      
Code:
giebt die die zahlenwerte für die einzelnen chars des strings aus ^^
glaube nicht das das das is was du machen wolltest. und da deine anderen variablen nicht bekannt sind hast du auch keinen lauffähigen code gepostet bei dem man den fehler klar ausmachen kann. deine dimensionen passen halt nicht aber warum nicht kann man erst sagen wenn die anderen variablen bekannt sind.
Private Nachricht senden Benutzer-Profile anzeigen
 
qwertz123
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2012, 13:38     Titel:
  Antworten mit Zitat      
Code:
for i=1:Anzahlpunkte
% Eingabe Zwischenpunkte
prompt = {'Nummer Standpunktes','Anzahl an Zwischenpunkte von diesem Punkt'};
dlg_title = 'Von welchem Punkt wurde der Zwischenpunkt gemessen';
num_lines = 1;
def = {'',''};
answer = str2double(inputdlg(prompt,dlg_title,num_lines,def));
NNp = answer(1); % Nummer des Standpunktes
AzZp = answer(2); % Anzahl an Zwischenblicken somit auch Anzahl an Zwischenpunkten

xp=x(NNp);
yp=y(NNp);
KNp = [yp,xp];

    % Eingabe von Winkel und Strecken
    for i=1:AzZp;
    prompt = {'Gemessene Strecken:'};
    dlg_title = 'Strecken';
    num_lines = 1;
    def = {'',''};
    answer = str2double(inputdlg(prompt,dlg_title,num_lines,def));
    zs(i) = answer;
    end;
   
    prompt = {'Gemessene Winkel Anschluss:'};
    dlg_title = 'Winkel';
    num_lines = 1;
    def = {'',''};
    answer = str2double(inputdlg(prompt,dlg_title,num_lines,def));
    an(i) = answer;

    for i=1:AzZp;
    prompt = {'Gemessene Winkel Zwischenpunkt:'};
    dlg_title = 'Winkel';
    num_lines = 1;
    def = {'',''};
    answer = str2double(inputdlg(prompt,dlg_title,num_lines,def));
    zbeta(i) = answer;
    end;

% Berechnen des Zwischenpunktes

% Berechnen der Koordinatenunterschiede dy2 und dx2
    if NNp==1
    dy2=Y(1) - KNp(1,1) ;
    dx2=X(1)- KNp(1,2);
    Rwaz = rho * atan((dy2)/(dx2));
    else
    dy2=Y(y-1) - KNp(1,1) ;    
    dx2=X(x-1) - KNp(1,2) ;
    Rwaz = rho * atan((dy2)/(dx2));
    end;

   
    if dx2<0
        if dy2>0
            Rwaz=Rwaz+200;
        end;
    end;

    if dx2<0
        if dy2<0
            Rwaz=Rwaz+200;
        end;
    end;

    if dx2>0
        if dy2<0
            Rwaz=Rwaz+400;
        end;
    end;

    while Rwaz>400
        Rwaz=Rwaz-400;
    end;
   
[color=red]  

 [slz]=length(zs);
    double tz(1:slz);
    for i=1:slz
    zw=Rwaz-an
    tz(i)=zw+zbeta(i);
    end;
[/color]

    double dyz(1:slz);
    double dxz(1:slz);

    for i=1:slz
        dyz(i) = zs(i) * sin(tz(i)/63.6620);
        dxz(i) = zs(i) * cos(tz(i)/63.6620);
        end;


Zuletzt bearbeitet von qwertz123 am 23.02.2012, 13:58, insgesamt einmal bearbeitet
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: 23.02.2012, 13:57     Titel:
  Antworten mit Zitat      
da fehlt ein for schleife glaub ich.
Code:
   prompt = {'Gemessene Winkel Anschluss:'};
    dlg_title = 'Winkel';
    num_lines = 1;
    def = {'',''};
    answer = str2double(inputdlg(prompt,dlg_title,num_lines,def));
    an(i) = answer;

das sollte aber den fehler nicht beseitigen. was sind x y X Y?
hast mal den debugger gesetzt an die stelle und dir die einzelnen variablen ageguckt von den dimensionen her?
Private Nachricht senden Benutzer-Profile anzeigen
 
qwertz123
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2012, 14:05     Titel:
  Antworten mit Zitat      
Also das ohne der for-schleife ist mit absicht so. Da man immer nur eine Anschlussrichtung hat. Wollte nicht den ganzen Code darstellen weil er "so lang" ist.

Die Y y und X x

sind vektoren wo koordinaten drin sind
A,B,E werden am anfang eingegeben und x bzw y werden berechnet
(als Polygonzug)
X=[A(2),B(2),E(2),x];
Y=[A(1),B(1),E(1),y];

von der Dimensionen her wird tz(i) als empty angegeben 0x0 double

zw 1x2 double und zbeta(i) auch 1x2 double
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: 23.02.2012, 14:14     Titel:
  Antworten mit Zitat      
und wälche länge hat an? solte hir die selbe länge haben wie zbeta. du versucht einem elemt einen vektor zu zu ordnen. wenn bei an eh nur ein element wichtig ist warum machst du dann
Code:
an(i) = answer;  
Private Nachricht senden Benutzer-Profile anzeigen
 
qwertz123
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2012, 14:20     Titel:
  Antworten mit Zitat      
oh das ist wohl passiert da ich da wirklich zuerst eine for schleife hatte hab ich dann vergessen zu löschen danke.
Private Nachricht senden Benutzer-Profile anzeigen
 
qwertz123
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 22.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2012, 14:31     Titel:
  Antworten mit Zitat      
Danke nochmal nun klappt es so wie es soll!
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 - 2025 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.