two variables for same coordinate
1 view (last 30 days)
Show older comments
pooja sudha
on 16 May 2021
Commented: pooja sudha
on 27 May 2021
Hey,
I have this potential V=1/4*pi*epsilon*sqrt(((r1-r2)^2)+const.^2).
I solved for V =1/4*pi*epsilon*r using finite difference method but I'm unable to understand how to vary two variables for same axis. I have tried to do using different different loop for both parameters but can't find the solutions.
please help
0 Comments
Accepted Answer
Image Analyst
on 16 May 2021
Pooja: You can use either meshgrid() or for loops. Below I show you both ways.
const = 2;
epsilon = 3;
maxR1 = 5.5;
maxR2 = 7.4;
% Define size of output matrix.
rows = 5;
columns = 4;
% Get x and y coordinates at each (y, x) location.
R1 = linspace(1, maxR1, columns); % x
R2 = linspace(1, maxR2, rows); % y
% Method 1 : vectorized using meshgrid()
[r1, r2] = meshgrid(R1, R2)
V = (1/4) * pi * epsilon * sqrt(((r1-r2).^2)+const ^ 2)
% Method 2 : for loops
V = zeros(rows, columns);
for col = 1 : columns
r1 = R1(col);
for row = 1 : rows
r2 = R2(row);
V(row, col) = (1/4) * pi * epsilon * sqrt(((r1-r2).^2)+const ^ 2);
end
end
V
fprintf('Done running %s.m ...\n', mfilename);
4 Comments
Image Analyst
on 18 May 2021
No, why would it? I have only 2 for loops, not 4. I scan the values of r1 and r2 to get every possible combination. Then I compute the V for that combination of r1 and r2. V is not really an image, it's more like a table of values where the rows represent different r2 values and the columns represent different r1 values. There is not really an x and y like you'd think of in an image. There really are no "coordinates" in this situation. Like I said, it's more like a table or chart of values for the variety of r1 and r2 you might encounter.
If this is not what you want, then perhaps you need to provide a diagram showing what's going on.
More Answers (1)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!