|
|
|
Tabelle im Editor darstellen; Werte interpolieren |
|
| David79 |

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 31.08.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.08.2011, 20:02
Titel: Tabelle im Editor darstellen; Werte interpolieren
|
 |
| |
 |
|
Hallo,
ich habe gleich zwei Fragen zur Programmierung im Matlab Editor und hoffe, dass Ihr mit weiterhelfen könnt! Bislang konnte ich noch keine Lösung finden...
Folgendes Problem:
ich versuche im Matlab Editor eine Tabelle abzubilden die aus 2 Spalten und 10 Zeilen besteht.
Sie sieht wie folgt aus:
b.............a(b)
-------------------
0,00.......1,0000
0,05.......0,91388
0,10.......0,83274
" "
" "
0,45.......0,39883
Frage 1: Kann man eine solche Tabelle im Matlab Editor abbilden? Wenn ja, wie muss man programmieren?
Im zweiten Schritt muss die Formel:
b=x/(2*sqrt(a*t))
berechnet werden. Die Parameter a und t wurden initialisiert und bleiben konstant. Der Parameter x variiert zwischen 1 und 10, Schrittweite=1
x= linespace (1,10,10)
Demnach werden für b 10 Werte berechnet.
Schritt 3:
Im letzten Schritt muss dem b-Wert ein a-Wert aus der oben definierten Tabelle zugewiesen und ausgeworfen werden werden.
a(b)=b
Wie muss man programmieren, wenn man die a-Ergebnisse in einem Diagramm darstellen möchte? Kann man den Wert a(b) interpolieren, falls dieser zwischen den vorgegebenen Werten liegt?
Es wäre super, wenn Ihr mir weiterhelfen könntet. ich bekomme es einfach nicht hin, wenn mehrere Werte im Spiel sind...
Vielen Dank für Eure Hilfe!!!
_Peter_: Bitte keine Doppelpostings! Danke.
|
|
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.09.2011, 13:04
Titel: Re: Tabelle im Editor darstellen; Werte interpolieren
|
 |
Hallo David79,
Bist Du inzwischen weitergekommen oder hat sich das Problem erledigt?
Zumindest dfies ist in Matlab nicht möglich: "a(b)=b". Im Ausdruck "a(b)" muss der Index b immer ganzzahlig positiv sein.
Gruß, Jan
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.09.2011, 14:11
Titel:
|
 |
Hallo David79,
Wenn ich dich richtig verstehe, willst du einfach nur die Tabelle abspeichern?
Tabellen können in Matlab als Array eingegeben werden:
Soll ein Vektor punktweise durch einen Wert geteilt werden, so wird in Matlab ein Punkt vor das Rechenzeichen gesetzt:
b=x./(2*sqrt(a*t))
statt linspace klappt auch:
falls du mit Diagramm eine Funktion meinst, hilft der plot Befehl.
Ich hoffe, die Anmerkungen helfen dir. Du könntest auch die Matlabhilfe zu Arrays anschauen.
Viele Grüße
Nighty
|
|
|
|
| David79 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 31.08.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.09.2011, 18:39
Titel:
|
 |
Hallo Jan, Nighty,
vielen Dank für Eure Rückmeldung. Ja, ich bin weitergekommen und habe eine Lösung gefunden. Die Tabelle habe ich wie Nighty beschrieben über ein Array eingegeben.
Die Werte der zweiten Spalte ebenfalls über ein Array.
Die Anschließende Interpolation wurde mit
ausgeführt. Vielen Dank für Eure Hilfe!
Gruß, David
|
|
|
|
| David79 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 31.08.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.09.2011, 19:08
Titel:
|
 |
Nichtsdestotrotz hat sich eine weitere Frage aufgetan.
In die Formel
sollen 10 Werte zwischen 1 und 10 liegend eingesetzt, berechnet und ausgegeben werden.
Ich habe versucht das Problem wie folgt zu lösen:
die berechneten Werte werden mir leider nicht angezeigt, Fehlermeldung / es wird nur ein Wert berechnet und ausgeworfen.
Die 10 Werte sollen in eine weitere Formel übergeben, berechnet und grafisch dargestellt werden. Die Grafik habe ich hinbekommen, allerdings nur mit einem Wert.
Was mache ich falsch? Hab Ihr vielleicht noch mal einen kleinen Tipp?
Gruß, David
|
|
|
|
| BlackDread |

Forum-Century
|
 |
Beiträge: 212
|
 |
|
 |
Anmeldedatum: 11.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2015a
|
 |
|
|
 |
|
Verfasst am: 09.09.2011, 10:18
Titel:
|
 |
Hallo David,
sind a und t ebenfalls vektoren?
Dann musst du nämlich noch Punkte vor * und / machen, um eine elementweise Multiplikation/Division zu erhalten
Gruß Chris
|
|
|
|
| _Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 09.09.2011, 14:02
Titel:
|
 |
| David79 hat Folgendes geschrieben: |
die berechneten Werte werden mir leider nicht angezeigt, Fehlermeldung / es wird nur ein Wert berechnet und ausgeworfen. |
Schau dir mal im Command Window genau an was du für "X=1:10:10" bekommst.
Du meinst bestimmt:
--------------------------------------------
p.s.: Hättest du in deinem anderen Thread mal geschaut, hättest du dies bereits von Jan erfahren:
| Jan S hat Folgendes geschrieben: |
Hallo David79,
Dann schau Dir doch mal an, was dies ergibt:
Code: x = 1:10:10
Ich nehme an, Du meinst:
Code: x = 1:10
Hilft das erst mal weiter?
Gruß, Jan |
Deshalb sind Doppelposting nicht erwünscht.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|