Quantcast
Channel: Mein MATLAB Forum - goMatlab.de
Viewing all 28358 articles
Browse latest View live

orthogonal functions

$
0
0
Hallo, es wird ja nicht 0, sondern +/-0.0000 angezeigt. Das kann bedeuten, das spätere Stellen durch numerische Fehler nicht genau 0 sind. Wenn du die Abfrage so anpasst, werden die Funktionen als orthogonal erkannt: if abs(O_e(p,q)) > 1e-10 Grüße, Harald

Animation, Zeigerdarstellung komplexe ebene

$
0
0
Hallo, wenn du zwischen den Fällen Realteil = 0 oder nicht unterscheiden willst, brauchst du eine if-Abfrage. Wie du im Fall Realteil = 0 den Punkt bekommst, siehe 15:27. Grüße, Harald

Argumentliste füllen mit kompakter Anweisung

Erklärung von abstrakten Methoden

$
0
0
Hallo Harald, verstanden, danke.

Vererbung von Eigenschaften und Methoden

$
0
0
Hallo Harald, gut zu wissen. Danke, Martinuk

GUI Programmatically vs. AppDesigner

$
0
0
Hallo Jan, das klingt ja sehr interessant. Wärst du bereit mir deine Funktionen bereitzustellen? Ich könnte mir dadurch vermutlich sehr viel Aufwand ersparen.

GUI Programmatically vs. AppDesigner

$
0
0
Hallo Martinuk, Ich erstelle alle meine GUIs per Code ohne GUIDE und AppDesigner. Das hat den Vorteil, dass die GUIs mit verschiedenen Matlab-Versionen laufen, z.B. auch unter 2009a. Man hat die volle Kontrolle über alle Elemente, dafür dann aber auch mehr Programmieraufwand. Ich habe inzwischen eine Reihe von Unterfunktionen, die z.B. das Fenster wieder an der Stelle öffnen, an der es geschlossen wurde (z.B. auch auf einem zweiten Monitor), für eine TabGroups, UITrees usw. Eine Funktion steuert die Font-Größe und die Anzeige-Farben, so dass man das nicht für jedes GUI wieder neu einstellen muss. Wenn man also viele GUIs erstellt, kann man sich hier viel Arbeit sparen. Bei der ersten ist dann aber der Aufwand umso höher. Gruß, Jan

Hilfe bei Aufgabe

$
0
0
Harald danke für die schnelle Hilfe. Du hast recht gehabt, jetzt funktioniert alles:) Vielen Dank

Walsh-Hadamard function sequence

$
0
0
Hallo nochmal, wir sollten die walshfunktion implementieren und als beispiel die Walshfuntkionen(funktionswerte) für n=0 bis 15 in eine quadratische matrix packen und anschließend mit der stairs funktion darstellen. Wie das ganze auszusehen hat, siehe beigefügtes jpg. Leider konnte ich mithilfe der Dokumentation der Funktion noch nicht herausfinden wie man diese darstellung hinbekommt. Wäre sehr über anregungen dankbar. hier die function welche die walshfunction berechnet für gegebenes k und m zum auffüllen für funktion unten. function y = swal(k,m) k_bin = dec2bin(k)-'0'; start_e = [1]; for n=1:length(k_bin) if k_bin(n) == 0 start_new = [start_e fliplr(start_e)]; start_e = start_new; end if k_bin(n) == 1 start_new = [start_e -fliplr(start_e)]; start_e = start_new; end end fill_gaps = m/length(start_e); swal_arr = []; for n = 1:length(start_e) swal_tmp = start_e(n)*ones(1,fill_gaps); swal_arr = cat(2,swal_arr,swal_tmp); end y = swal_arr; end hier die function welche die quadratische matrix züruckgibt. function y = swalsys(k) if log2(k) ~= round(log2(k)) error('k is no two potency') end swal_functions = zeros(k); for n = 1:k swal_functions(n,1:k) = swal(n-1,k); end y = swal_functions; end Grüße

fread - bytes lesen

$
0
0
Hallo, ich habe eine HW angeschlossen, die ich mit fread auslese. Ich weiß, dass mir die HW einen float schickt, also 4 byte. Ist es möglich, mir die 4 Bytes in einem Vektor zu schreiben? Ich lese kontinuierlich, also dass ich dann einen Vektor bekomme, in dem die Bytes hintereinander stehen? Liebe Grüße

MATLAB-Code zur Laufzeit erzeugen und laden

$
0
0
Hallo, ich möchte mit ode45 ein System von Differentialgleichungen lösen. Dabei soll die genaue Form und die Zahlenwerte der Konstanten dieses DGL-Systems zur Laufzeit aus externen Quellen (XML-Datei, SQL-DB) entnommen werden. Daher war mein Plan, den Code der Funktion, die als erstes Argument an ode45 übergeben wird, zur Laufzeit zu generieren. Das heißt also, durch MATLAB-Code eine .m-Datei schreiben zu lassen, die die besagte Funktion definiert. Anschließend würde ich dann gerne diese .m-Datei dynamisch von MATLAB laden lassen. Daher die Frage: Kann man MATLAB zur Laufzeit MATLAB-Code in Form einer .m-Datei laden lassen? Oder ist das gar nicht nötig und man kann die .m-Datei einfach in den Ordner, wo sich auch der gerade ausgeführte Code befindet, speichern und MATLAB findet die .m-Datei dann automatisch?

Popupmenu-String mit Exceldateinamen füllen

$
0
0
Hallo zusammen, ich habe ein ähnliches Problem was das Popup Menü betrifft, allerdings helfen mir die gefundenen Lösungsansätze nicht weiter bzw. fällt es mir schwer, diese auf meinen Fall anzuwenden und ich drehe mich hier mittlerweile im Kreis. Es geht um folgendes: Ich habe eine Excel-Tabelle, in welcher innerhalb einer Spalte (ab der 3. Zeile) Namen aufgelistet sind. Die Länge der Spalte und damit auch die Anzahl der Namen (sowie die Namen selbst) varriiert von Fall zu Fall. Ich habe im Guide ein Popup Fenster eingefügt und dafür über den Property Inspector eine Callback- und CreateFcn-Verknüpfung zu meiner Matlabfunktion erstellt. Den Tag des Popup habe ich "Lastfall" genannt. Die Namen aus der Excel-Tabelle lese ich innerhalb der CreateFcn ein: function Lastfall_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end[~,txt,~] = xlsread('\input\input_data.xlsx'); lc_name = txt(3:end,2); set(handles.Lastfall,'String',lc_name); Die Callback-Funktion sieht dann wie folgt aus: function Lastfall_Callback(hObject, eventdata, handles) % Startwert setzen % Pop up Menü get(handles.Lastfall,'String',lc_name); Value = get(handles.Lastfall,'Value'); n_Lastfall = Value; Wenn ich dann die Funktion ausführe und sich nach der Berechnung das GUI öffnet, bleibt das Popup Menü allerdings leer. Eine Fehlermeldung erscheint nicht. Daher nun meine Frage: Weiß jemand, was ich in meiner Umsetzung falsch mache? Ich habe im Property Inspector (des verwendeten Popup) das Feld für String leer gelassen, da sowohl die Namen als auch deren Anzahl wie bereits erwähnt varriiert. Muss in diesem Feld eventl. noch eine Definition eingefügt werden? Ich hoffe ich konnte me ...

Suche Koordinatenpaar mit dem geringsten Abstand

$
0
0
Danke für eure Antworten. Den Tipp von Harald konnte ich bereits anwenden. Ich habe die maximalen und minimalen Koordinaten der Route ermittelt und mit Hilfe dieser die Matrix B auf 300.000 Zeilen verkürzen können. Trotzdem bleibt mein Rechner jedes mal hängen, wenn ich die Schleife über die gesamte Größe der Abstandsmatrix (die ich mit dieser Schleife erstellen will) laufen lasse. Die Matrix A habe ich zu lat_Route und lon_Route gemacht (2 Spaltenvektoren). Die Matrix B habe ich zu Lat_column und Lon_column gemacht (2 Zeilenvektoren). Nochmal zur Erinnerung: Ich möchte zu jedem Punkt (bestehend aus lat und lon Koordinate) aus Matrix A einen Punkt in Matrix B (ebenfalls aus lat und lon Koordinate) ermitteln, der zum Punkt aus A den geringsten Abstand hat. Als Ausgabe bräuchte ich für jede Zeile Hier der relevante Teil meines Codes: %Schleife zur Erstellung der Abstandsmatrizen lat_Abstand und lon_Abstand lat_Abstand = zeros(length(Lat_column),length(lat_reale_Fahrt)); %preallocation lon_Abstand = zeros(length(Lon_column),length(lon_reale_Fahrt)); row=1; column=1; for r=1:length(Lat_column)*length(lon_Route) if column <= length(lon_Route) lat_Abstand(row,column) = abs(Lat_column(row,1)-lat_Route(1,column)); lon_Abstand(row,column) = abs(Lon_column(row,1)-lon_Route(1,column)); column=column+1; else column=1; row=row+1; lat_Abstand(row,column) = abs(Lat_column(row,1)-lat_Route(1,column)); lon_Abstand(row,column) = abs(Lon_column(row,1)-lon_Route(1,column)); column=column+1; end end %Kombination der Abstandsmatrizen zu einem Gesamtabstand Abstand_total = sqrt(lon_Abstand.^2 + lat_Abstand.^2);[Abstand_min Zeile ...

Transformationsmatrix

$
0
0
Hallo, ich stehe gerade etwas auf dem Schlauch. Ich möchte eine Oberfläche transformieren. Dafür habe ich mir Landmarken auf der Ausgangsoberfläche und auf der Zieloberfläche gesucht. Nun möchte ich für diese Punkte meine Transformationsmatrix bestimmen, sodass ich x,y,z-Verschiebung und die Rotation des Objekts bestimmen. Irgendwie tu ich mich da gerde etwas schwer kann mir da evtl. jemand helfen vielen Dank! LG Maxx_BMT

Array nach größster &kleinster Zeile durchsuchen

$
0
0
Danke :) habe das gerade gebraucht, da ich eine Map mit array werten und Bezeichnungen ergo namen gemacht habe.

float fread

$
0
0
Hallo, ich probiere mich gerade mit der Ansteuerung eienr Hardware. Die Kommunikation usw passt alles soweit. Ich arbeite mit der BytesAvailableFcnMode = 'byte' um mir dann eine Callback Funktion aufzurufen wenn 1024Bytes vorliegen (meine Hardware sendet kontinuierlich Daten). Innerhalb der Funktion benutze ich den Befehl fread, um Daten zu lesen. Die Daten die von meiner Hardware geschickt werden sind vom Datentyp float und immer 4 Werte. Also sollte ich pro gesendetem "Paket" 16 Bytes bekommen. Auf MATLAB Seite lese ich folgendermaßen aus. Buf = 256; formatType = 'float'; bitResolution = 32; nf = (2^bitResolution)-1; data = (fread(obj,Buf,formatType))./nf; Ich habe es so verstanden, dass die Callbackfunktion aufgerufen wird, wenn 1024 Bytes im Speicher liegen (das funktioniert eigentlich auch). Die Funktion sollte also genau diese 1024 Bytes auslesen und mir 256 float-values in meinen vektor 'data' speichern. Leider funktioniert das aber nicht. Der Wertebereich der float-values sollte irgendwie zw. 50-1000 liegen, die Daten die ich bekomme haben aber mal e-18 und mal e+28 als Wertebereich :roll: . Kann mir jemand weiterhelfen? Ich gehe davon aus, dass das Senden der Daten von der HW zu MATLAB passt. Meiner Meinung nach müsste der Fehler beim fread liegen, dass da irgendeine Umrechnung falsch läuft. Freue mich über Input! Grüße Vaati

Mittelpunkt eines objektes ohne 'image Processing toolbox'

$
0
0
Hallo, ich möchte den Mittelpunkt eines schwarzen Objektes auf weißen Grund finden. mir steht die 'image Processing Toolbox' nicht zur Verfügung. Hat jemand von euch Anregungen für eine kostenfreie Funktion / Bibliothek oder eine Idee wie ich den code schreiben könnte? Danke

Farbe der Beschriftung bei der Colorbar ändern

$
0
0
hallo zusammen, ich habe es jetzt mit Hilfe einer Textbox gelöst, aber ich benötige ebenfalls HIlfe für den umbruch. text(-4,15,'Speed < 100kph','Color','g','FontSize',14,'FontWeight','bold',... 'HorizontalAlignment','left','VerticalAlignment', 'bottom','Units','centimeters'); text(-4,14.5,Speed > 100kph and < 160kph','Color','y','FontSize',14,... 'FontWeight','bold','HorizontalAlignment','left','VerticalAlignment',... 'bottom','Units','centimeters'); text(-4,14,'Speed > 160kph','Color','r','FontSize',14,'FontWeight','bold',... 'HorizontalAlignment','left','VerticalAlignment', 'bottom','Units','centimeters'); Danke für eure Hlfe Grüße Thomas

Anpassung von Reflexionsfaktor

$
0
0
Moin, ich habe folgendes Problem: Ich habe mittels Netzwerkanalysator die Reflexionsparameter einer Antenne gemessen. Nun würde ich gerne ein Netzwerk aus Induktivitäten und Kapazitäten für die Anpassung der Antenne erstellen. Hierfür suche ich eine Funktion, welche es mir erlaubt das .s1p-File einzulesen und dieses mit einem vorgeschalteten Netzwerk zu kombinieren, damit ich die dabei resultierenden Reflexionsfaktoren (S11) im Smith-Diagramm darstellen kann. Toolboxen von Matlab sind alle vorhanden. Daran sollte es also auf jeden Fall nicht scheitern. Mit freundlichen Grüßen Christian Eggers

Popupmenu-String mit Exceldateinamen füllen

$
0
0
Hallo, ich würde solche Befehle generell in die OpeningFcn schreiben. Grüße, Harald
Viewing all 28358 articles
Browse latest View live




Latest Images