2013-10-28 3 views
0

'안녕하세요, 제가 찾을 수있는 모든 것을 읽었으며 어떤 이유로 나는 여전히 구문에 어려움을 겪고 있습니다. GUI에서 4 개의 서브 플로트로 플롯하는 함수를 호출하고 있습니다. 내 문제는 내가 오류를 받고없는거야하지만 텍스트가 ...는 GUI의 메인 화면의 기능이 표시되지는 줄거리에 텍스트를 추가 :서브 플로트에 텍스트 값을 추가하는 방법은 무엇입니까?

function Main(varargin) 
ColorMap = cool(100); 
BackgroundColor = ColorMap(50,:); 
figure('Units','Normalized',... 
    'Position',[.06 .12 .88 .75],... 
    'Color',BackgroundColor,'NumberTitle','Off',... 
    'Menubar','None','Name','Rod Inputs') 
m1 = uimenu('label','File'); 
m2 = uimenu('label','Bending & Shear'); 
uimenu(m1,'Label','CHS Inputs','Callback',@CHS); 
uimenu(m2,'Label','Bending','Callback',@CantileverUDL); 
uimenu(m1,'Label','Exit','Callback',@Quit); 

계산기의 기능 :

function [M,V,dydx,y] = CantileverUDL(varargin) 
%% Cantilever with UDL 
% Suggested values: 
% w = 300; 
% EI = 60e6; 
% L = 4; 
input = inputdlg({'Length(m) = ',... 
    'w(N/m2) = ',... 
    'Flexural Stiffness(EI) = '}); 
n = str2double(input{1}); 
w = str2double(input{2}); 
EI = str2double(input{3}); 
L = (0:1/n:n)'; 
dydx = w.*L.^3/(6*EI); 
y = -w.*L.^4/(8*EI); 
M = w.*L.^2/2; 
V = w.*L; 
[maxdydx, idydx] = max(dydx); 
[maxy, iy] = max(-y); 
[maxM, iM] = max(M); 
[maxV, iV] = max(-V); 
figure(1) 
clf 
hold on 
grid on 
sp1 = subplot(4,1,1) 
plot(L,dydx,'r') 
title('Slope') 
t1 = text(idydx,maxdydx,['max slope = ', maxdydx],'Parent',sp1,'Units','Normalized'); 
set(t1,'HorizontalAlignment','center'); 
sp2 = subplot(4,1,2) 
plot(L,y,'b') 
title('Deflection') 
sp3 = subplot(4,1,3) 
plot(L,M,'k') 
title('Bending moment') 
sp4 = subplot(4,1,4) 
area(L,V) 
title('Shear force') 
end 

아무도 내가 여기서 잘못하고있는 것을 말할 수 있습니까? 그것은 나를 위해 해결할 수없는 실망한 문제입니다.

미리 감사드립니다!

답변

1

당신은 아마 당신의 코드에서 두 가지 문제가 있습니다

t1 = text(L(idydx),maxdydx,['max slope = ', maxdydx],'Parent',sp1); 

대신

t1 = text(idydx,maxdydx,['max slope = ', maxdydx],'Parent',sp1,'Units','Normalized'); 

원하는 :

    당신은 위치를 인덱스 대신 x 값을 사용하는
  1. 하여 텍스트
  2. 정규화 된 단위를 사용하고 있지만 사용자가 아닙니다. 귀하의 x 및 y 값을 정상화하십시오
+0

나는 그것을 놓친 것으로 믿을 수 없습니다 ... 귀하의 솔루션은 잘 작동합니다, 대단히 감사합니다! – richyo1000

관련 문제