Plot Matrix Matlab at even spaces
이전 댓글 표시
I have a matrix A = [1000,1000] and i need to plot it at even spaces
Ex: The x axis have 1000 spaces from 1 to 1000.
The y axis have 1000 spaces from 0.5 to 500
the numbers on matrix A represent the position of each point in the z axis
For the first element of A there should be a point
(1,0.5,{1,1})
and thereafter...
(1,0.5,{1,1}) (1,1,{1,2}) (1,1.5,{1,3})...
(2,0.5,{2,1}) (2,1,{2,2}) (2,1.5,{2,3})...
(3,0.5,{3,1}) (3,1,{3,2}) (3,1.5,{3,3})...
In the end i would have a graphic containing 10^6 points
댓글 수: 2
per isakson
2015년 3월 27일
편집: per isakson
2015년 3월 27일
Is A a cell array?
A = [1000,1000] isn't consistent with the detailed description - or?
Matheus Nunes
2015년 3월 27일
편집: per isakson
2015년 3월 27일
답변 (1개)
Star Strider
2015년 3월 27일
0 개 추천
It seems that the linspace and meshgrid function will do what you want.
댓글 수: 2
Matheus Nunes
2015년 3월 27일
편집: per isakson
2015년 3월 27일
Star Strider
2015년 3월 27일
편집: Star Strider
2015년 3월 28일
If I understand your ‘A’ cell array correctly, you do not need the for loops to recover your matrix from your cell array. You probably can do it with one call to cell2mat.
For example:
a = randi(10, 10, 15); % Create Numerical Array
C = mat2cell(a, ones(1,10), 15); % Convert to (10x1) Cell Of (1x15) Double Vectors
A = cell2mat(C); % Create Double Matrix A From C
I would create your x and y matrices as:
x = linspace(1, 1000, 1000);
y = linspace(0.5, 500, 1000);
[X,Y] = meshgrid(x, y);
then use surf or mesh to plot them, such as:
figure(1)
surf(X, Y, A)
grid on
If that does not match up exactly with what you want ‘A’ to be with respect to ‘X’ and ‘Y’, transpose ‘A’:
figure(1)
surf(X, Y, A.')
grid on
카테고리
도움말 센터 및 File Exchange에서 Scatter Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!