Die Mathe-Redaktion - 15.12.2019 18:43 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte / Top 15
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
Listenpunkt? im neuen Schwätz
ListenpunktWerde Mathe-Millionär!
ListenpunktFormeleditor fedgeo
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 531 Gäste und 27 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von mire2 gaussmath
Mathematische Software & Apps » Matlab » MATLAB-PLOT wird nicht angezeigt
Druckversion
Druckversion
Autor
Universität/Hochschule J MATLAB-PLOT wird nicht angezeigt
matheben
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 13.07.2006
Mitteilungen: 1639
Aus: Schweiz
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2007-04-18


Hallo Leute

Ich habe nachfolgendes Programm, aus mir unerfindlichen Gründen wird die figure(2) nicht angezeigt, weiss vielleicht jemand weshalb??!


Gruss matheben


% Program 6.6 Animation program for bridge using IVP solver
% Inputs: inter = [a b] time interval,
%   ic = [y(1,1) y(1,2) y(1,3) y(1,4)],
%   h = stepsize, p = steps per point plotted
% Calls a one-step method such as trapstep.m
% Example usage: tacoma([0 1000],[0 0 0.001 0],.04,3);
function tacoma(inter,ic,h,p)
clf                                  % clear figure window
figure(1)
a=inter(1);b=inter(2);n=ceil((b-a)/(h*p));% plot n points
y(1,:)=ic;                           % enter initial conds in y
t(1)=a;len=6;
set(gca,'XLim',[-16 16],'YLim',[-16 16], ...
   'XTick',[-16 0 16],'YTick',[-16 0 16], ...
   'Drawmode','fast','Visible','on','NextPlot','add');
cla;                                 % clear screen
axis square                          % make aspect ratio 1 - 1
road=line('color','b','LineStyle','-','LineWidth',5,...
    'erase','xor','xdata',[],'ydata',[]);
lcable=line('color','r','LineStyle','-','LineWidth',1,...
    'erase','xor','xdata',[],'ydata',[]);
rcable=line('color','r','LineStyle','-','LineWidth',1,...
    'erase','xor','xdata',[],'ydata',[]);
for k=1:n
  for i=1:p
    t(i+1) = t(i)+h;
    y(i+1,:) = rungekutta(t(i),y(i,:),h);
  end
  y(1,:) = y(p+1,:);t(1)=t(p+1);
  tvector = t(1);
  z1(k)=y(1,1);z3(k)=y(1,3);
  c=len*cos(y(1,3));s=len*sin(y(1,3));
  set(road,'xdata',[-c c],'ydata',[-s-y(1,1) s-y(1,1)])
  set(lcable,'xdata',[-c -c],'ydata',[-s-y(1,1) 8])
  set(rcable,'xdata',[c c],'ydata',[s-y(1,1) 8])
  drawnow; pause(h)
end
figure(2)
plot(tvector,y(1,3),'g+--')

function y = trapstep(t,x,h)
%one step of the Trapezoid Method
z1=ydot(t,x);
g=x+h*z1;
z2=ydot(t+h,g);
y=x+h*(z1+z2)/2;

function y = rungekutta(t,x,h)
%one step of RK der Ordnung 4
z1=ydot(t,x);
z2=ydot(t+h/2,x+h*z1/2);
z3=ydot(t+h/2,x+h*z2/2);
z4=ydot(t+h,x+h*z3);
y=x+h*(z1+2*z2+2*z3+z4)/6;

function ydot=ydot(t,y)
len=6; a=0.2; W=80; omega=2*pi*38/60;
a1=exp(a*(y(1)-len*sin(y(3))));
a2=exp(a*(y(1)+len*sin(y(3))));
ydot(1) = y(2);
ydot(2) = -0.01*y(2)-0.4*(a1+a2-2)/a+0.2*W*sin(omega*t);
ydot(3) = y(4);
ydot(4) = -0.01*y(4)+1.2*cos(y(3))*(a1-a2)/(len*a);



  Profil  Quote  Link auf diesen Beitrag Link
kenpachi
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 20.06.2006
Mitteilungen: 135
Aus: hanau
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2007-04-18


hallo matheben,

wird bei dir gar keine Figure angezeigt oder nur leere Figure ?

mfG
kenpachi



  Profil  Quote  Link auf diesen Beitrag Link
matheben
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 13.07.2006
Mitteilungen: 1639
Aus: Schweiz
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2007-04-18


Nur die eine, die simulierte Brücke, aber nicht die Figur 2... Da wird einfach gar nichts angezeigt, nicht mal die leere...



  Profil  Quote  Link auf diesen Beitrag Link
kenpachi
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 20.06.2006
Mitteilungen: 135
Aus: hanau
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2007-04-18


und kommt auch keine Fehlermeldung ?

in Figure(2) du versucht ein einzigen Punkt auszuplotten oda ?
tvector besitzt nur ein einzigen Punkt, da tvector = t(1); ist

mfG
kenpachi



  Profil  Quote  Link auf diesen Beitrag Link
matheben
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 13.07.2006
Mitteilungen: 1639
Aus: Schweiz
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2007-04-18


hmm, das müsste wohl i heissen, ich möchte ja eigentlich jeweils den gerade aktuellen Punkt plotten. Nein es kommen keine Fehlermeldungen... Ich habe es mal hingebracht, als ich die figure in die for Schleife zog, aber dann flattert nur der Punkt umher, ich möchte jedoch einen Graph zeichnen lassen...



  Profil  Quote  Link auf diesen Beitrag Link
kenpachi
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 20.06.2006
Mitteilungen: 135
Aus: hanau
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2007-04-18


dann versuch mal mit :
matlab
figure('name','test figure')
hold on
for index = 1:100
t(index) = ....
y(index) = .....
plot(t(index),y(index),'b*')
end % end- for
 
hold off
 

müsste eigentlich gehen

mfG
kenpachi



  Profil  Quote  Link auf diesen Beitrag Link
matheben
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 13.07.2006
Mitteilungen: 1639
Aus: Schweiz
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, vom Themenstarter, eingetragen 2007-04-19


hallo,

erst mal vielen Dank für Deine Bemühungen, aber das klappt irgendwie auch nicht, es öffnet mir einfach kein Fenster in dem diese Figur angezeigt wird... nichts, einfach nichts, nur die Figur 1 wird angezeigt...??!??
[ Nachricht wurde editiert von matheben am 19.04.2007 18:59:57 ]



  Profil  Quote  Link auf diesen Beitrag Link
matheben
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 13.07.2006
Mitteilungen: 1639
Aus: Schweiz
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, vom Themenstarter, eingetragen 2007-04-19


Okay, ich habs hinbekommen, das Fenster wird einzeln angezeigt, aber wie krieg ich nun noch hin, dass der Punkt nicht nur umher springt, sondern ein Graph gezeichnet wird?

Mein Programmcode sieht wie folgt aus:


fed-Code einblenden



  Profil  Quote  Link auf diesen Beitrag Link
elmio
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 31.01.2007
Mitteilungen: 559
Aus: verschiede Orte, D
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, eingetragen 2007-04-19


Hallo, hab mich nochmal an deinem Programm zu schaffen gemacht. Das ist auch nicht die tollste Lösung, aber besser denke ich. Wenn du einen vollständigen Graph willst, dann müsstest du in komplett abspeichern und danach plotten.

Matlab
% Program 6.6 Animation program for bridge using IVP solver
% Inputs: inter = [a b] time interval, 
%   ic = [y(1,1) y(1,2) y(1,3) y(1,4)],
%   h = stepsize, p = steps per point plotted
% Calls a one-step method such as trapstep.m
% Example usage: tacoma([0 1000],[0 0 0.001 0],.04,3);
function tacoma(inter,ic,h,p)
h1=figure;clf 
h2=figure;clf 
figure(h1)
a=inter(1);b=inter(2);n=ceil((b-a)/(h*p));% plot n points
y(1,:)=ic;                           % enter initial conds in y
t(1)=a;len=6;
set(gca,'XLim',[-16 16],'YLim',[-16 16], ...
   'XTick',[-16 0 16],'YTick',[-16 0 16], ...
   'Drawmode','fast','Visible','on','NextPlot','add');
cla;                                 % clear screen
axis square                          % make aspect ratio 1 - 1
road=line('color','b','LineStyle','-','LineWidth',5,...
    'erase','xor','xdata',[],'ydata',[]);
lcable=line('color','r','LineStyle','-','LineWidth',1,...
    'erase','xor','xdata',[],'ydata',[]);
rcable=line('color','r','LineStyle','-','LineWidth',1,...
    'erase','xor','xdata',[],'ydata',[]);
for k=1:n
  for i=1:p
    t(i+1) = t(i)+h;
    y(i+1,:) = rungekutta(t(i),y(i,:),h);
  end
  y(1,:) = y(p+1,:);t(1)=t(p+1);
  tvector = t(1);
  z1(k)=y(1,1);z3(k)=y(1,3);
  c=len*cos(y(1,3));s=len*sin(y(1,3));
  set(road,'xdata',[-c c],'ydata',[-s-y(1,1) s-y(1,1)])
  set(lcable,'xdata',[-c -c],'ydata',[-s-y(1,1) 8])
  set(rcable,'xdata',[c c],'ydata',[s-y(1,1) 8])
  drawnow; pause(h)
  figure(h2)
  hold on 
  plot(tvector,y(1,3),'g+--')
  hold off
  figure(h1)
end
 
function y = trapstep(t,x,h)
%one step of the Trapezoid Method
z1=ydot(t,x);
g=x+h*z1;
z2=ydot(t+h,g);
y=x+h*(z1+z2)/2;
 
function y = rungekutta(t,x,h)
%one step of RK der Ordnung 4
z1=ydot(t,x);
z2=ydot(t+h/2,x+h*z1/2);
z3=ydot(t+h/2,x+h*z2/2);
z4=ydot(t+h,x+h*z3);
y=x+h*(z1+2*z2+2*z3+z4)/6;
 
function ydot=ydot(t,y)
len=6; a=0.2; W=80; omega=2*pi*38/60;
a1=exp(a*(y(1)-len*sin(y(3))));
a2=exp(a*(y(1)+len*sin(y(3))));
ydot(1) = y(2);
ydot(2) = -0.01*y(2)-0.4*(a1+a2-2)/a+0.2*W*sin(omega*t);
ydot(3) = y(4);
ydot(4) = -0.01*y(4)+1.2*cos(y(3))*(a1-a2)/(len*a);


[Die Antwort wurde nach Beitrag No.6 begonnen.]



  Profil  Quote  Link auf diesen Beitrag Link
matheben
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 13.07.2006
Mitteilungen: 1639
Aus: Schweiz
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.9, vom Themenstarter, eingetragen 2007-04-19


Hey, ich habe da mal ein bisschen rumgefummelt und erhalte nun folgendes:

;-)

Hmm, also wie man das mit dem MATLAB Code macht, dass er so schön erscheint, kapier ich immer noch nicht...:-(

% Program 6.6 Animation program for bridge using IVP solver
% Inputs: inter = [a b] time interval,
%   ic = [y(1,1) y(1,2) y(1,3) y(1,4)],
%   h = stepsize, p = steps per point plotted
% Calls a one-step method such as trapstep.m
% Example usage: tacoma([0 1000],[0 0 0.001 0],.04,3);
function tacoma(inter,ic,h,p)
clf                                  % clear figure window
figure(1)
a=inter(1);b=inter(2);n=ceil((b-a)/(h*p));% plot n points
y(1,:)=ic;                           % enter initial conds in y
t(1)=a;len=6;
set(gca,'XLim',[-16 16],'YLim',[-16 16], ...
   'XTick',[-16 0 16],'YTick',[-16 0 16], ...
   'Drawmode','fast','Visible','on','NextPlot','add');
cla;                                 % clear screen
axis square                          % make aspect ratio 1 - 1
road=line('color','b','LineStyle','-','LineWidth',5,...
    'erase','xor','xdata',[],'ydata',[]);
lcable=line('color','r','LineStyle','-','LineWidth',1,...
    'erase','xor','xdata',[],'ydata',[]);
rcable=line('color','r','LineStyle','-','LineWidth',1,...
    'erase','xor','xdata',[],'ydata',[]);
for k=1:n
  for i=1:p
    t(i+1) = t(i)+h;
    y(i+1,:) = rungekutta(t(i),y(i,:),h);
   
  end
  y(1,:) = y(p+1,:);t(1)=t(p+1);
  tvector = t(i);
  z1(k)=y(1,1);z3(k)=y(1,3);
  c=len*cos(y(1,3));s=len*sin(y(1,3));
figure(2)
  plot(tvector,z1(k),'g.--');
  set(gca,'XLim',[0 100],'YLim',[-16 16], ...
   'XTick',[0 100],'YTick',[-16 0 16], ...
   'Drawmode','fast','Visible','on','NextPlot','add');
figure(3)
  plot(tvector,z3(k),'y.--');
  set(gca,'XLim',[0 100],'YLim',[-0.5 0.5], ...
   'XTick',[0 100],'YTick',[-0.5 0 0.5], ...
   'Drawmode','fast','Visible','on','NextPlot','add');
  set(road,'xdata',[-c c],'ydata',[-s-y(1,1) s-y(1,1)])
  set(lcable,'xdata',[-c -c],'ydata',[-s-y(1,1) 8])
  set(rcable,'xdata',[c c],'ydata',[s-y(1,1) 8])
  drawnow; pause(h)
end


function y = trapstep(t,x,h)
%one step of the Trapezoid Method
z1=ydot(t,x);
g=x+h*z1;
z2=ydot(t+h,g);
y=x+h*(z1+z2)/2;

function y = rungekutta(t,x,h)
%one step of RK der Ordnung 4
z1=ydot(t,x);
z2=ydot(t+h/2,x+h*z1/2);
z3=ydot(t+h/2,x+h*z2/2);
z4=ydot(t+h,x+h*z3);
y=x+h*(z1+2*z2+2*z3+z4)/6;


function ydot=ydot(t,y)
len=6; a=0.2; W=80; omega=2*pi*38/60;
a1=exp(a*(y(1)-len*sin(y(3))));
a2=exp(a*(y(1)+len*sin(y(3))));
ydot(1) = y(2);
ydot(2) = -0.01*y(2)-0.4*(a1+a2-2)/a+0.2*W*sin(omega*t);
ydot(3) = y(4);
ydot(4) = -0.01*y(4)+1.2*cos(y(3))*(a1-a2)/(len*a);



  Profil  Quote  Link auf diesen Beitrag Link
elmio
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 31.01.2007
Mitteilungen: 559
Aus: verschiede Orte, D
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.10, eingetragen 2007-04-19


ja das sieht nett aus.
achso, wenn du graphen statt punkte willst, bau doch einfach was ein wie
matlab
plot([told t],[yold y]); %hold on oder deine add konstruktion?
told=t
yold=y

achso: einfach unten auf Quelltextbereich klicken, dann siehts so schön aus :)



  Profil  Quote  Link auf diesen Beitrag Link
matheben
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 13.07.2006
Mitteilungen: 1639
Aus: Schweiz
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.11, vom Themenstarter, eingetragen 2007-04-19


achso;-)
Danke

matheben


P.S. Ich hake den Thread mal noch nicht ab, die Aufgabe ist noch nicht vorbei, vielleicht kommt nochmal was;-)



  Profil  Quote  Link auf diesen Beitrag Link
matheben
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 13.07.2006
Mitteilungen: 1639
Aus: Schweiz
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.12, vom Themenstarter, eingetragen 2007-04-20


und weiter gehts;-)

Ich möchte gerne einen bestimmten Wert ausgeben, einfach ganz am Ende, wo muss ich die Ausgabe platzieren, gleich nach dem zweiten end wird sie nicht ausgegeben, ganz am Ende, erscheint eine Fehlermeldung und in der Schleife wird sie dauernd ausgegeben...



  Profil  Quote  Link auf diesen Beitrag Link
matheben hat die Antworten auf ihre/seine Frage gesehen.
matheben hat selbst das Ok-Häkchen gesetzt.
Neues Thema [Neues Thema]  Druckversion [Druckversion]

 


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-2019 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. 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]