How to save these values in a matrix

3 次查看(过去 30 天)
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 个评论
Honglei Chen
Honglei Chen 2012-2-28
Please format your question
http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup

请先登录,再进行评论。

回答(1 个)

Honglei Chen
Honglei Chen 2012-2-28
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 个评论
Ahmed Hassaan
Ahmed Hassaan 2012-2-28
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 2012-2-28
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Function Creation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by