two variables for same coordinate

조회 수: 2 (최근 30일)
pooja sudha
pooja sudha 2021년 5월 16일
댓글: pooja sudha 2021년 5월 27일
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

채택된 답변

Image Analyst
Image Analyst 2021년 5월 16일
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
Image Analyst
Image Analyst 2021년 5월 18일
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.
pooja sudha
pooja sudha 2021년 5월 27일
Hey Thankyou. It worked

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

pooja sudha
pooja sudha 2021년 5월 19일
please find the attached code.
here i computed for I-dimension & for 1-particle by using the potential V=1/sqrt(r^2+constant^2) ,now same thing I'm trying to do for 2-particle by adding the coordinate for second particle in the potential like V=1/sqrt((r1-r2)^2+constant^2).
please help if you know about this.
Thank you

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by