|
|
Fehlermeldung bei implementierter Funktion |
|
blaueente |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.12.2019, 17:11
Titel: Fehlermeldung bei implementierter Funktion
|
|
Moin,
Ich habe eine Formel implementiert und wenn ich die Formle verwenden möchte,kommt immer die Fehlermeldung Matrix-Dimension must agree.
Ich habe schon ./ und .* durch / und * ersetzt aber es kommt dann immernoch die gleiche Fehlermeldung. Wäre super wenn mir jemand helfen mag und mir zeigt wo mein Fehler ist.
Vielen Dank und einen schönen ersten Advent noch!
lg
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.487
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.12.2019, 17:50
Titel:
|
|
Hallo,
bei Funktionen bitte immer den versuchten Aufruf mit angeben.
Eines der Probleme: du hast 360 theta-Werte und 200 r-Werte. Was soll r.*sin(theta) dann werden? Falls eine 360x200-Matrix aller Kombinationen: dann musst du r transponieren.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
blaueente |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.12.2019, 18:05
Titel:
|
|
Danke für deine Antowrt.
Es geht darum die Fomel des Bildes zu implementieren und S in Polarkoordinaten anzeigen zu lassen.
[img] https://www.bilder-upload.eu/bild-ebb97c-1575219687.jpg.html [/img]
Nun habe ich r transponiert und nun kommt die Fehlermeldung nicht mehr. Nun habe ich aber die gleiche Fehlermeldung in der Zeile S = S+sin(...
Hier ist einmal mein Aufruf der Funktion:
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.487
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.12.2019, 18:53
Titel:
|
|
Hallo,
dann schau dir doch die Dimensionen der beteiligten Variablen an. Vielleicht noch etwas / anders transponieren?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
blaueente |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.12.2019, 19:56
Titel:
|
|
Super vielen Dank für deine Hilfe! Ich habe x noch transponiert und nun klappt es.
Leider habe ich nun das Problem das beim verwenden von Polar die Fehlermeldung kommt das theta und rho (bei mir abs(S)) nicht die selbe Größe haben.
Ich weiß das theta ein Vektor von 0 bis 2pi mit 360 Werten ist und S eine Matrix der Größe 360x200.
Ich habe mir die Werte von S angeguckt und gesehen das jede der 360 Zeilen die gleichen Werte enthält. Dann kam ich auf die Idee nur eine Zeile mit den 200 Werten zu verwenden.
Ich habe herausgefunden das man S(1,: ) verwendet um nur die erste Zeile einer Matrix zu benutzen.
Wenn ich das nun bei meinen Befehl polar(theta, abs(S(1,: ))) einfüge kommt die Fehlermeldung immer noch.
Vielleicht hat ja jemand eine Idee und kann mir nochmal helfen?
Vielen Dank!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.487
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.12.2019, 20:26
Titel:
|
|
Hallo,
bitte poste deinen Code und kommentiere ihn ggf. Das ist viel leichter nachzuvollziehen als wortreiche Erklärungen.
Es klngt so, als ob repmat helfen könnte, die Variablen auf die gleiche Größe zu bringen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
blaueente |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.12.2019, 21:02
Titel:
|
|
Hier ist einmal der Code:
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.487
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.12.2019, 22:01
Titel:
|
|
Hallo,
und was ist der aktuelle Stand deiner Funktion?
Was sind die Dimensionen von theta und vor allem S? Wenn S 360x200 ist wie von dir angedeutet, dann wird es die Fehlermeldung so nicht geben.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
blaueente |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.12.2019, 23:03
Titel:
|
|
Das ist meine korrigierte Funktion.
theta ist ein Vektor der Größe 1x360 und und S hat die Größe 360x200
Das ist die Fehlermeldung:
Error using polar (line 69)
THETA and RHO must be the same size.
Und als Rho habe ich ja S
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.487
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.12.2019, 23:19
Titel:
|
|
Hallo,
dann ist doch klar, dass theta (360 Elemente) nicht zur ersten Zeile von S (200 Elemente) passt.
Du könntest wie gesagt repmat verwenden:
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
blaueente |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.12.2019, 09:27
Titel:
|
|
Vielen Dank nun klappt es!
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|