2010-10-24 12 views
0

Voici une partie de mon code dans lequel j'entre le nom du fichier .mat, situé dans le même dossier que mon code. Cependant, il ne permet pas d'identifier le nom du fichier et donne une erreur:Erreur lors de l'utilisation de la commande load pour ouvrir le fichier .mat dans Matlab

« ??? erreur en utilisant ==> charge

Impossible de lire le fichier « q.mat »: Aucun fichier ou répertoire. »

q_type=input('Do you want to use q from "A", "B" or from a saved .mat file? Enter the exact name: ','s'); 
q_type=mat2str([q_type'.mat']) 
load(q_type) 

Cependant, si j'utilise la commande de charge dans la fenêtre de commande directement suivre, il ne donne aucune erreur et charge le fichier:

load('q_A.mat')

Pourquoi fait-il comme ça?

+2

supprimez l'appel de fonction MAT2STR – Amro

+0

vous utilisez le nom de fichier sans son chemin, s'il n'est pas dans le chemin d'accès MATLAB alors MATLAB ne peut pas le trouver. Utilisez la fonction fullfile(). – Mikhail

+1

@Harpreet: au lieu des deux dernières lignes, utilisez: 'load ([q_MethodType '.mat'])'. Aussi j'ai posté une solution plus élégante ci-dessous ... – Amro

Répondre

3

est ici une solution plus conviviale en utilisant une boîte de dialogue modale:

[fileName pathName] = uigetfile({'*.mat' 'MAT-files (*.mat)'}, 'Load Data', '.'); 
if pathName == 0, error('No file selected'), end 
load(fullfile(pathName,fileName)) 

libre pour adapter au besoin.