How to save these values in a matrix

3 views (last 30 days)
Ahmed Hassaan
Ahmed Hassaan on 28 Feb 2012
hello , example : clc;clear all;close all; a=variable;b=variable2; for i=1:0.1:10 for j=1:0.1:10 ax=i-a; ay=j-b; z=[ax ay]; end end this is a very simple example but the point is i want to save all the results of ax and ay in the Z in the workspace as a matrix not the last value of ax and ay , Thanks for your help :)
  1 Comment
Honglei Chen
Honglei Chen on 28 Feb 2012
Please format your question
http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup

Sign in to comment.

Answers (1)

Honglei Chen
Honglei Chen on 28 Feb 2012
Use a for loop and preallocate z, i.e., add
z = zeros(91*91,2)
at front and then replace the assignment to z with
clc;clear all;close all; a=1;b=2;
z = zeros(91*91,2);
i = 1:0.1:10;
j = 1:0.1:10;
for m = 1:numel(i)
for n = 1:numel(j)
ax=i(m)-a;
ay=j(n)-b;
z((m-1)*numel(i)+n,:) = [ax ay];
end
end
  4 Comments
Ahmed Hassaan
Ahmed Hassaan on 28 Feb 2012
thx for ur attention but it gives me the same error ,,anyway this is not the code im using its just an example ,
i just want to get z in the workspace as a table containing different values of variables in the for loop ,,
and this is the code :
close all;clear all;clc
r=1;L=3;N=3;RN=10;
k=-L/2:1.732*r:L/2;
A=mean(k);
for k=-L/2:1.732*r:L/2
ax=k-A;
ay=0;
r1=sqrt(3)*r/2;r2=(r/2);x=[ax ax+r1 ax+r1 ax ax-r1 ax-r1];y=[ay+r ay+r2 ay-r2 ay-r ay-r2 ay+r2];
fill(x,y,'g')
grid on ;
hold on
plot(ax,ay,'bo')
g=[ax ay]
end
I just want g to be contained the different values of ax & ay every loop ..
and thanks again :)
Honglei Chen
Honglei Chen on 28 Feb 2012
It's because of the precision, you can either round it, or specify all possible i's and j's and then iterate the number of elements. See the updated example.

Sign in to comment.

Categories

Find more on Function Creation 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!