Matroids Matheplanet Forum Index
Moderiert von mire2
Mathematische Software & Apps » Matlab » Darstellung als Float
Autor
Universität/Hochschule Darstellung als Float
munto
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.05.2020
Mitteilungen: 41
  Themenstart: 2021-08-04

Hi ich habe ein Darstelungsproblem. vieleiht kann mir ja jemand helfen Ich habe 2. variabel Liste. Das Format dieser beiden Variable ist, 512402x1 double und 512402x1 double ich möchte diese beiden Variabel. mit eineraner, in einer neuen Variabeln Multiplitizeren. Code: PM= I .* V; Es wird auch gerechnet und ich bekomme dann eine Ausgabe. als Format : PM, 512402x1 double , im workspace angezeigt. aber wenn ich dann die Variablen liste aufrufe, Dann werden mir unterschidliche zahelnformate angezeigt. Da werden mir Zahlen als Gleikomerzahl angezeigt,so wie ich es haben möchte. aber dann werden mir andere Zahlen, genau in dieser Liste. Als expotenzialschreibweise, also als 234123e+03 Wie bekomme ich es hin, das ich diese zaheln, als auch Gleitkomerzahl angezeigt werden, in dieser Liste. Habe es schon mit umkonventiuweurng, in andere Formate, zu konverietren mit format short, und auch andere Formate ausporbiert aber am ende, werden sie mir nicht als Gleikomerzahl angezeigt. Könnte mir jemand sagen, was ich falsch mache?


   Profil
Diophant
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 18.01.2019
Mitteilungen: 7679
Wohnort: Rosenfeld, BW
  Beitrag No.1, eingetragen 2021-08-04

Hallo, wenn dir 5 signifikante Stellen ausreichen, probiere \sourceon Matlab format short g \sourceoff aus. Dann wird die Exponentialschreibweise nur noch in den Fällen verwendet, wenn es nicht anders geht. Sonst ginge auch \sourceon Matlab format long g \sourceoff Gruß, Diophant


   Profil
munto
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.05.2020
Mitteilungen: 41
  Beitrag No.2, vom Themenstarter, eingetragen 2021-08-04

Habe ich versucht. aber hat nicht funktioniert. aber hatte nur fortmat short verwendet, vieleicht lag da mein fehler


   Profil
Diophant
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 18.01.2019
Mitteilungen: 7679
Wohnort: Rosenfeld, BW
  Beitrag No.3, eingetragen 2021-08-04

Hallo, \quoteon(2021-08-04 19:38 - munto in Beitrag No. 2) Habe ich versucht. aber hat nicht funktioniert. aber hatte nur fortmat short verwendet, vieleicht lag da mein fehler \quoteoff was hast du versucht, das nicht funktioniert hat? Das 'g' hinter short bzw. long macht jedenfalls einen Unterschied. Wenn du dich ein wenig mehr auf dein eigentliches Anliegen fokussieren und alles, was du an Matlab-Code postest, in einen solchen Quelltextbereich schreiben könntest, dann würde man eventuell besser verstehen, was dein Anliegen ist. Gruß, Diophant


   Profil
munto
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.05.2020
Mitteilungen: 41
  Beitrag No.4, vom Themenstarter, eingetragen 2021-08-04

Ich will mit Matlab, etwas automatiseren, Art berechnung eines Solarmoduls. Das ich dann in die Liste nachsheen, kann, wie viel Sonnenstrahlung,das solar moduls aufgenommen hat, etc. zu meiner Programierung. \sourceon nameDerSprache format long g DatenModul = readtable('Moduldaten.csv','ReadVariableNames',false); % Excel Tabelle Moduldaten wird importiert %TStempel=Daten_Modul{:,1}; % Die timestamp , spalte wird ausgelesen und in der Variable TStempel gespeichert. Pein=DatenModul{:,2};% Die P Einstrahlung , spalte wird ausgelesen und in der Variable Pein gespeichert. Voc=DatenModul{:,3}; % Voc [V] spalte wird ausgelesen und in der Variable Voc gespeichert. Isc=DatenModul{:,4}; % Isc(A) spalte wird ausgelesen und in der Variable Isc gespeichert. Impp=DatenModul{:,5}; % Impp(A) spalte wird ausgelesen und in der Variable Impp gespeichert. Vmpp=DatenModul{:,6}; % Vmpp [V] spalte wird ausgelesen und in der Variable Vmpp gespeichert. I=str2double(Impp); % Impp(A) wird für die berechnung in das Format double ,in die Variable I, umcodiert V=str2double(Vmpp); %Vmpp [V] wird für die berechnung in das Format double ,in die Variable V, umcodiert Pein_D=str2double(Pein);%Pein wird für die berechnung in das Format double ,in die Variable Pein_D, umcodiert %Pein_N=hex2decImpl (Pein);%Pein wird für die berechnung in das Format double ,in die Variable Pein_D, umcodiert PM= I .* V ; % es wird die Leistung zu jedem strom-spannungs wert(Zeitpunkt)/Tag des Solarmoduls wird bereechnet und in der Variable PM abgespeichert. PM2 = double(PM); A=1.6* 1^2; % Es wird der einstrahlungs koefizent berechnet Pin=A.*Pein_D; % Wert für Bestrahlung des Solarmoduls wird berechnet. %Wirk=PM / Pin; % Der Wirkungsgrad ,für jeden tag wird berechnet \sourceoff wenn ich jetz zb in die variable liste schaue. dann steht an Postion 421:29.9700 und an Position:422:3.3000e+03 Evtl sind in meiner Berehnung fehler, aber das ist erstmal egal, da ich das mit der Darstellung hinbekomen möchte.


   Profil
Diophant
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 18.01.2019
Mitteilungen: 7679
Wohnort: Rosenfeld, BW
  Beitrag No.5, eingetragen 2021-08-04

Hallo, das war eventuell mein Fehler (da ich mit Octave arbeite, nicht mit Matlab). In Matlab schreibt man diese Optionen anscheinend so: \sourceon Matlab format shortG \sourceoff bzw. \sourceon Matlab format longG \sourceoff Probiere es einmal so, ansonsten befrage die Dokumentation des Programms. Gruß, Diophant


   Profil
munto
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.05.2020
Mitteilungen: 41
  Beitrag No.6, vom Themenstarter, eingetragen 2021-08-05

Immer noch das selbe. aber trozdem danke für die Hilfe. aber habe gelesen, das der Befehl Format, nur für die ausgabe, des Comand windows ist. nicht dafür. wenn in einer Varible, die man durch doppel klick ausführen lässt.das DArstellugnsforamt ändern lässt.


   Profil
Diophant
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 18.01.2019
Mitteilungen: 7679
Wohnort: Rosenfeld, BW
  Beitrag No.7, eingetragen 2021-08-05

Hallo, ich glaube, jetzt verstehe ich das Problem. Du betrachtest die Liste im Workspace, im Befehlsfenster hast du ja überall die Ausgabe unterdrückt? In Octave hat der format-Befehl auf die Darstellung im Workspace keinerlei Einfluss, sondern er beeinflusst nur die Ausgabe im Befehlsfenster. Ich nehme dann einmal an, dass dies in Matlab ebenso ist, weiß es aber nicht mit 100% Sicherheit. Gruß, Diophant


   Profil
munto
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.05.2020
Mitteilungen: 41
  Beitrag No.8, vom Themenstarter, eingetragen 2021-08-05

Ja genau, und ich hätte es gerne, das in dieser Wokspace liste. alle zahlen richtig dargestelt werden. und nicht einige als expotenzial schreibweise, mit + zehner potenz. kann man das nciht irgenwie einstellen, das er es nicht macht. Die betrachtet Variable ist im Format double abgespeichert.


   Profil
Diophant
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 18.01.2019
Mitteilungen: 7679
Wohnort: Rosenfeld, BW
  Beitrag No.9, eingetragen 2021-08-05

Hallo, es gibt ein offizielles (englischsprachiges) Matlab-Forum. Dort habe ich auf die Schnelle diesen Thread gefunden, der deine Frage beantworten sollte. Gruß, Diophant


   Profil
munto
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.05.2020
Mitteilungen: 41
  Beitrag No.10, vom Themenstarter, eingetragen 2021-08-05

Habe es jetz herausgefunden bin auf dieser seite gestoßen, ,habe mir gedacht, "lass die werte mal auf , 2 nachkommerstellen runden, und speicher sie in einer neeune variable ab, und schon hat es funktioniert. und auf dieser seite wurde es erklärt. hier


   Profil
Diophant
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 18.01.2019
Mitteilungen: 7679
Wohnort: Rosenfeld, BW
  Beitrag No.11, eingetragen 2021-08-05

Hallo, damit änderst du aber die Genauigkeit, mit der die Werte gespeichert werden, das ist dir hoffentlich klar? In dem von mir verlinkten Thread ist dagegen von einer Möglichkeit die Rede, mit der man per Programm-Einstellung die Darstellung im Workspace beeinflussen kann. Ich kann das nicht nachprüfen, da Octave diese Möglichkeit nicht besitzt (zumindest meine derzeitige Version nicht). Jedenfalls bliebe damit die Genauigkeit der gespeicherten Werte erhalten. Gruß, Diophant


   Profil
munto
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 05.05.2020
Mitteilungen: 41
  Beitrag No.12, vom Themenstarter, eingetragen 2021-08-05

Habe nachgeschaut, die Werte bleiben gleich, nur die werte, wo mit e+... stand, haben sich im normalken, format geäandert. mit diesem Befehl. PM2=round(PM,2) Er soll die liste von der variable PM nehmen, runden, und dann in der variable PM2 speichertn. Aber er rundet nicht auf 2 nachkommerstellen, mit deisem befehl. wie ich es erkant habe. aber ist okay, hauptsache die Dartellung ist richtig.


   Profil
munto hat die Antworten auf ihre/seine Frage gesehen.

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-2021 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]