Saving a matrix from a function file
Show older comments
Hi, I have created a function file and I need one of the values from the middle of that function file to plot it against time.
That function file is in a continuous loop, but when I save that one particular matrix it saves only the first value and plots a straight line against time. I cant figure out how I can create a plot with the varying value for that variable
This is the command that I am using to save that matrix. 'x', 'y' and 'z' are all variables. 'x' changes with time.
F = x*y + z;
save('F.mat','F');
Do i use a while loop or something else?
Answers (3)
Mischa Kim
on 14 Jan 2014
Edited: Mischa Kim
on 14 Jan 2014
Could you share more of your code to see what exactly is happening, maybe as an attachment (see paper clip)?
Note, that in the above code F is a scalar, not a matrix. To make it a matrix (or vector) use (e.g.)
for ii = 1:n
...
F(ii) = x(ii)*y + z;
...
end
assuming that x is a vector and y a scalar.
David Sanchez
on 14 Jan 2014
Use dot notation to operate with arrays:
x = rand(10,1);
y = rand(10,1);
z = rand(10,1);
F = x.*y + z; % MIND THE DOT
save('F.mat','F');
F =
0.5858
0.6918
0.8671
0.1993
0.1371
0.9017
1.2694
0.5453
1.2593
0.2498
Aakar
on 14 Jan 2014
0 votes
1 Comment
Mischa Kim
on 14 Jan 2014
Just attach (paper clip icon) your code as a whole to your question.
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!