《仿真技术在电气工程中领域的应用》课程作业.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《仿真技术在电气工程中领域的应用》课程作业.docx》由会员分享,可在线阅读,更多相关《《仿真技术在电气工程中领域的应用》课程作业.docx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、仿真技术在电气工程中领域的应用课程作业(2019-2020 学年第一学期)作业0202稀疏线性方程组的求解作业0203微分方程的求解作业0302多机系统短路故障后时域仿真学院:电力学院任课老师:武志刚作业0203微分方程的求解一、问题重述求解具有如下初值的微分方程粤=侬)x ea,bil):Bi2U=Bi2U-Bi2il*UilUif(i2=il+l):Di2i2 = Bi2i2if (i2il):Li2il=Bi2il/Dililreturn LDUdef LDU_store(A): #三角存储检索,不是实际的坐标L,D,U=LDU(A)size=A.shapeOL_value=L_row=
2、L_column=D_value=U_value=U_row=U_column=for i in range(l,size):for j in range(i):L_d(LiUDL_d(i)L_d(j)for i in range(size-l):for j in range(i+l,size):if(UiU!=0):U_d(UiUDU_d(i)U_d(j)for i in range(size):D_d(Dii)return (L_value,L_row/L_column),(D_value),(U_value/U_row/U_column)def front(L,b): #前代,用LDU系
3、数存储size=b.shapeOz=np.zeros(size,l)for i in range(len(b):sum = 0if Ll.count(i)!=0:for j in range(Ll.index(i),Ll.index(i)+Ll.count(i):sum+=L0j*zL2j,0zi,0=bi-sumreturn zdeffrontl(L,b): #前代,没用LDU系数存储size = b.shapeOz=np.zeros(size,l)sum_list=for i in range(len(b):sum=0for j in range(i):if(i0):sum+=Lij*zj
4、,Osum_d(sum)zi,0 = bi,O-sum_listireturn z def mid(D,z): #规格化,用LDU系数存储size = z.shape0y = np.zeros(size,l)for i in range(len(D):yi,0=zi,0/Direturn ydef midl(D,z): #规格化,没用LDU系数存储size = z.shape0y = np.zeros(size,l)for i in range(D.shapeO):yi,0=zi,0/Diireturn ydef back(U,y): #回代,用LDU系数存储size=y.shapeOx=np
5、.zeros(size,l)for i in range(size):sum = 0if Ul.count(size-i-l)!=0:forjinrange(Ul.index(size-i-l),Ul.index(size-i-l)+Ul.count(size-i-l):sum+=U0j*xU2jL0xsize-i-l,O=ysize-i-l,O-sum #现在 x 是从 xsize-l到 x0x_reverse=np.zeros(size,l)for i in range(size):x_reversei,O=xsize-l-i,Oreturn x_reversedef backl(U,y)
6、: #回代,没用LDU系数存储size=y.shapeOx = np.zeros(size, 1)sum_list=for i in range(U.shapeO):sum=0for j in range(i):if(i0):sum+=Usize-i-lsize-j-l*xsize-j-l,Osum_d(sum)xsize-i-l,0 = ysize-i-l,O-sumJistix_re verse = np.zeros(size, 1)for i in range(size):x_reversei,O = xsize -1 - i,0return x_reversedef solve(A,b
7、): #求解 AX=bL/D,U=LDU_store(A)X=back(U,mid(D,front(L,b)return X def solve_Sparse_vector(A,b,xJndex): #稀疏向量法,xjndex 为所需求解的特定 变量L,D,U=LDU(A)y=midl(D, frontl(L, b)list_delete_x=for i in range(x_indexjen(b):if not any(Ux_index-l:i,i): #若第 i 个 元素和 xjndex 无关,则 Ux_index-l:ii应全为 0;list_delete_x.append(i)for
8、i in list delete x:U = np.delete(U, i, axis=O)U = np.delete(U, i, axis=l)y = np.delete(y, i, axis=O)for i in range(xjndex-l):U = np.delete(U, 0, axis=0)#每次循环都删第一行第一列,循环后则把原矩阵的前k行k列都删去了U = np.delete(U, 0, axis=l)y = np.delete(yz 0, axis=0)x=backl(U,y)return x0A=np.array(2/0,0/0/0/0,l,0,0,0,0,l,10,2,0
9、,0,1,0,0,0,1,0,0,0,0,0,2.,0,0,1,0,0,1,0,0,0,10,0,0,2,0,0,1,0,0,1,0,0,04,0,0,2,0,0,0,0,0,0,1,0,04,0,0,2,0,0,0,1,0,0,11,0,0,1,0,0,2,0,0,0,0,0,o,o,o,o,o,ozoz2,i,o,i,o,0,1,1,000,0,1,2,0,0,0,0,0,0,1,0,100,0,2,1,0,0,0,0,0,000,1,0,1,2,1,1,0,0,0,1,0,0,0,0,04,2)b=np.array(4U4U4U4L4U4U4U4U5U5U545)print(解得的X为:
10、。print(solve(A,b)print(需要求解的特定变量的值为:)print(solve_Sparse_vector(A,b,3)#solve_Sparse_vector函数的第三个参数则为需求解的某个特定变量的下标;如需 求x3,则设置为3二、作业203python代码import numpy as npimport t as pitimport sympy as syimport pandas as pd#定义欧拉法、隐式梯形法、改进欧拉法的函数def calculate_f_xy(derivative, x=None, y=None):”根据f(x,y)参数个数采用不同赋值”,i
11、f x and y:return Noneelif x in derivative.code.co_varnames:dy_dx = derivative(x=x)elif y in derivative.code.co_varnames:dy_dx = derivative(y=y)else:dy_dx = derivative(x=x, y=y)def base_euler(derivative, n=50, limit=(0,1), begin=(0,1):III欧拉法求微分方程Parameters(derivative 导数 dy/dxn步长limit 函数区间(start, end)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仿真技术在电气工程中领域的应用 仿真技术 电气工程 领域 应用 课程 作业
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内