Saving a matrix from a function file

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?

回答(3 个)

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.
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
Aakar 2014-1-14
Thanks for your replies. I understand the overall concept of vectors and arrays. I am still not being able to save the different values of F as it is within a function file. Even if I run a 'for loop' in it, the value still will remain the same.
x is obtained from a ODE solver and it calls this function. So the value of x changes once every cycle. Therefore the value of F should change every cycle.
I am sorry, I wont be able to share more of the code as there are a lot variables and scalar values.

1 个评论

Just attach (paper clip icon) your code as a whole to your question.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Annotations 的更多信息

提问:

2014-1-14

评论:

2014-1-14

Community Treasure Hunt

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

Start Hunting!

Translated by