简单的周期(索引)一个小问题

1视图(30天)
我有一个小问题中最后一个循环代码:
清晰的
clc
关闭所有
负载matlab_10.mat
init = 24500;
% %气体性质
k = 1.4;%气体常数比率,cp /简历()
R = 287.05;%理想气体常数(J /公斤* K)
p01 = 1 e5;%压缩机入口压力(Pa)
T01 = 303.35;%压缩机进气温度(K)
cp = 1005;%为恒压比热容,财产的气体(J /(公斤* K))
ro1 = 1.15;%气体密度(公斤/米^ 3)
误判率= 14.71;%的空气燃料比
% %水轮机的参数
A_eff = .03点;% (m ^ 2)
A_0 = A_eff / 6;
E_R = [1:0.001:4];%膨胀比
T_3 = 1173.15;%排气温度[K]
eta_t = 0.6;
% %压缩机的参数
eta_c = 0.95;
我= 0.001;%压缩机轴的惯性矩(公斤* m ^ 2)
mass_flow_compressor = 0.273675009794891;从格雷策% adimensional质量流量稳态(千克/秒)
% m_c = mass_flow_compressor * (ro1 * Ac * U);%实际压缩机的质量流量(千克/秒)
mass_flow_compressor_corrected = (mass_flow_compressor * (T01 ^ 0.5))。/ p01;% [m * * (k) ^ 0.5]
P_R = 2.591609007038750;%从Greeitzer压力比
p2 = P_R * p01;% (Pa)
% %
mass_flow_compressor_corrected = (mass_flow_compressor_corrected *的(1、长度(E_R)))。*(1 +(1. /误判率));
mass_flow_turbine_corrected = A_eff。* ((k / R)。^ 0.5)。* ((1. / E_R) ^ (1 / k))。* (((2. / k - 1) * (1 - (1. / E_R) ^ ((k - 1) / k))) * 0.5);
% mass_flow_corrected = (mass_flow)。* p01;
间= interp1 (mass_flow_turbine_corrected——mass_flow_compressor_corrected E_R 0);
y_ER = A_eff。* ((k / R)。^ 0.5)。*((1. /间)^ (1 / k))。* (((2. / k - 1) *(1 -(1. /间)^ ((k - 1) / k))) * 0.5);
图()
情节(E_R mass_flow_turbine_corrected,
E_R mass_flow_compressor_corrected,“线宽”3)
网格
网格
包含(“呃”)
传奇(“涡轮”,压缩机的)
ylabel (“m * * K ^ {0.5}’)
标题(“呃vs质量流”)
持有
情节(y_ER间,“pg”,“线宽”3)
持有
文本(间,y_ER sprintf (' \ \向上光标键\ nIntersection: \ nx \ \ _ = %。3 f \纽约\ \ _ = % .3f '间,y_ER),
“HorizontalAlignment”,“左”,“VerticalAlignment”,“高级”)
% %功率稳定的情况下
Pt = ((y_ER * p01)。/ (T01 ^ 0.5))。* eta_t。* (k . / (k - 1))。* r * T_3。*(1 -(1. /(间。^ ((k - 1) / k))));
电脑= ((y_ER * p01)。/ (T01 ^ 0.5))。* (1. / eta_c)。* (k . / (k - 1))。* r * T01。* ((p2. / p01)。^ ((k - 1) / k) 1);
% %脉动
mass_flow_compressor_vet = phi_10 (init:结束);
mass_flow_compressor_vet_corrected = (mass_flow_compressor_vet * (T01 ^ 0.5))。/ p01;% [m * * (k) ^ 0.5]
mass_flow_compressor_vet_corrected = mass_flow_compressor_vet_corrected *(1,长度(E_R)。*(1 +(1. /误判率));
i = 1:长度(phi_10 (init:结束)
%
x_ER_vet(我)= interp1 (mass_flow_turbine_corrected——mass_flow_compressor_vet_corrected(我,:),E_R, 0);
y_ER_vet(我)= A_eff。* ((k / R)。^ 0.5)。* ((1. / x_ER_vet(我,:))。^ (1 / k))。* (((2. / k - 1) * (1 - (1. / x_ER_vet(我,:))。^ ((k - 1) / k))) * 0.5);
%
% Pt_vet = ((y_ER_vet * p01)。/ (T01 ^ 0.5))。* eta_t。* (k . / (k - 1))。* r * T_3。* (1 - (1. / (x_ER_vet。^ ((k - 1) / k))));
% Pc_vet = ((y_ER_vet * p01)。/ (T01 ^ 0.5))。* (1. / eta_c)。* (k . / (k - 1))。* r * T01。* ((p2. / p01)。^ ((k - 1) / k) 1);
% omega_vet = (2。* ((Pt_vet-Pc_vet)。/ (I)) + 55000。^ 2)。^ 0.5;
结束
图()
情节(t_10 (init:结束),omega_vet,“线宽”3)
网格
网格
包含(“t [s]”)
传奇(“ω\”)
ylabel (“转”)
持有
标题(“ω\”)
我的问题是我有第一个ω,我们叫它ω(1),通过迭代,我需要找到其他人。
算法到纸楼我写前两个步骤是在下图中:(反正我已经写的代码在循环内的评论,我只是想念索引)

接受的答案

米金
米金 2021年1月5日
编辑:米金 2021年1月5日
那就这样吧:
omega_vet (1) = 55000;
i = 1:长度(phi_10 (init:结束)
x_ER_vet (i) = interp1 (mass_flow_turbine_corrected - mass_flow_compressor_vet_corrected(我),E_R, 0);
y_ER_vet (i) = A_eff。* ((k / R)。^ 0.5)。* ((1. / x_ER_vet(我)。^ (1 / k))。* (((2. / k - 1) * (1 - (1. / x_ER_vet(我)。^ ((k - 1) / k))) * 0.5);
Pt_vet (i) = ((y_ER_vet(我)。* p01)。/ (T01 ^ 0.5))。* eta_t。* (k . / (k - 1))。* r * T_3。* (1 - (1. / (x_ER_vet(我)。^ ((k - 1) / k))));
Pc_vet (i) = ((y_ER_vet(我)。* p01)。/ (T01 ^ 0.5))。* (1. / eta_c)。* (k . / (k - 1))。* r * T01。* ((p2. / p01)。^ ((k - 1) / k) 1);
omega_vet (i + 1) = (2。* ((Pt_vet (i) -Pc_vet(我)。/(我))+ omega_vet(我)。^ 2)。^ 0.5;
结束
图()
情节(t_10 (init:结束),omega_vet (1: end-1),“线宽”3)
2的评论
米金
米金 2021年1月5日
你是正确的。因为某些原因我错过了信息在你的论文。看到上面更新代码。注意,在最后的情节命令你需要考虑ω总是提前一个索引。所以你需要调整时间或ω向量的长度。

登录置评。

更多的答案(0)

标签

s manbetx 845


释放

R2014b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!