在matlab中画出了自变量与因变量的三维图,能否利用编程或者拟合求出最佳的一组值呢(最优解)?数据:供油提前角/CA 16° 17.5° 19° 21° 22° 23.7° 负荷:3kg 0.08 0.09 0.09
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 02:57:10
在matlab中画出了自变量与因变量的三维图,能否利用编程或者拟合求出最佳的一组值呢(最优解)?数据:供油提前角/CA 16° 17.5° 19° 21° 22° 23.7° 负荷:3kg 0.08 0.09 0.09
在matlab中画出了自变量与因变量的三维图,能否利用编程或者拟合求出最佳的一组值呢(最优解)?
数据:
供油提前角/CA 16° 17.5° 19° 21° 22° 23.7°
负荷:3kg 0.08 0.09 0.09 0.1 0.11 0.11
6kg 0.04 0.05 0.06 0.08 0.1 0.15
9kg 0.02 0.05 0.12 0.19 0.27 0.44
10kg 0.03 0.06 0.2 0.35 0.46 0.62
12kg 0.32 0.45 0.84 0.88 0.94 1.17
其中自变量是负荷、供油提前角,因变量是 生物柴油混合比例为30%即B30 燃烧后的 CO排放(单位:10的负二次方)
程序:
x=[16 17.5 19 21 22 23.7];
y=[3 6 9 10 12];
z=[ 0.08 0.09 0.09 0.1 0.11 0.11;
0.04 0.05 0.06 0.08 0.1 0.15;
0.02 0.05 0.12 0.19 0.27 0.44;
0.03 0.06 0.2 0.35 0.46 0.62;
0.32 0.45 0.84 0.88 0.94 1.17];
xx=linspace(16,23.7,30);%x是16到23.7的数列,长度为30
yy=linspace(3,12,30);%y是3到12的数列,长度为30
%数列长度可以根据改变,点数越多,数据点越密
zz=griddata(x,y,z,xx,yy','cubic');%插值计算
mesh(xx,yy,zz);
xlabel('提前角(°)');
ylabel('负荷(kg)');
zlabel('CO排放量(10^{-2})');
就是怎样确定一个负荷对应的最佳的提前角,使得CO的排放最小.
有点长,请耐心看完, 昨天请教的大神,不能继续追问了.
在matlab中画出了自变量与因变量的三维图,能否利用编程或者拟合求出最佳的一组值呢(最优解)?数据:供油提前角/CA 16° 17.5° 19° 21° 22° 23.7° 负荷:3kg 0.08 0.09 0.09
插值我觉得就可以了,强行拟合不见得有很好的效果.
其实你现在是已知一个z = f(x,y)函数,现在要求给定 y0,最小化 z = f(x,y0).
这没有什么困难啊,首先得到函数 z = g(x) = f(x,y0); 然后找最小值即可.
这个思路没什么问题吧?