一个算法题?

littlebee 2004-04-10 04:54:14
题目是这样的:
一个任意网格(二维)的,网格线代表电线导通,电阻各不相同,在网格边上加
给定的电压,求每个网格线的电流值 如下图
*-*-*
| | |
*-*-*
| | |
*-*-*
在左边和右边各点加上一定电压,求每条边中的电流,每条边的电阻已知,网格可能
较大,比如1000X1000,有什么方法求最好?
(我记得好像那个算法书上讲过这道题,忘了)
...全文
70 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlebee 2004-04-13
  • 打赏
  • 举报
回复
你说的就是三角分解法吧?
AX = b
可是b中有未知值(只知道边界值),因而也需要给初值迭代求解啊!!
好像不能直接求解吧!??
我用的是简单迭代法,100X100的网格要迭代5000次以上结果才可以!!
littlebee 2004-04-11
  • 打赏
  • 举报
回复
我就是这样解的,但是若是格子较多的时,要反复迭代求解,效率不高,一个100x100
的格子估计得1~2分钟,格子再多得就太慢了,有没有更好得方法!!??
SimonSui 2004-04-11
  • 打赏
  • 举报
回复
sorry,把行列式化成上三角行列式:O(n^2)
总的时间复杂度只有O(n^3)
100*100*100=1000000,很快就出来了吧
SimonSui 2004-04-11
  • 打赏
  • 举报
回复
线性方程组用行列式解,把行列式化成上三角行列式:O(n),再用克兰姆法则解:O(n).
总的时间复杂度只有O(n^2),很快的
i_am_a_frog 2004-04-10
  • 打赏
  • 举报
回复
设各点从上到下一次为,a,d,c
b e g
c f h
有(a-d)/Rab+(e-d)/Rde+(c-d)/Rdc=0
(b-e)/Rbe+(d-e)/Rde+(g-e)/Rge=0
(c-f)/Rcf+(e-f)/Ref+(h-f)/Rfh=0
解它就行了。就是解线性方程。他很有特点。左侧和右侧的更好解了
再多的话模仿它就行

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧