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
아무도 내가 여기서 잘못하고있는 것을 말할 수 있습니까? 그것은 나를 위해 해결할 수없는 실망한 문제입니다.
미리 감사드립니다!
나는 그것을 놓친 것으로 믿을 수 없습니다 ... 귀하의 솔루션은 잘 작동합니다, 대단히 감사합니다! – richyo1000