Python中文
首页
教程
问答
标签
搜索
登录
注册
反替换求解Ax=b的Python函数
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>好的,对于我的数值方法课,我有以下问题:</p> <p>编写一个Python函数,通过反代换求解Ax=b,其中a是上三角非奇异矩阵。这方面的MATLAB代码在第190页,如果您愿意,可以将其用作伪代码指南。函数应该接受输入A和b并返回x。您的函数不需要检查A是否非奇异。也就是说,假设只有非奇异的A才会传递给函数。</p> <p>它引用的MATLAB代码是:</p> <pre><code>x(n) = c(u)/U(n,n) for i = n-1 : -1 : 1 x(i) = c(i); for j = i+1 : n x(i) = x(i) - U(i,j)*x(j); end x(i) = x(i)/U(i,i); end </code></pre> <p>我的Python代码是用MATLAB代码片段编写的,上面有一个三角形测试矩阵(不确定它是否是非奇异的!如何测试奇点?)以下内容:</p> <pre><code>from scipy import mat c=[3,2,1] U=([[6,5,1],[0,1,7],[0,0,2]]) a=0 x=[] while a<3: x.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(1) a=a+1 n=3 i=n-1 x[n-1]=c[n-1]/U[n-1][n-1] while i>1: x[i]=c[i] j=i+1 while j<n-1: x[i]=x[i]-U[i][j]*x[j]; x[i]=x[i]/U[i][i] i=i-1 print mat(x) </code></pre> <p>我得到的答案是x的[[110]],我不确定我做的是否正确。我想这是错的,不知道下一步该怎么办。有线索吗?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我看到的一个问题是,您的输入由整数组成,这意味着Python将对它们进行整数除法,这将把<code>3/4</code>变成<code>0</code>,而您需要的是浮点除法。默认情况下,可以通过添加</p> <pre><code>from __future__ import division </code></pre> <p>在你的代码顶部。从使用scipy来看,我假设您在这里使用的是Python 2.x。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
从Django temp访问容器的方法
2 回答
从Django temp请求ModelForm实例
3 回答
从Django temp返回JSON
7 回答
从Django timesince模板等效项中删除尾部数据
6 回答
从Django timesin删除尾随数据
6 回答
从Django UpdateView模板下载文件
4 回答
从Django url传递“start”会出现错误“start()只接受2个参数(给定1个)”
1 回答
从Django url运行的websockets错误:RuntimeError:线程“Dummy1”中没有当前事件循环
4 回答
从Django user mod获取用户全名
6 回答
从Django UserCreateForm中删除帮助文本
8 回答
从Django values()获取外键值
8 回答
从Django vi中的按钮获取click事件
4 回答
从Django vi从HttpResponse检索JSON
2 回答
从Django vi以json形式返回的数据中检索元素
8 回答
从Django vi取消或取消eventlet中的芹菜任务
6 回答
从Django vi启动多核后台进程
10 回答
从Django vi开始
7 回答
从Django Vi构建HTML
5 回答
从Django vi访问进程数据
4 回答
从Django vi调用pysnmp发送超时
10 回答