clf,clear l=2;sigma=0.2; n=10000;m=50;a=2.2;b=3; mu=linspace(a,b,m); for k=1:m x=normrnd(mu(k),sigma,1,n); %模拟轧钢。 k_chenpin=find(x>=l); %求可轧制的成品材的下标。 k_feipin=find(x) w_chenpin=x(k_chenpin)-l; %计算浪费量。 w_feipin=x(k_feipin); %计算浪费量。 if length(k_chenpin)==0 waste(k)=NaN; else waste(k)=(sum(w_chenpin)+sum(w_feipin))/length(k_chenpin); end end [wmin,i]=min(waste); %求最小浪费量及其下标。 [mu(i) wmin] plot(mu,waste,'.-',mu(i),wmin,'ro'),set(gca,'fontsize',15) text(mu(i),wmin,['\bullet\leftarrow The Min Value is ',num2str(wmin),' at \it{mu}= ',num2str(mu(i))]);
时间: 2024-04-26 13:20:34 浏览: 69
Contour2Area:给出来自 matlab 函数 C=contour(x,y,z) 的多边形面积及其质心。-matlab开发
这段代码是用来模拟轧钢过程中的浪费量,并找到使浪费量最小的成品材料长度。
具体解释如下:
- clf, clear:清除图形窗口和工作区变量。
- l=2;sigma=0.2;n=10000;m=50;a=2.2;b=3;:定义轧钢过程中的参数。其中,l表示可以接受的最短长度,sigma表示原材料的标准差,n表示模拟的原材料数量,m表示成品材料长度的数量,a和b分别表示成品材料长度的最小值和最大值。
- mu=linspace(a,b,m);:生成成品材料长度的向量。
- for k=1:m:循环计算每个成品材料长度下的浪费量。
- x=normrnd(mu(k),sigma,1,n);:生成符合正态分布的原材料长度向量。
- k_chenpin=find(x>=l); k_feipin=find(x):找到可轧制的成品材料和废品材料的下标。
- w_chenpin=x(k_chenpin)-l; w_feipin=x(k_feipin):计算可轧制成品材料和废品材料的浪费量。
- if length(k_chenpin)==0 waste(k)=NaN; else waste(k)=(sum(w_chenpin)+sum(w_feipin))/length(k_chenpin); end:计算每个成品材料长度下的浪费量。
- [wmin,i]=min(waste);:找到使浪费量最小的成品材料长度以及其下标。
- [mu(i) wmin]:输出最小浪费量和对应的成品材料长度。
- plot(mu,waste,'.-',mu(i),wmin,'ro'),set(gca,'fontsize',15):画出成品材料长度和浪费量的关系图,并用红色圆圈表示最小浪费量。
- text(mu(i),wmin,['\bullet\leftarrow The Min Value is ',num2str(wmin),' at \it{mu}= ',num2str(mu(i))]);:在最小浪费量的点上添加文本标注。
阅读全文