I want vector surface plot

조회 수: 3 (최근 30일)
stelios loizidis
stelios loizidis 2022년 5월 30일
답변: Star Strider 2022년 5월 30일
Hello,
I have three vectors: Prices:1X30, Position:1X30 and Quantity:1X30 and I want to do the surface plot. I get the following error:
"Z must be a matrix, not a scalar or vector."
Your help is important.
  댓글 수: 2
KSSV
KSSV 2022년 5월 30일
As Prices, Position, Quantity are three vectors, you cannot have a surface plot. You need to have one matrix of size 30x30 to have a surface plot.
stelios loizidis
stelios loizidis 2022년 5월 30일
Do you think it's right to do the 30x30 matrix with these three vectors?

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

답변 (2개)

KSSV
KSSV 2022년 5월 30일
Prices = 1:30 ;
Position = 1:30 ;
Quantity = rand(1,30) ;
Quantity = repmat(Quantity,30,1) ;
surf(Prices,Position,Quantity)

Star Strider
Star Strider 2022년 5월 30일
I am not certain what result you want.
Try this —
Prices = rand(1,30); % Use Actual Vector
Position = rand(1,30); % Use Actual Vector
Quantity = rand(1,30); % Use Actual Vector
Prv = linspace(min(Prices), max(Prices), numel(Prices));
Psv = linspace(min(Position), max(Position), numel(Position));
[Pr,Ps] = ndgrid(Prv,Psv);
Qt = griddata(Prices(:),Position(:),Quantity(:),Pr,Ps);
figure
surfc(Pr, Ps, Qt)
grid on
xlabel('Prices')
ylabel('Position')
zlabel('Quantity')
.

카테고리

Help CenterFile Exchange에서 Polygons에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by