Matroids Matheplanet Forum Index
Moderiert von mire2
Mathematische Software & Apps » Matlab » Umsetzung in Matlab
Autor
Universität/Hochschule Umsetzung in Matlab
Drgglbchr
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 15.11.2019
Mitteilungen: 189
  Themenstart: 2020-09-09

Hallo Leute! Ich bräuchte bitte Hilfe bei der Umsetzung folgender Matrix in Matlab: https://matheplanet.com/matheplanet/nuke/html/uploads/b/52213_Bildschirmfoto_2020-09-09_um_10.58.51.png (dies sollen die Einträge der 3x3-Matrix sein) Lg Drgglbchr


   Profil
Drgglbchr
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 15.11.2019
Mitteilungen: 189
  Beitrag No.1, vom Themenstarter, eingetragen 2020-09-09

\sourceon Matlab theta = 0.5; p1=vertex(element(elementNr).vertex(1)).coor; p2=vertex(element(elementNr).vertex(2)).coor; p3=vertex(element(elementNr).vertex(3)).coor; a =p1; a1 =p2-p1; a2 =p3-p1; a11=((a2.*a2)+(a1.*a1)-2*(a1.*a2))/(2*(a1.*a2*sin(theta))); a12=(-(a2.*a2)+(a1.*a2))/(2*(a1.*a2*sin(theta))); a13=(-(a1.*a1)+(a1.*a2))/(2*(a1.*a2*sin(theta))); a21=zeros(2,2); a22= ((a2.*a2))/(2*(a1.*a2*sin(theta))); a23=(-a1.*a2)/(2*(a1.*a2*sin(theta))); a31= zeros(2,2); a32 =zeros(2,2); a33=((a1.*a1))/(2*(a1.*a2*sin(theta))); aelem=[a11 a12 a13;a21 a22 a23;a31 a32 a33]; \sourceoff das wäre meine Idee... aber ich bin mir nicht sicher, ob es passt... bzw ob eine 3x3 matrix herauskommt


   Profil
rlk
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 16.03.2007
Mitteilungen: 11602
Wohnort: Wien
  Beitrag No.2, eingetragen 2020-09-10

Hallo Drgglbchr, Du kannst die Größe von aelem mit \sourceon Matlab size(aelem) \sourceoff nachprüfen. Die Zuweisungen zu den Elementen a21, a31 und a32 sehen falsch aus. Mein ungetesteter Vorschlag: \sourceon Matlab aloc = zeros(3, 3); %% a1 und a2 sind Zeilenvektoren aus \IR^2 denom = 2 * norm(cross([a1, 0], [a2, 0])); a1a2 = dot(a1, a2); aloc(1, 1) = (norm(a1)^2 + norm(a2)^2 -2 * a1a2) / denom; %% die anderen Elemente analog \sourceoff Ich hoffe, das hilft Dir, Roland


   Profil
Drgglbchr
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 15.11.2019
Mitteilungen: 189
  Beitrag No.3, vom Themenstarter, eingetragen 2020-09-11

Vielen Dank für deine Hilfe rlk! :) Eine Frage hätte ich noch: Wie kann ich in Matlab mehrere Kurven in ein Diagramm einzeichnen? :) Das ist meine Aufgabenstellung: 1 Bild: loglog-Skaliert, x-Achse = Dimension von V_h = length(u); 4 Kurven: a+b) Fehler in H1-Seminorm + globaler Fehlerschätzer von u_h, uniforme Gitterverfeinerung, a+d) wie a+b) aber adaptive Gitterverfeinerung (für ein geeignet gewählten Dörflermarking-Parameter) In dieses Bild zwei Steigungsdreiecke zeichen. Steigung für a+b) muss (-)1/3 sein, für c+d) (-1)1/2 wenn Dörflermarking-Parameter hinreichend klein


   Profil
Delastelle
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 17.11.2006
Mitteilungen: 2315
  Beitrag No.4, eingetragen 2020-09-11

Hallo Drgglbchr! \quoteon(2020-09-11 00:16 - Drgglbchr in Beitrag No. 3) Eine Frage hätte ich noch: Wie kann ich in Matlab mehrere Kurven in ein Diagramm einzeichnen? :) \quoteoff Da müsste hold on/hold off helfen... Viele Grüße Ronald


   Profil
Krugman
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 23.05.2006
Mitteilungen: 355
Wohnort: Weil am Rhein
  Beitrag No.5, eingetragen 2020-09-14

Hallo, \sourceon Matlab % Variante A (schnell) hold on; plot(...) plot(...) plot(...) . . . hold off; % Variante B (klassisch) plot(x1,y1, x2,y2, ...) % farben werden automatisch generiert plot(x1,y1,'r', x2,y2,'b') % farben rot, blau \sourceoff Grüße


   Profil
Drgglbchr
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 15.11.2019
Mitteilungen: 189
  Beitrag No.6, vom Themenstarter, eingetragen 2020-09-14

Hallo Krugmann und Delastelle! Danke für euren Tipp! Ich habe hold on ausprobiert. Innerhalt einer Funktion kann ich 2 Kurven in eine Grafik zeichnen. Aber sobald ich die nächste Funktion öffne sind die Kurven weg.. Und ich muss die Fehlerkurven von dem uniformen L-shape example und dem adaptiven Lösungsverfahren (also 2 m-files) in eine Grafik packen.


   Profil
matNik
Junior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 28.02.2020
Mitteilungen: 20
Wohnort: Trausdorf a. d. Wulka, Österreich
  Beitrag No.7, eingetragen 2020-09-15

Hallo, Drgglbchr Kann es sein, dass du vielleicht ein close all in deinen m-files aufrufst. Das könnte erklären, warum deine Kurven verschwinden. Ein anderer Grund könnte sein, dass du beim zweiten m-file das hold on vergessen hast. Wenn du deine zwei m-files hintereinander ausführst und die Figure dazwischen nicht schließt bzw. keine neues Figure-Object erstellst und "hold on" vorm plot ausführst, müssten alle Kurven innerhalb einer Grafik sein. Grüße, Niki


   Profil
Folgende Antworten hat der Fragensteller vermutlich noch nicht gesehen.
Krugman
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 23.05.2006
Mitteilungen: 355
Wohnort: Weil am Rhein
  Beitrag No.8, eingetragen 2020-10-20

Hallo, das kann tatsächlich an verschiedenen Dingen liegen. z.B. 'close all' 'clf' usw Der einfachste Weg wäre, wenn du deine Berechnungen ohne 'plot' machst und ganz am Ende der Scripte erst den eigentlichen (deinen) Plot-Befehl dazu ausführst. Damit deine anderen Fenster (plots) nicht überschrieben werden, kannst du vor deinem Code zum plotten 'figure' einfügen. Das erstellt ein neues Fenster in welchem alle neuen Plots hinzugefügt werden. \sourceon Matlab % create dedicated figure for plotting without using existing plot-figure % close all; clear all; % create something to plot T = 2*pi; res = T/100; f = 2/T; x = 0:res:T; yg = zeros(1,length(x)); % calc & plot for i=1:5 % update calc f = i/T; y = sin(2*pi*f*x); yg = yg + y; % plot figure(); plot(x,y); end % all resuls figure(); plot(x,yg); \sourceoff Grüß Krugman


   Profil
Drgglbchr wird per Mail über neue Antworten informiert.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]