Python库lamuda最新版本21.5.6-3安装教程

版权申诉
0 下载量 175 浏览量 更新于2024-11-07 收藏 8KB GZ 举报
资源摘要信息: "lamuda-21.5.6-3.tar.gz" 是一个Python库的压缩包,它包含了Python开发语言的工具和库文件。作为Python库,lamuda提供了特定的功能和模块,帮助开发者在进行软件开发时提高效率,减少重复工作。开发者可以利用这个库来实现各种编程任务,比如数据分析、网络请求处理、文件操作等。 资源分类为Python库,意味着该资源是为Python语言量身打造的,它与其他编程语言如Java、C++或JavaScript等的库不同。Python库广泛应用于Web开发、数据科学、机器学习、自动化脚本编写等多个领域,其简洁易读的语法和强大的功能是其广受欢迎的原因之一。 在本例中,资源全名为"lamuda-21.5.6-3.tar.gz"。文件名中的"tar.gz"后缀表明这是一个使用gzip压缩过的tar归档文件。这种格式在Unix/Linux系统中非常常见,它将多个文件和目录打包成一个单独的文件,并进行压缩,以便于文件传输和存储。文件名中的版本号"21.5.6-3"表明这是一个特定版本的库文件,开发者在使用时应该确保它与项目中其他依赖库的版本兼容。 资源来源为官方,这通常意味着该库是通过官方渠道发布的,质量和安全性都得到了保障。使用官方发布的库可以避免潜在的安全风险,并且能够获得及时的技术支持和更新。 描述中还提供了安装方法,给出了一个指向CSDN博客的链接。在该链接中,开发者可以找到关于如何安装"lamuda-21.5.6-3.tar.gz"的具体步骤和示例代码。通常,安装Python库可以通过Python包管理工具pip来完成,也可能需要使用特定的环境配置命令或脚本。在某些情况下,开发者可能需要手动解压tar.gz文件并根据库文档进行配置安装。 【标签】中提到了"python 开发语言 Python库",这些标签帮助标识了该资源的主要属性,使得开发者或维护者在寻找或分类资源时能快速定位。标签"python"直接关联到了Python开发语言,而"Python库"则强调了资源的用途,即它是一个工具集合,为Python语言提供额外的功能支持。 综上所述,"lamuda-21.5.6-3.tar.gz"是一个经过官方认证,使用Python语言编写的库文件,适用于多种编程任务和开发场景。它通过tar.gz格式进行分发,方便安装和集成,并且它的安装方法和详细信息可以在指定的资源来源中找到。开发者在使用该资源时,应该确保遵循官方指南,以保证系统的安全稳定运行。

clc clear % 数值法 %初值 % t的取值范围 tmin = 0; tmax = 100; % 精度 d_doc = 1; doc = (tmax-tmin)/d_doc; % 参数直接在后面改 Pf = 10; m = 700; ii = 0.03; %记得改 i0 = 0.02; nx = 45; r = 0.7*0.01; E = 1; theta = 0.1; d = -0.01; gamma = 1; kc = 20; aerfa = 0.7; lamuda = 0.8; fai = 10; beita = 1; w1 = 2; w2 = 1; n = 0.13; P0 = 25; huibig = 25; iworld=0.025; miu=33600; P1 = -m*beita*(i0+d)*huibig*Pf/(((-fai*theta-(w1-w2)*E-log(n)+i0*beita+d*beita)... *(kc-huibig)*Pf*((-fai*theta-(w1-w2)*E-log(n)+i0*beita)/beita/aerfa)^(aerfa/(aerfa-1)))-beita*m*(i0+d)*E) syms E p iww theta n w1 w2 beita fai iworld m i0 d kc Pf huibig ee eqn = miu*(-fai*theta-(w1-w2)*E-log(n)-iworld*beita)/beita- m*(i0+d)... *(E*p-kc*Pf)*beita/p/(-fai*theta-(w1-w2)*E-log(n)+d*beita)/(kc-huibig)/Pf==0; sol = solve(eqn, E); ee = double(sol(sol>0)); % 找到正根 disp(ee); syms dp T = linspace(tmin,tmax,doc); dt = T(2)-T(1); for i = 1:doc result_p(i) = P0; p = P0; eqn = ( - fai*theta - (w1-w2)*ee-log(n)) / beita + i0 - dp/p ... - aerfa*( beita*m*( ee*p-huibig*Pf )*(i0+d)/p/(-fai*theta-(w1-w2)*ee-log(n)+i0*beita+d*beita)... /(kc-huibig)/Pf)^ ( (aerfa-1)/aerfa ) ==0; temp_dp = solve(eqn,dp) ; temp_dp = double( temp_dp ); temp_dp = ( min( real(temp_dp) ) ); dp1(i) = temp_dp; P0 = P0 + temp_dp*dt; disp(["计算中...",string(i/doc*100)," %"]); end figure plot(T,result_p) xlabel("t") ylabel("p") figure plot(T,dp1); xlabel("t") ylabel("dp") dp_p = dp1./result_p; figure; plot(T,dp_p) xlabel("t") ylabel("dp/p")我想要解出方程( - fai*theta - (w1-w2)*ee-log(n)) / beita + i0 - dp/p ... - aerfa*( beita*m*( ee*p-huibig*Pf )*(i0+d)/p/(-fai*theta-(w1-w2)*ee-log(n)+i0*beita+d*beita)... /(kc-huibig)/Pf)^ ( (aerfa-1)/aerfa ) ==0;中的E,并将E带入( - fai*theta - (w1-w2)*E-log(n)) / beita + i0 - dp/p ... - aerfa*( beita*m*( E*p-huibig*Pf )*(i0+d)/p/(-fai*theta-(w1-w2)*E-log(n)+i0*beita+d*beita)... /(kc-huibig)/Pf)^ ( (aerfa-1)/aerfa ) ==0;画出图像,请问哪里错了

2023-05-27 上传

import numpy as np import matplotlib.pyplot as plt import sympy from scipy.interpolate import interp1d gamma = 1.2 R = 8.314 T0 = 500 Q = 50 * R * T0 a0 = np.sqrt(gamma * R * T0) M0 = 6.216 P_P0 = sympy.symbols('P_P0') num = 81 x0 = np.linspace(0,1,num) t_t0 = np.linspace(0,15,num) x = x0[1:] T_T0 = t_t0[1:] h0 = [] h1 = []#创建拉姆达为1的空数组 r = [] t = [] c = [] s = [] i = 0 for V_V0 in x: n1 = sympy.solve(1 / (gamma-1) * (P_P0 * V_V0 - 1) - 0.5 * (P_P0 + 1) * (1 - V_V0)- gamma * 0 * Q / a0 ** 2,P_P0)#lamuda=0的Hugoniot曲线方程 n2 = sympy.solve(1 / (gamma-1) * (P_P0 * V_V0 - 1) - 0.5 * (P_P0 + 1) * (1 - V_V0)- gamma * 1 * Q / a0 ** 2,P_P0)#lamuda=1的Hugoniot曲线方程 n3 = sympy.solve(-1 * P_P0 + 1 - gamma * M0 ** 2 * (V_V0 - 1),P_P0)#Reyleigh曲线方程 n4 = 12.014556 / V_V0#等温线 n5 = sympy.solve((P_P0 - 1 / (gamma+1) )* (V_V0-gamma / (gamma + 1)) - gamma / ((gamma + 1) ** 2),P_P0)#声速线 n6 = 10.6677 / np.power(V_V0,1.2)#等熵线 h0.append(n1) h1.append(n2) r.append(n3) t.append(n4) c.append(n5) s.append(n6) i = i+1 h0 = np.array(h0) h1 = np.array(h1) r = np.array(r) t = np.array(t) c = np.array(c) s = np.array(s) plt.plot(x,r,label='Rayleigh') plt.plot(x,t,color='purple',label='isothermal') plt.plot(x,s,color='skyblue',label='isentropic') a = np.where(h0 < 0) b = np.where(c < 0) h0 = np.delete(h0,np.where(h0 < 0)[0],axis = 0)#去除解小于0的值 h1 = np.delete(h1,np.where(h1 < 0)[0],axis = 0)#去除解小于0的值 c = np.delete(c,np.where(c < 0)[0],axis = 0)#去除解小于0的值 x0 = np.delete(x,a,axis = 0)#对应去除x轴上错误值的坐标 x1 = np.delete(x,b,axis = 0) plt.plot(x0,h0,label='Hugoniot(lambda=0)') plt.plot(x0,h1,label='Hugoniot(lambda=1)') plt.plot(x1,c,color='yellow',label='soniclocus') plt.ylim((0,50)) plt.legend() # 显示图例 plt.xlabel('V/V0') plt.ylabel('P/P0') f1 = interp1d(x1, c.T, kind='cubic') f2 = interp1d(x,r.T,kind='cubic') f3 = interp1d(x, t.T, kind='cubic') epsilon = 0.0001 x0 = 0.56 y0 = f1(x0) - f2(x0) while abs(y0) > epsilon: df = (f1(x0 + epsilon) - f2(x0 + epsilon) - y0) / epsilon x0 -= y0 / df y0 = f1(x0) - f2(x0) plt.scatter(x0, y0, 50, color ='red') plt.show()

2023-06-08 上传