2013-12-18 6 views
1

У меня есть два файла .mat. И я хочу прочитать эти данные из двух файлов матов и сохранить в переменных A и B. Это мой код, но я думаю, что это не хорошо. Можете ли вы помочь мне сохранить его без использования matArray в matlab? (Varibale matArray рождается при вызове функции нагрузки)Как читать файл мата и хранить его в переменной

load input1.mat; 
    A=matArray; 
    load input2.mat; 
    B=matArray 

Спасибо большое

+1

Я думаю, что это правильный путь. В конце концов, переменная называлась 'matArray' при сохранении. – Noctua

ответ

2

Вы были правы. Имя переменной, которое у вас есть при сохранении файла, - это имя, которое будет отображаться в рабочей области, когда вы снова напишите файл load. Лучшее вы можете сделать:

load('input1.mat'); 
A=matArray; 
load('input2.mat'); 
B=matArray; 
clear matArray 

По крайней мере, вы получите пространство в конце. Там есть, насколько мне известно, нет «переименовать» функцию в Matlab ...

Конечно, если вы знаете, что вы хотите назвать переменную, когда вы читаете это, вы должны сохранить ее как таковую:

A = matArray; 
save('input1.mat', 'A'); 

etc

+0

Большое вам спасибо – user3051460

1

Используйте выходной аргумент с помощью функции load.

A = load('input1.mat'); 
B = load('input2.mat'); 

Два массива теперь будут поля структур A и B:

size(A.matArray); 
plot(B.matArray); 

Если вы решили скопировать их на более простые переменные, или придерживаться текущего копирования подхода, вы должны знать, что операция копирования чрезвычайно эффективна. Когда вы делаете A = matArray; Долирует данные matArray до тех пор, пока один из них не будет изменен. Поэтому, если вы удалите matArray до изменения A, дополнительная копия не будет потребляться копией.

Смежные вопросы