logo资料库

对《发动机万有特性曲线matlab源程序》的注解、说明及学习.docx

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
本文是对《发动机万有特性曲线 matlab 源程序》的注解、说明及学习过程 的线性梳理与总结归纳,帮助看懂程序,适用于读不懂源程序、对程序指令不理 解的读者。为表达对原作者的尊重,删掉了最为重要的燃油消耗数据的加载。 源程序代码请从作者处下载,链接如下: https://download.csdn.net/download/juhaisan/4533874 以下为本文主要内容 基于《基于 MATLAB 的发动机万有特性曲线绘制方法》 本文参数: 发动机转速 n 有效扭矩 Ttq 和燃油消耗率 be(g/(kWh)) 主要实验数据关系: 外特性试验数据:转速与扭矩的关系。 负载特性实验数据:多组转速下,不同扭矩的燃油消耗。 通常的实验数据获取方法与读取关系: 由负载特性实验数据,得到多组转速、不同扭矩的燃油消耗值(其关系是燃 油消耗率 be 与转速 n 和平均有效压力 Pme 的函数),得到三维空间下的模型,通 过 contour 语句获得截面,即等效燃油消耗曲线。 Pe= Ttq n 9550,利用 interp1 进行拟合,得到函数 Pe= f(Ttq,n),绘制得到三维曲线, 利用 contour 命令得到的双曲线即是等功率曲线。 注:个人理解,依据实际的数据关系,准确的做法确实应该是三维空间插值 后再进行截取。 常规绘制方法与使用命令: 1 外特性边界 对外特性边界数据,在增加转速采样点的前提下,使用 interp1 命令对外边 界进行插样,使用 spline 或 cubic 效果应比较好。 外特性数据加载: 1797 2802]; x=[1403 1597 2598 2700 y=[474 497 515 526 528.8 357.4]; 1986 2102 2199 2303 2400 2507 522.8 509.5 492.2 471.2 448.4 408.3
关键程序段如下: x1=[1400:10:2800]; y2=interp1(x,y,x1,'spline'); y3=interp1(x,y,x1,'cubic'); figure(1) plot(x1,y2,'r',x1,y3,'b') legend('spline','cubic') 2 等油耗消耗率曲线模型及等燃油消耗曲线和等功率曲线的三维拟合 建立回归模型: 燃油消耗数据加载: % 扭矩 tp=[]'; % 80*1的数组,请从原作者处获取数据 % FuelConsumption be=[]'; % 80*1的数组,请从原作者处获取数据 % RPM ne=[]'; % 80*1的数组,请从原作者处获取数据 关键程序段如下: X=[ones(80,1),ne,tp,ne.^2,ne.*tp,tp.^2]; [b, bint,r,rint,stats]=regress(be,X);% 附1,对如上模型公式的回归 ne1_0=linspace(1400,2800,100); % 附2 得到1*100向量 tp1_0=linspace(20,600,100); % 附2 得到1*100向量 [ne1,tp1]=meshgrid(ne1_0,tp1_0); % 附3,得到ne1_0纵列100次,ne1,100*100;tp1_0’横列100次,tp1,100*100 be1=b(1)*ones(100,100)+b(2)*ne1+b(3)*tp1+b(4)*ne1.^2+b(5)*ne1.*tp1+b( 6)*tp1.^2; % 对各点燃油消耗的求解 % 附4 mesh作图 mesh(ne1,tp1,be1) hold on pe1=tp1.*ne1/9550; % 对各点实际输出功率的求解 mesh(ne1,tp1,pe1) 附 1. bint 是一个 double 类型的变量 [B,BINT,R,RINT] = regress(Y,X) returns a matrix RINT of intervals that can be used to diagnose outliers. If RINT(i,:) does not contain zero, then the i-th residual is larger than would be expected, at the 5% significance level. This is evidence that the I-th observation is an outlier.
[B,BINT,R,RINT,STATS] = regress(Y,X) returns a vector STATS containing, in the following order, the R-square statistic, the F statistic and p value for the full model, and an estimate of the error variance. 附 2 linspace(X1, X2, N) generates N points between X1 and X2. For N = 1, linspace returns X2. 附 3 meshgrid 基于向量 x 和 y 中包含的坐标返回二维网格坐标。X 是一个矩 阵,每一行是 x 的一个副本;Y 也是一个矩阵,每一列是 y 的一个副本。坐 标 X 和 Y 表示的网格有 length(y) 个行和 length(x) 个列。 不理解的话可以参看下面这个小程序: surf 黑色线,彩色面(上) mesh 彩色线,白色面(下) [X,Y] = meshgrid(-2:.2:2, -4:.4:4); Z = X .* exp(-X.^2 - Y.^2); figure(2) surf(X,Y,Z) figure(3) mesh(X,Y,Z) surf 函数创建一个三维曲面图。该函数将矩阵 Z 中的值绘制为由 X 和 Y 定义的 x-y 平面中的网格上方的高度。函数还对颜色数据使用 Z,因此颜色与 高度成比例。 附 4 mesh - 网格图,使用 Z 确定的颜色绘制线框网格,因此其颜色与曲面高度 成比例。如果 X 和 Y 为向量,length(X) = n 且 length(Y) = m,其中 [m,n] = size(Z)。 3 万有特性 此程序接之前程序,在 n-T 关系曲线上绘制燃油等高线和功率等高线。 figure(5) hold on [c1,h1]=contour(ne1,tp1,be1,12);clabel(c1,h1,'manual'); [c2,h2]=contour(ne1,tp1,pe1,12);clabel(c2,h2,'manual'); 可在此程序上附接外特性边界。 注: contour - 矩阵的等高线图,绘制矩阵 Z 的等高线图,其中 Z 解释为有关 x-y 平面的高度。Z 必须至少是 2×2 矩阵,该矩阵包含至少两个不同值。x 值 对应于 Z 的列索引,y 值对应于 Z 的行索引。自动选择等高线层级。
分享到:
收藏