2010-02-20 17 views
9

Ich benutze MATLAB, um Daten aus Dateien zu verarbeiten. Ich schreibe ein Programm, das Eingaben vom Benutzer nimmt und dann die bestimmten Dateien in dem Verzeichnis findet, das sie grafisch darstellt. Die Dateien werden genannt:MATLAB - Datei laden, deren Dateiname in einer Zeichenfolge gespeichert ist

{name} U {Rate}

{name} eine Zeichenfolge ist der Name des Computers darstellt. {Rate} ist eine Zahl. Hier ist mein Code:

%# get user to input name and rate 
NET_NAME = input('Enter the NET_NAME of the files: ', 's'); 
rate = input('Enter the rate of the files: '); 

U = strcat(NET_NAME, 'U', rate) 
load U; 

Ux = U(:,1); 
Uy = U(:,2); 

Derzeit gibt es zwei Probleme:

  1. Wenn ich die strcat mit 'Hallo' sagen, 'U' und die Rate ist 50, wird U speichern ‚helloU2 '- Wie kann ich strcat {rate} richtig anhängen?

  2. Die Load-Zeile - wie dereferenziere ich U, also lädt versucht, die in U gespeicherte Zeichenfolge zu laden?

Vielen Dank!

+4

1. Dateiname = sprintf ("% s.% D", Name, Rate)
2. fdata = laden (Dateiname) – Mikhail

+0

Danke. Das hat den Trick gemacht! – Mark

Antwort

8

Mikhails Kommentar oben löst Ihr unmittelbares Problem.

Ein benutzerfreundlicher Weg, um eine Datei auszuwählen:

[fileName,filePath] = uigetfile('*', 'Select data file', '.'); 
if filePath==0, error('None selected!'); end 
U = load(fullfile(filePath,fileName)); 
3

Neben der Verwendung von SPRINTF wie Mikhail vorgeschlagen, Sie auch Strings und numerische Werte, indem zuerst die numerischen Werte in Strings mit Funktionen kombinieren können wie NUM2STR und INT2STR:

U = [NET_NAME 'U' int2str(rate)]; 
data = load(U); %# Loads a .mat file with the name in U 

Ein Problem mit der Zeichenfolge in U ist, dass die Datei auf den MATLAB path oder in der aktuellen dire sein muss ctory. Ansonsten hat die Variable NET_NAME einen vollständigen oder teilweisen Pfad so enthalten:

NET_NAME = 'C:\My Documents\MATLAB\name'; %# A complete path 
NET_NAME = 'data\name'; %# data is a folder in the current directory 

Amro's suggestion der Verwendung UIGETFILE ideal ist, weil es Sie Ihnen einen vollständigen und korrekten Pfad zur Datei, um sicherzustellen, hilft haben.

Verwandte Themen