level 15
不知道您要计算什么和想如何实现。左边的程序板是蛇足,为矩阵清零,在这里没有必要。右边的程序板就是拿一堆零在折腾,计算结果也是一堆零。这是我看了您的程序后的感觉,没有实际运算。您在您的页面中键入,EP= ,看看会出现什么。您不按吧规上传源文件,无法实际运算。只能臆测。
2018年11月08日 13点11分
2
您好,我是一名大学生,这是老师布置作业里的一个范例,目的是应用有限差分法求解一个金属槽内任意点的电位和场强并做图,基本思路是先定义各点电位初值,再用高斯-赛德尔迭代法逐步逼近真值(具体方法在下面说)。课本上说要以0为初始值起始迭代,其实我也不明白为什么,无奈老师说交作业前不答疑。。
2018年11月08日 14点11分
level 15
在定义了矩阵的行数和刘数后,矩阵就存在了。这时的矩阵的所有的元素的值都默认为零。所以使用矩阵前没有必要清零。
2018年11月08日 13点11分
3
刘数一一列数
2018年11月08日 13点11分
level 15
在一些编程语言中是要求初始数组清零的,但是在MC中通常可以省略清零的步骤。
2018年11月08日 13点11分
4
level 9
这个题目的要求是定义一个正方形金属框最上面的一条边上电位为10,然后定义其它点的电位初值都为0,接着设某一点(i,j)的电位EP_i,j的第N次迭代值EP_N和第N+1次迭代值EP_M,令除去四条边外的每一点按照从左到右、从下到上的顺序运算EP_Mi,j=1/4(EP_M(i-1,j)+EP_M(i,j-1)+EP_N(i,j+1)+EP_N(i+1,j)),当这些点两次迭代之间的差值都满足小于10的-5次方时就退出计算。
这个程序里我不太懂的地方是:
1.定义EP_Init里为什么多出来了一个Pot_I?
2.第一次将 EP_M 减 EP_N 的绝对值 与Max进行比较时没有定义Max的初值,是否默认为0 了?
3.我写了下EP= ,结果出来的矩阵里全为0,不知道哪里错了
4.如果要画出给出那样的等势线是否在等值线的框下面输入EP再回车就可以了
2018年11月08日 14点11分
5
level 15
请看置顶的吧规,上传源文件,哪有那么多功夫把枯燥的一大堆字符重敲一遍?
2018年11月08日 15点11分
7
level 15
我把两个程序板合并成了一个,并且把多余的语句和变量都删除了。
2018年11月08日 16点11分
10
level 15
页面的最左边的一栏写正文,其它栏中不要写入正文,只作打草稿用。
2018年11月11日 02点11分
19
感谢指导,第(1)问已经解决了,请问能帮忙看下第(2)问问题出在哪儿吗?
2018年11月11日 08点11分
level 15
用while 1 比用while max=0 快
少了一次逻辑运算
用变量ε比用10^-5快
提取变量比提取常数快
要养成优化程序的好习惯
会对编写大型程序有好处
2018年11月11日 09点11分
22
非常感谢,不过正确的曲线图不应该是这样的,我会再去反思一下自己哪里又出错了
2018年11月11日 09点11分
虽然感觉这样算迭代次数没错,但是实际上的函数图应该是P在1.677附近取最小值的凹曲线啊。。怎么想都想不出来哪里错了
2018年11月11日 15点11分