Filter löschen
Filter löschen

save data from function to ws

7 Ansichten (letzte 30 Tage)
Bou
Bou am 20 Feb. 2014
Kommentiert: Bou am 20 Feb. 2014
Hello,
I want to save the data of a 8x1 matrix to the workspace from a function. However, the variables in the matrix change every time the function is called, while the name of the Matrix stays the same.
I tried assignin. This works well but now I want to create a matrix consisting of a row of 8x1 variables. I actually want the following;
assignin('base','Pars2(end+1,:)',Pars)
But this doesnt work.
Can anybody help me? Thanks in advance!
Greetings Boudewijn

Akzeptierte Antwort

Iain
Iain am 20 Feb. 2014
You have three options.
1. Use evalin or assignin correctly to put the variable into the base workspace.
2. Change your function to a script, and just directly work in the calling workspace.
3. Return everything you want your function to return, as an argument.
e.g.
function [cosine_result, sine_result, tangent_result] = trigfcns(angles)
cosine_result = cos(angles);
sine_result = sin(angles);
tangent_result = cosine_result ./ sine_result;
Then call your function like:
[cosses, sines, tans] = trigfcns([45 31 91 64]*pi/180);
From a programming quality/best practice point of view, the advice would be to just use the 3rd option. - Using varargout & nargout as ways of not returning optional output.
  1 Kommentar
Bou
Bou am 20 Feb. 2014
thanks for the help!
I finally created a global variable and did the following
global Pars2;
Pars2(end+1,1:length(Pars)) = Pars;
that did the job:)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Dishant Arora
Dishant Arora am 20 Feb. 2014
As the documentation suggests, 2nd parameter has to be only the variable name, it cannot have any indices. Better assign that value to a new variable in workspace and later on add it to existing matrix.
assign('base' , 'newVar', val);
existingMat(end+1,:)=newVar;

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by