Plot 3D matrix

조회 수: 1 (최근 30일)
James
James 2018년 11월 6일
댓글: madhan ravi 2018년 11월 9일
I have a 3D matrix containing values of potential between two charges for every x,y and z value so that I can find out the potential at any point by inputting three coordinates. The problem I'm having is I am unable to plot a 3D surface plot showing the potential.
I try and use surf() but the error says the value must be scalar, vector or numerical. I do have 2 inf values where the two charges lie, is this whats causing the problem and if so how do I get around it?
  댓글 수: 6
Jan
Jan 2018년 11월 9일
If you mention, that you get an error, please post a copy of the complete message. It is not possible that there is "another error", because Matlab stops at the first error already. "saying data dimensions dont agree" is less useful than a copy of the message, because then the readers do not have to guess in which line the error occurs.
Please post the relevant part of the code and a copy of the error message.
James
James 2018년 11월 9일
Error using surf (line 71) Data dimensions must agree.
Error in coursw (line 84) surf(X3,Y3,d)

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

채택된 답변

madhan ravi
madhan ravi 2018년 11월 9일
편집: madhan ravi 2018년 11월 9일
load matlab.mat
[X3,Y3] = meshgrid((-4.5:0.1:4.5),(-4.5:0.1:4.5));
for i = 1:81
figure()
surf(X3,Y3,d(:,:,i)) %likewise 1 to 81
end
  댓글 수: 4
James
James 2018년 11월 9일
It produces 81 plots of what it should look like, but each of them change the surface shape very slightly.
madhan ravi
madhan ravi 2018년 11월 9일
So there’s nothing wrong in it James because the data points vary in each page of d that’s why there is slight change nothing to worry about it

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by