Filter löschen
Filter löschen

Plotting surf figure, with 2 matrix and one vector. Position/Force over time.

1 Ansicht (letzte 30 Tage)
Trying to plot the below, but am getteing a wierd looking figure shape, does anybody know why?
set(gcf,'Renderer','painters')
figure (1)
surf(MatDecendingPosition, tid,MatDecendingForce)
where "tid" is a time vector, while "MatDecendingPosition" and "MatDecendingForce" are 2 3x220 matrix. Attached the value. Best regards Anders Mahler

Akzeptierte Antwort

Star Strider
Star Strider am 31 Okt. 2014
If you want force and position as functions of time, I would use plot3 rather than surf:
figure(1)
plot3(MatDecendingPosition, MatDecendingForce, tid)
grid on
xlabel('Position')
ylabel('Force')
zlabel('Time')
The position-force plot produces an interesting surface:
figure(2)
mesh(MatDecendingPosition, MatDecendingForce)
grid on
xlabel('Position')
ylabel('Force')
Your data are discontinuous, so it will likely be impossible to produce a smooth surface over the entire range of your data.

Weitere Antworten (2)

Orion
Orion am 31 Okt. 2014
Bearbeitet: Orion am 31 Okt. 2014
when you use surf, you want to see a surface Z according two others datas X, Y.
surf(X,Y,Z) means you will surf the matrix Z against the matrices of the same size X,Y (or the vectors X,Y), see meshgrid too convert vectors to matrices in order to surf.
Seeing your data (and your question), I think you want to do
figure;
subplot(211)
plot(tid',MatDecendingForce)
title('Force');
xlabel('time');
subplot(212)
plot(tid',MatDecendingPosition)
title('Position');
xlabel('time');
  1 Kommentar
Anders Mahler
Anders Mahler am 31 Okt. 2014
Thanks, but i am using it to show a force increase over time, in rehap, for injured people, so i really need it to be a 3D plot :-)

Melden Sie sich an, um zu kommentieren.


Orion
Orion am 31 Okt. 2014
ok, so you want to use plot3 ?
figure;
Colors = {'b','r','g'};
for i=1:3
plot3(tid',MatDecendingPosition(:,i),MatDecendingForce(:,i),Colors{i});
hold on;
end
xlabel('time');
ylabel('Position');
zlabel('Force');
grid
legend('result 1','result 2','result 3')

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by