0
mesh()로 작성된 표면을 따라가는 3 차원 플롯에 참조 선을 추가하고 싶습니다. 나는 x 축과 y 축에서 3 점을 만들어 선을 구성하므로 z 축 좌표를 찾기 위해 보간을해야합니다.MATLAB : 3D 플롯에 선 추가
acceleration_dB = [0 109.3699 118.0084 133.9584 104.3017 110.5423 120.6332 140.6567 144.4194 129.7292]';
frequency = [1 50 50 50 100 100 100 100 100 500]';
voltage = [ 1.0e-04 * 0.0001 0.0968 0.1645 0.2983 0.0278 0.0368 0.0893 0.2785 0.4928 0.0780 ]';
xlin=linspace(0, max(frequency),33);
ylin=linspace(min(acceleration_dB), max(acceleration_dB),33);
[X, Y] = meshgrid(xlin,ylin);
f = scatteredInterpolant(frequency,acceleration_dB,log(voltage));
Z=f(X,Y);
figure();
mesh(X,Y,Z);
hold on
% Add threshold reference line
threshAccel = [97.0870 104.4212 109.5787]
threshFreq = [50 100 500]
Zthresh=f(threshFreq,threshAccel);
plot3(threshFreq,threshAccel,Zthresh,'Color','black','LineWidth',1)
제공 : 내가 좋아하는 것이 무엇
는 전체 길이 표면의 평면을 다음과 검은 색 라인 여기에 지금까지 (재현 데이터) 내 코드입니다 x 축.
모든 조언을 주시면 감사하겠습니다. 고맙습니다!
이 줄을 만들어야하는 좌표는 x 축과 y 축에서 [10, 97.0870] [100, 104.4212] [500, 109.5787]입니다. 이 선을 주파수 축 (0 - 500)의 최소 한도에서 벗어나고 3D 표면의 릴리프를 따르기 위해 확장하고 싶습니다. – user3406207
'threshAccel'과'threshFreq'에 포인트를 더 추가하려고 했습니까? – shamalaia
네, 그렇게해야 할 것 같습니다. 즉, 'threshAccel'과'threshFreq'에 더 많은 포인트를 추가하고 z 평면에서 해당 좌표를 얻으십시오. (실제로 그 라인은 메시 위에'떠 다니는 '것이 아닙니다. 하지만 어떻게 해야할지 모르겠다. 어떤 종류의 3D 보간? – user3406207