How to generate data?
Show older comments
Dear experts,
I have this code as below:
V = 10660:1:11700;
deltavB = 50:1:70;
VB = 1:1:81
a=V-VB(1); %% VB(2)....VB(81)
b=deltavB/2;
for i =1:length(b)
for j =1:length(a)
c(i,j) = (a(j)./b(i)).^2;
end
end
g = 1./(1+c);
As you can see the size of g is [21 1041] for VB(1)
I need to reapeat this for each value of VB which is 81 points, I suppose to have g [21 1041] for each value of VB
How can I do so and save it as whole data togother?
Thanks in advanced.
Accepted Answer
More Answers (1)
Walter Roberson
on 8 Nov 2022
V = 10660:1:11700;
deltavB = 50:1:70;
VB = 1:1:81
numV = length(V);
numdeltavB = length(deltavB);
numVB = length(VB);
g = zeros(numdeltavB, numV, numVB);
b=deltavB/2;
for VBidx = 1 : numVB
a = V - VB(VBidx);
for i = 1:numdeltavB
c(j,:) = (a./b(i)).^2;
end
g(:,:,VBidx) = 1./(1+c);
end
The for i loop could also be eliminated by using automatic expansion. Something like
c = (a./(b.')).^2;
but you should recheck the sizes.
1 Comment
Ali Najem
on 8 Nov 2022
Categories
Find more on MATLAB 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!