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 Schleifenbasierte Matrix

 

Harald
Forum-Meister

Forum-Meister


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

Zitat:
So müsste es bis jetzt alles richtig sein oder?

Was soll das "a-c" nach dem else?

Zitat:
Was ist der nächste Schritt?

In der Aufgabenstellung weiterlesen?

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen


Matlabnoob1232

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2021, 01:34     Titel:
  Antworten mit Zitat      
Achso also kann das a-c dort weg?

Also eigentlich haben wir alles oder ich könnte jetzt testen? Dafür muss in der workspace die Werte eingeben oder? Aber wie mache ich das in Kombination mit der Funktion?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.05.2021, 07:17     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Achso also kann das a-c dort weg?

Ja.

Zitat:
Also eigentlich haben wir alles oder ich könnte jetzt testen?

Ja.

Zitat:
Dafür muss in der workspace die Werte eingeben oder?

Genauer gesagt im Command Window oder in einem Skript.

Zitat:
Aber wie mache ich das in Kombination mit der Funktion?

Variablen anlegen, Funktion aufrufen. Im genannten Link findest du Beispiele dazu.

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlabnoob1232

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2021, 11:18     Titel:
  Antworten mit Zitat      
Ich krieg es leider nicht hin. Am Ende muss ich zwei Dateien haben einmal matrix.m und testMatrix.m Hab es mit dem Beipsiel probiert und Im Editor am Ende save matrix.m geschrieben um es dann im Command Window aufzurufen aber da kommt die ganze Zeit "meinen sie ismatrix"
 
Matlabnoob1232

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2021, 14:04     Titel:
  Antworten mit Zitat      
Das ist testMatrix.m diese funktioniert, wenn ich auf Run klicke aber wie krieg ich den Abstand zwischen den Buchstaben größer?

Code:
clear all
close all
clc
a='a';
b='b';
c='c';
n=5;

M = matrix(a,b,c,n);
disp(M)
)
 


Das ist matrix.m, wenn ich auf Run klicke kommt folgende Fehlermeldung:
Not enough input arguments.

Error in matrix (line 3)
for row = 1:n

Code:
function [A] = matrix(a,b,c,n)
   
for row = 1:n
     for col = 1:n
          if row==col    % eine Bedingung
              A(row, col) = a;   % hier etwas hin schreiben
          elseif row>col
              A(row, col) = c;   % da etwas anderes hin schreiben
          else
              A(row, col) = b;   % da etwas anderes hin schreibe
          end
     end
end

 


Bräuchte noch kleine Verbesserungen und das mit error und dem Abbruch verstehe ich noch nicht so ganz.
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
aber wie krieg ich den Abstand zwischen den Buchstaben größer?

Warum übergibst du überhaupt Buchstaben statt der in der Aufgabenstellung verlangten Werte?

Wenn du Buchstaben übergeben willst: ein naheliegender Weg, den Abstand zu vergrößern, ist das Einfügen von Leerzeichen.

Zitat:
Das ist matrix.m, wenn ich auf Run klicke kommt folgende Fehlermeldung
Not enough input arguments.

Es ist nicht sinnvoll, bei einer Funktion auf "Run" zu klicken. Die Funktion braucht ja Eingabeargumente, und wenn du auf "Run" klickst, bekommt sie keine - also nicht genug.

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlabnoob1232

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2021, 19:18     Titel:
  Antworten mit Zitat      
Zitat:
aber wie krieg ich den Abstand zwischen den Buchstaben größer?

Warum übergibst du überhaupt Buchstaben statt der in der Aufgabenstellung verlangten Werte?

Weil in der Matrix ja Buchstaben stehen müssen dachte ich dass ich es so machen muss oder kann ich das anders machen?

Meinen sie die Aufgabe ist so jetzt komplett oder muss ich noch was ändern?
 
Harald
Forum-Meister

Forum-Meister


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

ich kann nur empfehlen, die Aufgabenstellung genau zu lesen
Zitat:
Testen Sie Ihre Funktion mit den Zahlen n=5, a=1; b=2, c=3 und geben Sie die Matrix M mit disp aus.

Das ist für mich sehr eindeutig.

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlabnoob1232

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2021, 19:58     Titel:
  Antworten mit Zitat      
Code:
clear all
close all
clc
a=1;
b=2;
c=3;
n=5;

M = matrix(a,b,c,n);
disp('Matrix M=')
disp(M)


Code:
function [A] = matrix(a,b,c,n)
   
for row = 1:n
     for col = 1:n
          if row==col               % eine Bedingung
              A(row, col) = a;      % hier etwas hin schreiben
          elseif row>col
              A(row, col) = c;      % da etwas anderes hin schreiben
          else
              A(row, col) = b;      % da etwas anderes hin schreibe
          end
     end
end

Stimmt, da haben sie Recht. Dann müsste es so richtig sein jetzt oder?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.05.2021, 20:44     Titel:
  Antworten mit Zitat      
Hallo,

ja. Die ursprünglich von mir stammenden Kommentare würde ich noch rauslöschen. Das war ja mehr Hilfestellung als eigentlicher Kommentar für den Code.

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlabnoob1232

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2021, 20:48     Titel:
  Antworten mit Zitat      
Alles klar. Vielen vielen vielen Dank für ihre Hilfe und auch Geduld. Sie haben mich gerettet und ich fands gut, dass sie nicht die Lösung gesagt haben, sondern Tipps gegeben haben. Sehr nett von ihnen!
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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 - 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.