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

Signalzuweisung

 

wurzelinio
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 29.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2017, 09:59     Titel: Signalzuweisung
  Antworten mit Zitat      
Hallo,

kennt jmd. eine clevere Lösung für mein Problem?

Es liegen drei Signale im WS vor.
Eines davon wähle ich über die Auswahlliste aus.
Nun möchte ich dieses Signal (die Zahlenwerte) in eine neue Variable (Datenverarbeitung) übergeben, um in der Folge damit weiter zu arbeiten.

Aktuell übergebe ich zur Anschauung nur den richtigen Variablennamen.


Code:
%%  Program start
% R2014a
format compact
close all
clear
clc
%% Signale
Signal_1 =  0 :  1 : 10;
Signal_2 =  0 :  2 : 10;
Signal_3 = 10 : -1 :  0;

%% Auflistung
[s,v] = listdlg('PromptString','Select a file:',...
                'SelectionMode','single',...
                'ListString',who);
d = who;
%% Datenverarbeitung
Datenverarbeitung = d(s,1)



Bei der Auswahl des zweiten Signales folgt daraus die Ausgabe

Datenverarbeitung = 'Signal_2' im Command Window. Ich möchte aber

Datenverarbeitung = 0 2 4 6 8 10


Hat jmd. eine Idee?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

das alte Problem durchnumerierter Variablen.
Wenn du die Signale in einem Cell Array oder einer Struktur ablegst, kannst du per Indizierung darauf zugreifen. Ansonsten bleibt nur eval .

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 29.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2017, 14:00     Titel:
  Antworten mit Zitat      
Hallo Harald,

die Daten bekomme ich so von Extern.

Ähnlich wie in der angehängten Datei.

Habe noch ein bisschen rumprobiert aber ich schaffe es nicht auf die Zahlen zu zugreifen.

Hast du noch einen Tipp?


Code:
%%  Program start
% R2014a
format compact
close all
clear
clc

%% Signale in WS laden (jedes für sich)
load('Signale_von_Extern')

%% Auflistung (zeigt nur aktuellen WS Inhalt)
[s,v] = listdlg('PromptString','Select a file:',...
                'SelectionMode','single',...
                'InitialValue',2,... % Signal X ist beim Start ausgewählt
                'ListString',who);

d = who;
%% Datenverarbeitung
%  speichert Signale in strc Daten
Daten = load('Signale_von_Extern');

%% debugging infos (Signal_2 auswählen)
d{s}
fullfile(['Daten.',d{s}])

Daten.Signal_2 % das will ich
Datenverarbeitung = {fullfile(['Daten.',d{s}])} % das bekomme ich


Signale_von_Extern.mat
 Beschreibung:

Download
 Dateiname:  Signale_von_Extern.mat
 Dateigröße:  306 Bytes
 Heruntergeladen:  227 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.08.2017, 14:13     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
die Daten bekomme ich so von Extern.

Jein. Du bekommst eine .mat-Datei mit den Signalen, aber man muss sie ja nicht auf diese Art laden. Du hattest in deinem Code sogar schon den richtigen Ansatz drin.

Code:
%% Signale in WS laden (jedes für sich)
Daten = load('Signale_von_Extern');
flds = fields(Daten);

%% Auflistung (zeigt nur aktuellen Struct Inhalt)
[s,v] = listdlg('PromptString','Select a file:',...
                'SelectionMode','single',...
                'InitialValue',2,... % Signal X ist beim Start ausgewählt
                'ListString', flds);

%% Signal_2 auswählen
Datenverarbeitung = Daten.(flds{s})


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