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

sprintf - Ich verstehs einfach nicht

 

RomanVogt
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 25.03.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.04.2021, 17:14     Titel: sprintf - Ich verstehs einfach nicht
  Antworten mit Zitat      
Hallo miteinander,

ich bin grade an meiner Bachelorarbeit und muss an einen Simulator über Matlab die Einstellungen senden. Ich habe schon sehr lange Zeit an dem Problem vertrödelt.

Dieser Befehl funktioniert. Sobald ich aber anstatt 4,3,40 oder 45 eine Variabel eingeben will funktioniert es nicht. Das @2 sollte auch durch eine Variabel ersetzt werden, bzw. das 2.
Code:

fprintf(E4360A, sprintf('CURR:SAS:ISC 4,(@2);IMP 3,(@2);:VOLT:SAS:VMP 40,(@2); VOC 45,(@2)'))
 


Nun dachte ich mir dass ich vielleicht sowas machen kann
Code:

Zwischenhilfe=sprintf('CURR:SAS:ISC Isc,(@SAS);IMP 3,(@SAS);:VOLT:SAS:VMP Uein,(@SAS); VOC Uoc,(@SAS)')
fprintf(E4360A,Zwischenhilfe)
 


Ich bin morgen wieder im Labor und möchte wissen ob das nun so funktionieren wird. Vielleicht habt ihr aber auch andere Ideen? Falls euch das etwas bringt es geht um den SolarArraySimulator E4360A. Dabei geht es um die Seite 14 im Datenblatt, dass ich angehängt habe.


Gruss
RomanVogt

Datenblatt_E4360A.pdf
 Beschreibung:

Download
 Dateiname:  Datenblatt_E4360A.pdf
 Dateigröße:  1.49 MB
 Heruntergeladen:  403 mal
Private Nachricht senden Benutzer-Profile anzeigen


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 21.04.2021, 08:03     Titel:
  Antworten mit Zitat      
Möchtest du in deiner Ausgabe den VariablenNAMEN (SAS) oder den INHALT der Variablen ausgegeben haben?

Ersteres - den Variablennamen - machst du jetzt.
zweiteres geht nur, indem du den String anders zusammensetzt.
Denn ein String wird von Matlab nicht "verarbeitet", die enthaltendenen Variablennamen also einfach als Name mit ausgegeben.
Willst du auf den Wert zugreifen, muss du dies aus den Hochkommas "herausnehmen". Und wenn es eine Zahl ist, diese zusätzlich noch mit num2str in einen String umwandeln.
Das ganze dann mittels [ ] in einen String zusammenfassen.

Code:

fprintf(E4360A, sprintf( ['CURR:SAS:ISC 4,(@2);IMP 3,(@',num2str(SAS),');:VOLT:SAS:VMP 40,(@2); VOC 45,(@2)')] )
 

_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
RomanVogt
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 25.03.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2021, 12:51     Titel:
  Antworten mit Zitat      
Ich danke dir für die Antwort, es hat nun geklappt, wenn auch ein wenig anders. Falls andere auch noch die Lösung suchen:

Code:

"CURR:SAS:ISC"+sprintf(' %0.2f',Isc)+",(@"+sprintf('%d',SAShelp)+");IMP"+sprintf(' %0.2f',Ie)+",(@"+sprintf('%d',SAShelp)+");:VOLT:SAS:VMP"+sprintf(' %0.2f',Ue)+",(@"+sprintf('%d',SAShelp)+");VOC" +sprintf(' %0.2f',Voc)+",(@"+sprintf('%d',SAShelp)+")"
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 - 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.