有很多bug,暂时先放上来。

思路为:画一条竖线,令a等于a',如图求M;这是碎石与石屑两曲线求一个。

对于石屑和矿粉也要按相同的步骤求一个m。 

探索错误中:

def qiuab(x1,y1,x2,y2): #求斜截式a,bX1 = float(x1)Y1 = float(y1)X2 = float(x2)Y2 = float(y2)if X1-X2 == 0:a,b = 0,0else:a = -((Y2-Y1)/(X1-X2))b = (X1*Y2-X2*Y1)/(X1-X2)return a,b
y=0def f(x,a,b): #求相应a,b下x得值global yy = a*x + breturn ydef A(x): #碎石的分段函数global yif x >=0 and x < 2.36:y=0elif (x >= 2.36 and x < 4.75):a, b = qiuab(2.36,0,4.75,4.6)y=f(x,a,b)elif (x >= 4.75 and x < 9.5):a, b = qiuab(4.6,4.75,9.5,19.8)y=f(x,a,b)elif (x >= 9.5 and x < 13.2):a, b = qiuab( 9.5, 19.8,13.2,34.5)y=f(x,a,b)elif (x >= 13.2 and x < 16 ):a, b = qiuab(13.2, 34.5,16,61.5)y=f(x,a,b)elif (x >= 16 and x < 19 ):a, b = qiuab(16,61.5,19,27)y=f(x,a,b)elif (x >= 19 and x < 26.5 ):a, b = qiuab(19,27,26.5,100)y=f(x,a,b)return ydef B(x): #石屑的分段函数global yx13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3 = 26.5,19,16,13.2,9.5,4.75,2.36,1.18,0.6,0.3,0.15y13, y12, y11, y10, y9, y8, y7, y6, y5, y4, y3 = 100,100,100,100,93.8,77.9,58.7,36,23,11,0if x >= 0 and x < 0.15:y = 0elif (x >= x3 and x < x4):a, b = qiuab(x3,y3,x4,y4)y=f(x,a,b)elif (x >= x4 and x < x5 ):a, b = qiuab(x4,y4,x5,y5)y=f(x,a,b)elif (x >= x5 and x < x6 ):a, b = qiuab(x5,y5,x6,y6)y=f(x,a,b)elif (x >= x6 and x < x7 ):a, b = qiuab(x6,y6,x7,y7)y=f(x,a,b)elif (x >= x7 and x < x8):a, b = qiuab(x7, y7, x8, y8)y=f(x,a,b)elif (x >= x8 and x < x9):a, b = qiuab(x8, y8, x9, y9)y=f(x,a,b)elif (x >= x9 and x < x10):a, b = qiuab(x9, y9, x10, y10)y=f(x,a,b)elif (x >= x10 and x < x11):a, b = qiuab(x10, y10, x11, y11)y=f(x,a,b)elif (x >= x11 and x < x12):a, b = qiuab(x11, y11, x12, y12)y=f(x,a,b)elif (x >= x12 and x < x13):a, b = qiuab(x12, y12, x13, y13)y=f(x,a,b)return ydef C(x): #矿粉的分段函数global yx13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1 = 26.5,19,16,13.2,9.5,4.75,2.36,1.18,0.6,0.3,0.15,0.075,0y13, y12, y11, y10, y9, y8, y7, y6, y5, y4, y3, y2, y1 = 100,100,100,100,100,100,100,100,97,94,92,70.5,0if x >= x1 and x < x2:a, b = qiuab(x1,y1,x2,y2)y=f(x,a,b)elif x >= x2 and x < x3:a, b = qiuab(x2,y2,x3,y3)y=f(x,a,b)elif (x >= x3 and x < x4):a, b = qiuab(x3,y3,x4,y4)y=f(x,a,b)elif (x >= x4 and x < x5 ):a, b = qiuab(x4,y4,x5,y5)y=f(x,a,b)elif (x >= x5 and x < x6 ):a, b = qiuab(x5,y5,x6,y6)y=f(x,a,b)elif (x >= x6 and x < x7 ):a, b = qiuab(x6,y6,x7,y7)y=f(x,a,b)elif (x >= x7 and x < x8):a, b = qiuab(x7, y7, x8, y8)y=f(x, a, b)elif (x >= x8 and x < x9):a, b = qiuab(x8, y8, x9, y9)y=f(x, a, b)elif (x >= x9 and x < x10):a, b = qiuab(x9, y9, x10, y10)y=f(x, a, b)elif (x >= x10 and x < x11):a, b = qiuab(x10, y10, x11, y11)y=f(x, a, b)elif (x >= x11 and x < x12):a, b = qiuab(x11, y11, x12, y12)y=f(x, a, b)elif (x >= x12 and x < x13):a, b = qiuab(x12, y12, x13, y13)y=f(x, a, b)return ydef D(x):global yy = 100.0/26.5 * xreturn yx = 1
xsd = 10
print(round(A(x),xsd),round(B(x),xsd),round(C(x),xsd),round(D(x),xsd))sshi = 0
sxie = 0
kfen = 0for i in range(10000): #目测x 在2.36到12.36间 求碎石A() 和 石屑B()t = i * 0.001 + 2.36a1 = A(t)           #下面的ab1 = 100 - B(t)     #上面的a'k = a1 - b1     #两者差值小于误差 认为相等if k > 0 and k < 0.01:print(t,a1,b1,k,D(t))sshi = 100 - D(t)print(sshi,"碎石")breakfor i in range(100000): #目测x 在0.15到1.18间 求碎石B() 和 石屑C()t2 = i * 0.00001 + 0.15a2 = B(t2)b2 = 100-C(t2)k2 = a2 - b2if k2 > 0 and k2 < 0.01:print(t2,a2,b2,k2,D(t2))sxie = 100 - D(t2) - sshiprint(sxie,"石屑")breakkfen = 100 - sshi -sxie
print(kfen,"矿粉")

运行结果:

0 31.9655172414 99.0689655172 3.7735849057
7.382 13.294714285714283 13.289726315789466 0.004987969924817648 27.856603773584904
72.14339622641509 碎石
0.24231 6.769400000000001 6.769200000000012 0.00019999999998887574 0.914377358490566
26.94222641509434 石屑
0.9143773584905688 矿粉

求出来的结果与图中,肉眼看的范围大概差不多

但是检验 混合集料通过率 与 设计级配通过率范围 误差太大。

更新!我知道了!

因为设计级配曲线的中值线也应该是分段函数!

如图:

所以把D(x)也变成分段函数就好了。

def D(x):global yx13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3, x2, x1 = 26.5, 19, 16, 13.2, 9.5, 4.75, 2.36, 1.18, 0.6, 0.3, 0.15, 0.075, 0y13, y12, y11, y10, y9, y8, y7, y6, y5, y4, y3, y2, y1 = 100, 97.5, 82.5, 71, 62, 48, 37, 27, 21, 15, 10, 6, 0if x >= x1 and x < x2:a, b = qiuab(x1, y1, x2, y2)y = f(x, a, b)elif x >= x2 and x < x3:a, b = qiuab(x2, y2, x3, y3)y = f(x, a, b)elif (x >= x3 and x < x4):a, b = qiuab(x3, y3, x4, y4)y = f(x, a, b)elif (x >= x4 and x < x5):a, b = qiuab(x4, y4, x5, y5)y = f(x, a, b)elif (x >= x5 and x < x6):a, b = qiuab(x5, y5, x6, y6)y = f(x, a, b)elif (x >= x6 and x < x7):a, b = qiuab(x6, y6, x7, y7)y = f(x, a, b)elif (x >= x7 and x < x8):a, b = qiuab(x7, y7, x8, y8)y = f(x, a, b)elif (x >= x8 and x < x9):a, b = qiuab(x8, y8, x9, y9)y = f(x, a, b)elif (x >= x9 and x < x10):a, b = qiuab(x9, y9, x10, y10)y = f(x, a, b)elif (x >= x10 and x < x11):a, b = qiuab(x10, y10, x11, y11)y = f(x, a, b)elif (x >= x11 and x < x12):a, b = qiuab(x11, y11, x12, y12)y = f(x, a, b)elif (x >= x12 and x < x13):a, b = qiuab(x12, y12, x13, y13)y = f(x, a, b)return y

求出结果如图:

0 31.9655172414 99.0689655172 25.1379310345
7.382 13.294714285714283 13.289726315789466 0.004987969924817648 55.757473684210524
44.242526315789476 碎石
0.24231 6.769400000000001 6.769200000000012 0.00019999999998887574 13.077
42.680473684210526 石屑
13.076999999999998 矿粉

但是尾巴上还是有一点的偏差,我又蒙了。

应该是我想的太理想化了,计算机程序的数字我还把握不住,哪里出错了我都不知道,break也是感觉放上去的,说不定后面的比前面的更符合要求,那break不就错过了。

如图

道路工程材料-图解法相关推荐

  1. 国开电大 道路工程技术 形考任务

    题目1:棋盘式道路网指的是( ) 环形放射式道路网 混合式道路网 自由式道路网 方格网式道路网 题目2:道路起讫点间的实际交通距离与此两点的空间直线距离之比,称为( ) 非直线系数 干道网密度 道路占 ...

  2. 道路设计标高p1p2php3p4,西南交通大学19春《道路工程》在线作业12

    西南交<道路工程>在线作业一8 d7 ]6 t) \1 [2 z5 p5 Z* u- W" L 随机作业请核对题目下载,QQ 761296021% n; c0 }. i) m6 ...

  3. 吐血整理2023版(李思德)一级建造师《市政实务》:城镇道路工程--精讲课程讲义

    一.道路工程(23个考点) 1.道路工程结构与材料 道路分类与分级★ 沥青路面结构组成特点★★ 水泥混凝土路面构造特点★ 沥青混合料组成与材料★★ 沥青路面材料的再生应用 ★ 不同形式挡土墙结构特点★ ...

  4. 地址总线是单向还是双向_大余双向钢塑土工格栅%/*的作用泰安恒大工程材料-老友网...

    泰安恒大工程材料有限公司位于驰名中外的泰山脚下,是一家专业从事土工合成材料及新型建材生产研发的高科技民营企业.本公司主要生产经营玻纤格栅.涤纶格栅.塑料格栅.钢塑格栅.土工布.复合土工膜等工程材料,产 ...

  5. 东莞塑料是四大工程材料

    东莞塑料是四大工程材料 塑料是四大工程材料(钢铁.木材.水泥和塑料)之一,它是以高分子量的合成树脂为主要成份,广泛应用于工业.农业.国防等行业. 塑料的分类 塑料按照受热属性分类,分为热固性和热塑性两 ...

  6. cad快看_市政道路工程CAD图纸大合集,路面设计、交通标志等,限时分享

    市政道路工程CAD图纸大合集,路面设计.交通标志等,限时分享 市政道路工程的朋友注意啦,老刘这次准备了一套好东西--交通标识.设计CAD图纸合集! 这套市政道路工程-交通标识.设计CAD图纸合集,包含 ...

  7. 湖北武汉材料员报考提高工程材料把控力度建筑七大员报考

    本文原创作者:whzfjy2008(武汉梓枫) 把好原材料进场关 有些施工单位为了追求更高的经济利益,在采购工程材料时,购买一些价格低廉.质量达不到要求的工程材料,这样的材料用于工程,会造成隐患和缺陷 ...

  8. 工程材料(3.2)热处理-普通铸铁

    工程材料(3.2)热处理-普通铸铁 文章目录 工程材料(3.2)热处理-普通铸铁 钢的热处理原理 钢加热时组织转变: 奥氏体的形成 奥氏体晶粒大小及其影响因素 1. 奥氏体晶粒度: 影响奥氏体晶粒长大 ...

  9. 道路工程、交通工程与道路交通工程

    徐耀赐著作<道路交通工程设计理论基础>第一章第五节"道路工程.交通工程与道路交通工程" 传统道路工程内容 (1)几何设计(Geometric Design) ①水平线形 ...

最新文章

  1. 使用 ChatterBot 库制作一个聊天机器人
  2. SpringBoot | 第十五章:基于Postman的RESTful接口测试
  3. 设置3d rotationY 旋转之后元件大小改变解决方案
  4. 产品经理经验谈50篇(一):如何解决用户流失问题?我想你该知道这几点
  5. java8-新特性default
  6. 征战蓝桥 —— 2014年第五届 —— C/C++A组第10题——波动数列
  7. 学习笔记(37):Python实战编程-yield实现生成器
  8. c#语言中的变量名,在C#中创建动态变量名
  9. retrofit框架学习(二)----retrofit封装
  10. 点击按钮复制指定代码
  11. 三步走,帮你整理微信运营思路
  12. 一步完成最小二乘法、递推最小二乘法、增广最小二乘法、广义最小二乘法、辅助变量法、二步法辨识(传递函数)
  13. 微信开发者工具配置服务器信息,微信开发者中心如何配置
  14. 空间直角坐标系、左手坐标系、右手坐标系
  15. 沃尔玛账号被冻结后如何进行申诉?
  16. hbuilderx安装教程_HBuilderX入门教程
  17. 【微信小程序】自定义弹窗蒙版输入框效果图完整代码
  18. android 电池检测软件,电池检测软件下载-电池检测 安卓版v1.1.0-PC6安卓网
  19. python实现文件(夹)剪切
  20. 如何开发一个直播类 APP 项目开发原理

热门文章

  1. hbase 二进制数据写入_Hbase对于大对象存储的三种主要解决方案
  2. mysql group by 性能_记一次Mysql group by的优化
  3. Artifact XXXwar exploded Artifact is being deployed, please wait...(已解决)
  4. 记:《洛克菲勒留给儿子的38封信》-- 29
  5. Web-Based Enterprise Management (WBEM) Initiative
  6. Parallels Desktop如何备份?中文版技巧分享
  7. Leetcode 1162:地图分析(超详细的解法!!!)
  8. 生孩子是要顺产还是剖腹产
  9. 博云开源项目FabEdge成为CNCF沙箱级项目
  10. 【Java基础】吃透Java IO:字节流、字符流、缓冲流