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

Matlab Klausur

 

Zorosch
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 22.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.03.2013, 18:26     Titel: Matlab Klausur
  Antworten mit Zitat      
Hallo Leute, ich schreibe am Mittwoch eine Klausur in Matlab und bin programmiertechnisch nicht der beste. ich wollte fragen ob jemand mir bei den fehlern helfen kann.
Code:

function [ Erg ] = Tu_Was
clc;
Vari=['a''b''c''d'];
func='ax^b+c*cos(dx)';
[a,b,c,d]=Hole(Func,Vari,Erg)
[x,fval,exitflag]=fminsearch(@FNT(a,b,c,d,x),0);
if exitflag==0
    fprinf('\nDas gefundene xlautet: %f0.2\n',x);
    Erg=x;
else
    fprintf('\nEs konnte keine Lösung gefunden werden!');
    Erg=[];
end
xK=-10;0.01;15;
yK=FKT(a,b,c,d,x);
surf(xK,yK);
end

function [Erg]=FKT(a,b,c,d,x)
ax^b+c*cos(dx)=Erg;
end

functinon (a,b,c,d)=Hole[g,An]
fprintf('Bitte geben Sie die Parameter der Funktion %s' \n,g);
fprintf('Bitte der Reihe nach ein!\n\n');
Werte=0;
i=1;
while i<=Max(size(An))
    fprinf('Bitte geben Sie %s', An(i));
    Werte[i]=input ('ein>');
    i=i+1;
end
a=Werte(1);
b=Werte(2);
c=Werte(3);
d=Werte(4);
end

ich habe ein paar fehler gefunden aber nicht alle. kann mir jemand die richtige programmierung zeigen?
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.03.2013, 23:48     Titel:
  Antworten mit Zitat      
Hallo,

ich sag das ungern, aber wo soll man hier anfangen?

Im MATLAB Editor gibt es den Code Analyzer, der Syntaxfehler rot markiert.

Zeile 6: Function Handles dürfen so nicht definiert werden. Richtig ist:
Code:
[x,fval,exitflag]=fminsearch(@(x) FNT(a,b,c,d,x),0);

Dass die Funktion, die du unten definierst, FKT und nicht FNT heißt, sollte dir selber auffallen. Dazu muss man auch kein Programmiergenie sein.

Zeile 19: Bei einer Zuweisung muss die Variable, in die was geschrieben werden soll, auf der linken Seite stehen. Wie soll MATLAB zwischen zwei miteinander zu multiplizierenden Variablen d und x und einer Variable dx unterscheiden, wenn du nicht mal ein Leerzeichen, geschweige denn ein * setzt? Richtig:
Code:
Erg = a*x^b+c*cos(d*x)


Zeile 23: in Zeile 19 ist es dir gelungen, eine Funktion syntaktisch korrekt zu definieren. Also solltest du es auch in dieser Zeile schaffen. Achte darauf, dass eine Funktion mit der erwarteten Anzahl Eingabeparameter aufgerufen werden muss (vgl. Zeile 6).

Ich kann nur raten, noch sehr viel zu üben, ansonsten sehe ich für die Klausur dunkelschwarz.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Zorosch
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 22.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2013, 03:36     Titel:
  Antworten mit Zitat      
danke dir, wie gebe ich in Zeile 23 das richtig ein? also das war ein lückentext. wo finde ich hier noch mehr solcher texte, wo man die fehler suchen kann? ich kann das programmieren absolut gar nicht und beschäftige mich seit wochen damit, aber leider ohne erflog
Private Nachricht senden Benutzer-Profile anzeigen
 
Zorosch
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 22.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2013, 03:43     Titel:
  Antworten mit Zitat      
also ich lade mal meine komplette klausuren hoch, ich bin leider schon zwei mal durchgefallen, weil ich gar nicht programmieren kann, bzw. es nicht verstehe. vielleicht kann mir hier jemand helfen wie ich mich am besten für meine klausur vorbereiten kann.
Ich bin im letzten verusch und habe schon nach einem Nachhilflehrer gesucht, aber leider niemanden gefunden.

2_TERMIN_WS11.pdf
 Beschreibung:

Download
 Dateiname:  2_TERMIN_WS11.pdf
 Dateigröße:  136.49 KB
 Heruntergeladen:  639 mal
1_TERMIN_WS12_Internetversion.pdf
 Beschreibung:

Download
 Dateiname:  1_TERMIN_WS12_Internetversion.pdf
 Dateigröße:  219.25 KB
 Heruntergeladen:  634 mal
1_TERMIN_WS11.pdf
 Beschreibung:

Download
 Dateiname:  1_TERMIN_WS11.pdf
 Dateigröße:  320.69 KB
 Heruntergeladen:  834 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.03.2013, 10:19     Titel:
  Antworten mit Zitat      
Hallo,

Eingabeargumente sind immer in runden Klammern, Ausgabeargumente in eckigen Klammern. Zeile 23 also:

Code:
functinon [a,b,c,d]=Hole(g,An)


Es ist allerdings nicht sinnvoll, g als Eingabeparameter zu übergeben und in der nächsten Zeile händisch eingeben zu lassen. Hier muss man sich für eines von beiden entscheiden.

Solche Lückentexte gibt es hier meines Wissens nicht.

Du kannst ja mal versuchen, ob du hier unter "Programmieraufträge" jemand bei dir in der Gegend findet, der dir bei der Vorbereitung hilft. Bis Mittwoch ist allerdings schon sehr kurzfristig.

Grüße,
Harald
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.