Use the input arguments to load user-defined .mat files(2xn matrix) in the function.
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Garvit Amipara
el 9 de Abr. de 2021
Comentada: Garvit Amipara
el 11 de Abr. de 2021
I am new to matlab
It is necessary to use the input arguments to load different .mat files(2xn matrix) each time the function is used by a user. The number of .mat files to be processed inside the function are also changing, so I used varargout and varargin. For each input, there are 2 output vectors.
As input arguments in varargin can be called by varargin{1}, varargin{2}... I tried to use it to load the files. It did not work.
For example, 2 files that should be executed are Data1.mat, Data2.mat
Outputs will be Ans1,Ans2,Ans3,Ans4.
So I used the following command for the function file (that is saved as Data_function.m)
[Ans1,Ans2,Ans3,Ans4]= Data_function (Data1, Data2)
function varargout = Data(varargin)
A= load ('varargin{1}'); %to load first inputargument file name
Ans1 = A(:,1).*3; %just for example
Ans2 = A(:,2).*4;
B= load ('varargin{2}') %to load first inputargument file name
Ans3 = A(:,1).*3;
Ans4 = A(:,2).*4;
end
This gives an erro: Unable to read file 'varargin{1}'. No such file or directory.
(The files Data1 and Data2 are in the current folder, where the function is saved)
It would be a great help if you could show the right way to load multiple files.
0 comentarios
Respuesta aceptada
Walter Roberson
el 9 de Abr. de 2021
Editada: Walter Roberson
el 9 de Abr. de 2021
A= load (varargin{1}); %to load first inputargument file name
This assumes that when you called
[Ans1,Ans2,Ans3,Ans4]= Data_function (Data1, Data2)
that Data1 is a variable containing a character vector or string scalar that contains a file name.
3 comentarios
Walter Roberson
el 9 de Abr. de 2021
As I understand from your answer, using varargin to input a .mat file is wrong(?)
No, varargin to input a .mat file is fine. Your problem is that when you call
[Ans1,Ans2,Ans3,Ans4]= Data_function (Data1, Data2)
that your Data1 is not a character vector or string scalar at that point in the code.
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!