MATLAB中的交互方法

MATLAB中的交互方法,matlab,Matlab,我有一个方程,我需要输入一个值,然后用这个值计算一些方程 最后,我需要检查该值是否在某个公差范围内。如果不是,我需要输入一个新值,然后用这个新值再次计算方程 有人能帮我吗 我试过这样做 我需要输入“Tin”并计算“Tw”。最后,我需要检查Tw和“Tb”之间的平均值是否低于10%。如果不是,我需要为“Tave”输入一个新值 清除 全部关闭 Tin=输入(“输入T”); D=5; t=0.362; E=2.9e07; ws=17.9148297590378; R=1448.88; alfa=1.96

我有一个方程,我需要输入一个值,然后用这个值计算一些方程

最后,我需要检查该值是否在某个公差范围内。如果不是,我需要输入一个新值,然后用这个新值再次计算方程

有人能帮我吗

我试过这样做

我需要输入“Tin”并计算“Tw”。最后,我需要检查Tw和“Tb”之间的平均值是否低于10%。如果不是,我需要为“Tave”输入一个新值

清除
全部关闭
Tin=输入(“输入T”);
D=5;
t=0.362;
E=2.9e07;
ws=17.9148297590378;
R=1448.88;
alfa=1.96;
h=R*(1-(cos(α/2));
I=pi*(D-t)*(D-t)*(D-t)*t/8;
teta=19.45;
L=495.73;
conv=teta*pi/180;
mis=0.3;
密耳=0.05;
阻力=12*pi*D*L*mil;
Tb=8.89e4;
G=锡;
对于i=1:100
G(i)=锡(i);
J=sqrt(E*I/G(I));
U=12*L/J;
X=3*L-(J/2)*tanh(U/2);
Y=18*L*L-J*J*(1-(1/cos(U/2));
N=(12*G(i)*h-(ws/12)*cos(teta)*Y)/X;
frictc=N*mis;
ter=ws*L*sin(conv);
deltac=2*Frict+DRAG-ter;
Tw=deltac+Tb;
Tave(i)=(Tw+Tb)/2;
如果Tave(i)>G(i)+G(i)*0.1
G(i)=Tave(i);

elseif Tave2(i)您的代码有什么具体问题?使用repeat直到条件结束\u repeat并将代码写入其中。
clear
close all

Tin=input('Input T');       


D=5;                     
t=0.362;                 
E=2.9e07;                
ws=17.9148297590378;  
R=1448.88;               
alfa=1.96;      

h=R*(1-(cos(alfa/2)));   
I=pi*(D-t)*(D-t)*(D-t)*t/8; 
teta=19.45;   
L=495.73;          
conv=teta*pi/180;          
mis=0.3;   
mil=0.05;                  
DRAG= 12*pi*D*L*mil;   

Tb=8.89e4;

G=Tin;

for i=1:100
  G(i)=Tin(i);
  J=sqrt(E*I/G(i));
  U=12*L/J;
  X=3*L-(J/2)*tanh(U/2);
  Y=18*L*L-J*J*(1-(1/cos(U/2)));
  N=(12*G(i)*h-(ws/12)*cos(teta)*Y)/X;  
  frictc=N*mis;
  ter=ws*L*sin(conv);
  deltac=2*frictc+DRAG-ter;   

  Tw=deltac+Tb;

  Tave(i)=(Tw+Tb)/2;

  if Tave(i)>G(i)+G(i)*0.1
    G(i)=Tave(i);
   elseif Tave2(i)<G(i)-G(i)*0.1
        G(i)=Tave2(i);
    else
        display(Tave2(i));
    end
end