怎么增广矩阵怎么求解方程组, ,r2-r1这些是什么意思?

已解决问题
游戏手柄线路板上的R1&R2&R2&S3&OR&C1&C2&C3&都是什么意思,代表什么?请依次解答
提问时间: 17:11:02
浏览次数:3034
这些符号在电路板代表是电阻,具体是多少欧姆,还要看电阻本身的阻值。
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
第3章72矩陣初等变换与线性方程组作业解答.doc 8页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
第3章72矩陣初等变换与线性方程组作业解答
你可能关注的文档:
··········
··········
第3章 矩阵初等变换与线性方程组 (作业1)
一. 填空:
设, 则A变换为B的一个初等变换为(
由B变换为A的一个初等变换为(
二. 选择题:
设, B=, 其中矩阵B是矩阵A的行最简形, 以下5组初等变换及其次序: ① r1?r2, r2–2r1, r3+2r1; ② r3+r1, r1?1/2, r2–r1; ③ r1–2r2, r3+2r2, r1?r2; ④ r3+r1, r1–2r2, r1?r2; ⑤ r3+r1, r1–r2, r2–r1. 其中有(
)是由A变换为B的初等变换.
三. 把矩阵化为行最简形矩阵.
四. 利用矩阵的初等变换求方阵A=的逆阵.
所以,A–1=.
五. 已知AX + 2E = X +B, 其中, ,求矩阵X.
解: 由AX + 2E = X +B得, (A –E) X = B–2E, X=(A –E)–1(B–2E),
所以, X=(A –E)–1(B–2E) ==.
k取何值时矩阵A=可逆, 并在A可逆的条件下求A–1.
解: 显然|A|=k, 故A可逆当且仅当k?0. 以下求A–1.
方法一: (A:E)=
, 所以A–1=.
方法二: 将矩阵A分块, A==
由分块矩阵逆矩阵的有关结论有: A–1=,
所以A–1=.
第3章 矩阵初等变换与线性方程组
一. 填空:
1. 设,其中ai ? 0, bi ? 0( i = 1, 2, …, n),则R(A) =
解: A=(a1, a2, ???, an)T(b1, b2, ???, bn), R(A)?R((a1, a2, ???, an)T)R((b1, b2, ???, bn))=1?1=1,
而ai ? 0, bi ? 0( i = 1, 2, …, n), 故A ? O, R(A)?1, 所以R(A)=1.
2. 当齐次线性方程组Ax = 0的方程个数大于未知量个数时, 则方程组
解: 由条件知, 系数矩阵A的行数m大于列数n, 因此R(A)=n可能成立.
3. 设B为非齐次线性方程组Ax = b的增广矩阵, 则Ax = b有解的充分必要条件是
R(A)与R(B)
解: 根据非齐次线性方程组有解的充分必要条件.
二. 选择题:
1. 从矩阵A中划去一行得到矩阵B,则矩阵A, B的秩的关系为(
(A)R(A) = R(B) +1;
(B) R(A) > R(B);
(C) R(A) ? R(B) ? R(A) –1;
(D) R(B) > R(A) –1.
解: 结论(A)(B)(D)都是不能确定的(可以举反例), (C)结论是正确的.
2. 矩阵A的秩为r, 则下列结论正确的是(
(A) A的所有阶数大于r的子式全等于零;
(B) A没有r – 1阶的非零子式;
(C) A的所有r阶子式都不为零;
(D) A的所有r – 1阶子式都不为零.
解: 由矩阵秩和最高阶非零子式的概念可得3. 设非齐次线性方程组Ax = b有n个未知量, m个方程, 且R(A) = r, 则此方程组(
(A) r = m时, 有解; (B) r = n时, 有唯一解; (C) m = n时, 有唯一解; (D) r < n时, 有无穷多解.
解: 由条件知, 系数矩阵A为m?n阶矩阵, 增广矩阵B为m?(n+1)阶矩阵, 结论(B),(C),(D)均不能保证非齐次线性方程组有解的充分必要条件r=R(A)=R(B)成立而结论(A)表明m?R(B)?R(A)=r=m, 故结论(A)正确.
三. 求矩阵A =的秩,并求一个最高阶非零子式.
. 所以R(A)=3, A的一个最高阶非零子式为.
四. 求解齐次线性方程组:
解: 系数矩阵A=
令x4=c, 则,即方程组的通解为: (其中c任意常数).
五. 讨论? 为何值时, 非齐次线性方程组
(1)有唯一解; (2)无解; (3)有无穷多个解?
解: 增广矩
正在加载中,请稍后...
27页17页18页29页25页27页30页28页25页33页> 问题详情
已知习题13-6图示二端口网络的z参数矩阵为:,求R1、R2、R3和r的值。
悬赏:0&答案豆
提问人:匿名网友
发布时间:
已知习题13-6图示二端口网络的z参数矩阵为:,求R1、R2、R3和r的值。&&&
为您推荐的考试题库
您可能感兴趣的试题
1在LC正弦波振荡电路中,不用通用型集成运算放大器作放大电路的原因是其上限截止频率太低,难以产生高频振荡信号。
)2当集成运放工作在非线性区时,输出电压不是高电平,就是低电平。
)3一般情况下,电压比较器的集成运算放大器工作在开环状态,或者引入了正反馈。
我有更好的答案
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
每天只需0.4元
选择支付方式
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
恭喜你被选中为
扫一扫-免费查看答案!
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
提示:请截图保存您的账号信息,以方便日后登录使用。
常用邮箱:
用于找回密码
确认密码:查看: 6702|回复: 7
求助:花岗岩构造环境判别图解R1-R2图解具体怎么做啊?
主题铜板好友
高级工程师, 积分 694, 距离下一级还需 506 积分
高级工程师, 积分 694, 距离下一级还需 506 积分
例如R1=4Si-11(Na+K)-2(Fe+Ti),全岩数据Al2O3=14,Na2O=3,K2O=2,Fe2O3=4,TiO2=0.2.具体怎么算啊,图解中坐标范围是3000左右,咋整的呢?
主题铜板好友
资深会员, 积分 3477, 距离下一级还需 523 积分
资深会员, 积分 3477, 距离下一级还需 523 积分
在论坛里找&&岩石地球化学软件&&
锄禾日当午,签到好辛苦!...
主题铜板好友
钻石会员, 积分 9513, 距离下一级还需 10487 积分
钻石会员, 积分 9513, 距离下一级还需 10487 积分
我记得做过一次 数据也只是根据公式算出来的 最后用R1 R2 做个简单的投点 mapgis做的
历经100天的非洲之旅完成了,回国了..
主题铜板好友
高级工程师, 积分 694, 距离下一级还需 506 积分
高级工程师, 积分 694, 距离下一级还需 506 积分
有没有具体的啊&&高手老手们
该会员没有填写今日想说内容.
主题铜板好友
技术员, 积分 22, 距离下一级还需 78 积分
技术员, 积分 22, 距离下一级还需 78 积分
1.JPG (115.98 KB, 下载次数: 52)
16:04 上传
这里面用的是你所需要的差别图解。表里是具体的数据处理方法,而下面是计算公式。在经典地球化学课本中有。(所有的数据是千阳离子)如有需要,我们可以继续探讨。
主题铜板好友
地信院士, 积分 2534, 距离下一级还需 466 积分
地信院士, 积分 2534, 距离下一级还需 466 积分
请使用Minpet岩石化学计算软件。1、首先建立一个全岩文件;在文件中输入数据。2、选择Discrim(构造环境判别程序,然后在其中选择Grannite(花岗岩构造环境判别),最后选择其中的Batchelor+Bouden,1985图解,投影后即可获得R1-R2构造环境判别图解。
也可用Excel软件用阳离子数计算,制作R1-R2的x-y点图。然后用CorelDAO套在底图上。
该会员没有填写今日想说内容.
主题铜板好友
高级工程师, 积分 694, 距离下一级还需 506 积分
高级工程师, 积分 694, 距离下一级还需 506 积分
wrunsan 发表于
请使用Minpet岩石化学计算软件。1、首先建立一个全岩文件;在文件中输入数据。2、选择Discrim(构造环境判别 ...
谢谢哈&&我试试
该会员没有填写今日想说内容.
主题铜板好友
地信院士, 积分 2284, 距离下一级还需 716 积分
地信院士, 积分 2284, 距离下一级还需 716 积分
高手很多,学习了。
前段时间北京的天简直是冷煞我也!从澡房出来到宿舍不过一分钟,头发里的水分全结成冰嘎嘎;上课路途伴随身体颤栗和牙根磕磕;在没多少暖气的宿舍里还得无奈地做 ...
荣誉会员勋章
荣誉会员勋章
忘记密码,找回密码请发邮件到此邮箱:
Powered by  题目是优达学城机器学习入门线性代数作业。下面是我的实现。
  工具为jupyter notebook,不用该工具请自行导入相关依赖。
  完整内容已上传到github:https://github.com/ZingP/machine-learning/tree/master/linear_algebra
  本篇代码中引用的helper.py可到上面github上下载。
1 矩阵运算
1.1 创建一个4*4的单位矩阵
在创建矩阵之前注意选择seed:
# 任意选一个你喜欢的整数,这能帮你得到稳定的结果
seed = 9999
创建矩阵:
# 这个项目设计来帮你熟悉 python list 和线性代数
# 你不能调用任何NumPy以及相关的科学计算库来完成作业
# 本项目要求矩阵统一使用二维列表表示,如下:
A = [[1,2,3],
B = [[1,2,3,5],
[2,3,3,5],
[1,2,5,1]]
# 向量也用二维列表表示
#TODO 创建一个 4*4 单位矩阵
I = [[1,0,0,0],
[0,1,0,0],
[0,0,1,0],
[0,0,0,1]]
1.2 返回矩阵的行数和列数
def shape(M):
"""返回矩阵的行列"""
return len(M), len(M[0])
1.3 每个元素四舍五入到特定的小数位
# 每个元素四舍五入到特定小数数位
# 直接修改参数矩阵,无返回值
def matxRound(M, decPts=4):
num_row,num_clo = shape(M)
for r in range(num_row):
for c in range(num_clo):
M[r][c] = round(M[r][c], decPts)
1.4 计算矩阵的转置
def transpose(M):
# *M 分解出列表中的子元素(子列表)
# zip()将子列表中对应的元素打包成元组,返回包含一个个元组的列表
# 然后用列表推导式...真优雅啊
return [list(col) for col in zip(*M)]
1.5 计算矩阵乘法
# 计算矩阵乘法 AB,如果无法相乘则raise ValueError
def matxMultiply(A, B):
"""矩阵乘法"""
row_a, clo_a = shape(A)
row_b, clo_b = shape(B)
if clo_a == row_b:
for i in range(row_a):
res.append([])
for j in range(clo_b):
ele_sum = 0
for s in range(clo_a):
matx_ele = A[i][s] * B[s][j]
if matx_ele is list:
print(matx_ele)
ele_sum += matx_ele
res[i].append(ele_sum)
return res
raise ValueError
 以上是我的实现,再看下充分利用列表递推式的实现方式:
def matxMultiply(A,B):
_, c = shape(A)
r, _ = shape(B)
if c != r :
raise ValueError
Bt = transpose(B)
result = [[sum((a*b) for a,b in zip(row,col)) for col in Bt] for row in A]
return result
2 高斯消元法
2.1 构建增广矩阵
# 构造增广矩阵,假设A,b行数相同
def augmentMatrix(A, b):
if len(A) != len(b):
raise ValueError
augment_mat = []
for r in range(shape(A)[0]):
augment_mat.append([])
for c in range(shape(A)[1]):
augment_mat[r].append(A[r][c])
augment_mat[r].append(b[r][0])
return augment_mat
 再来看看利用列表递推式和zip函数的实现方式:
def augmentMatrix(A, b):
return [ra + rb for ra,rb in zip(A,b)]
2.2 初等行变换
(1)交换两行
# r1 &---& r2
# 直接修改参数矩阵,无返回值
def swapRows(M, r1, r2):
if (0 &= r1 & len(M)) and (0 &= r2 & len(M)):
M[r1], M[r2] = M[r2], M[r1]
raise IndexError('list index out of range')
(2)某行乘以标量
r1 &--- r1 * scale
# scale为0是非法输入,要求 raise ValueError
# 直接修改参数矩阵,无返回值
def scaleRow(M, r, scale):
if not scale:
raise ValueError('the parameter scale can not be zero')
M[r] = [scale*i for i in M[r]]
(3)某行乘以标量加到另一行
# r1 &--- r1 + r2*scale
# 直接修改参数矩阵,无返回值
def addScaledRow(M, r1, r2, scale):
if not scale:
raise ValueError
if (0 &= r1 & len(M)) and (0 &= r2 & len(M)):
M[r1] = [M[r1][i] + scale * M[r2][i] for i in range(len(M[r2]))]
raise IndexError('list index out of range')
2.3 高斯消元法求解:Ax = b
步骤1 检查A,b是否行数相同
步骤2 构造增广矩阵Ab
步骤3 逐列转换Ab为化简行阶梯形矩阵 中文维基链接
对于Ab的每一列(最后一列除外)
当前列为列c
寻找列c中 对角线以及对角线以下所有元素(行 c~N)的绝对值的最大值
如果绝对值最大值为0
那么A为奇异矩阵,返回None (你可以在选做问题2.4中证明为什么这里A一定是奇异矩阵)
使用第一个行变换,将绝对值最大值所在行交换到对角线元素所在行(行c)
使用第二个行变换,将列c的对角线元素缩放为1
多次使用第三个行变换,将列c的其他元素消为0
步骤4 返回Ab的最后一列
注: 我们并没有按照常规方法先把矩阵转化为行阶梯形矩阵,再转换为化简行阶梯形矩阵,而是一步到位。如果你熟悉常规方法的话,可以思考一下两者的等价性。
(2)推演可逆矩阵
通过这段代码生成矩阵:
from helper import *
A = generateMatrix(4,seed,singular=False)
b = np.ones(shape=(4,1)) # it doesn't matter
Ab = augmentMatrix(A.tolist(),b.tolist()) # please make sure you already correct implement augmentMatrix
printInMatrixFormat(Ab,padding=4,truncating=0)
得到矩阵:
然后进行初等行变换:
(3)推演奇异矩阵
通过代码生成矩阵:
A = generateMatrix(4,seed,singular=True)
b = np.ones(shape=(4,1)) # it doesn't matter
Ab = augmentMatrix(A.tolist(),b.tolist()) # please make sure you already correct implement augmentMatrix
printInMatrixFormat(Ab,padding=4,truncating=0)
得到矩阵:
然后进行初等行变换:
(4)高斯消去法的代码实现
我的low代码:
def gj_Solve(A, b, decPts=4, epsilon=1.0e-16):
if len(A) != len(b):
raise ValueError
elif len(A) != len(A[0]):
raise ValueError
Ab = augmentMatrix(A, b)
matxRound(Ab, decPts)
num_row, num_clo = shape(Ab)
for c in range(num_clo-1):
current_max = 0.0
current_row = c
for r in range(c, num_row):
if abs(Ab[r][c]) & current_max:
current_max = abs(Ab[r][c])
current_row = r
if abs(current_max) & epsilon:
return None
swapRows(Ab, c, current_row)
while abs((Ab[c][c]-1.0)) &= epsilon:
scaleRow(Ab, c, 1.0 / Ab[c][c])
for j in range(c):
while abs(Ab[j][c]) &= epsilon:
addScaledRow(Ab, j, c, -Ab[j][c])
for j in range(c + 1, num_row):
while abs(Ab[j][c]) &= epsilon:
addScaledRow(Ab, j, c, -Ab[j][c])
for row in range(num_row):
res.append([Ab[row][-1]])
return res
再看看参考答案的实现:
# 实现 Gaussain Jordan 方法求解 Ax = b
""" Gaussian Jordan 方法求解 Ax = b.
decPts: 四舍五入位数,默认为4
epsilon: 判读是否为0的阈值,默认 1.0e-16
返回列向量 x 使得 Ax = b
返回None,如果 A,b 高度不同
返回None,如果 A 为奇异矩阵
def gj_Solve(A,b,decPts=4,epsilon=1.0e-16):
if len(A) != len(b):
raise ValueError
Ab = augmentMatrix(A,b)
for c in range(len(A[0])):
AbT = transpose(Ab)
col = AbT[c]
maxValue = max(col[c:],key=abs)
if abs(maxValue) & epsilon:
return None
maxIndex = col[c:].index(maxValue)+c
swapRows(Ab,c,maxIndex)
scaleRow(Ab,c,1.0/Ab[c][c])
for i in range(len(A)):
if Ab[i][c] != 0 and i != c:
addScaledRow(Ab,i,c,-Ab[i][c])
matxRound(Ab)
return [[value] for value in transpose(Ab)[-1]
3 线性回归
3.1 随机生成样本点
用代码生成随机样本点:
from helper import *
from matplotlib import pyplot as plt
%matplotlib inline
X,Y = generatePoints(seed,num=100)
plt.xlim((-5,5))
plt.xlabel('x',fontsize=18)
plt.ylabel('y',fontsize=18)
plt.scatter(X,Y,c='b')
plt.show()
得到样本点如图:
不断修改下面的m和b的值,拟合直线。这里我选去m=3.0, b=7.0
# 请选择最适合的直线 y = mx + b
# 不要修改这里!
plt.xlim((-5,5))
x_vals = plt.axes().get_xlim()
y_vals = [m*x+b for x in x_vals]
plt.plot(x_vals, y_vals, '-', color='r')
plt.xlabel('x',fontsize=18)
plt.ylabel('y',fontsize=18)
plt.scatter(X,Y,c='b')
plt.show()
得到直线如下图:
3.2 计算平均平方误差 (MSE)
我们要编程计算所选直线的平均平方误差(MSE), 即数据集中每个点到直线的Y方向距离的平方的平均数,表达式如下:
代码实现:
# 实现以下函数并输出所选直线的MSE
def calculateMSE(X,Y,m,b):
if len(X) == len(Y) and len(X) != 0:
n = len(X)
square_li = [(Y[i]-m*X[i]-b)**2 for i in range(n)]
return sum(square_li) / float(n)
raise ValueError
print(calculateMSE(X,Y,m,b))
 得到的MSE是:1.4317。
3.3 的到最优参数
可以证明(此处不予证明)求解方程可以找到最优参数。其中向量Y,矩阵X和向量h分别为:
下面看下代码实现:
#实现线性回归
参数:X, Y
返回:m,b
def linearRegression(X, Y):
X = [[x, 1] for x in X]
Y = [[y] for y in Y]
XT = transpose(X)
A = matxMultiply(XT, X)
b = matxMultiply(XT, Y)
ret = gj_Solve(A, b)
return ret[0][0], ret[1][0]
m,b = linearRegression(X,Y)
print(m,b)# 3.9
最后我们看看得到的回归结果是什么,并用代码画出来:
x1,x2 = -5,5
y1,y2 = x1*m+b, x2*m+b
plt.xlim((-5,5))
plt.xlabel('x',fontsize=18)
plt.ylabel('y',fontsize=18)
plt.scatter(X,Y,c='b')
plt.plot((x1,x2),(y1,y2),'r')
plt.text(1,2,'y = {m}x + {b}'.format(m=m,b=b))
plt.show()
&最后得到的直线是:
求得的回归结果对当前数据集的MSE是:
print(calculateMSE(X,Y,m,b))# 1.2027
本篇就到这里,觉得还行记得点赞哦~~~ 
阅读(...) 评论()
登录到博客园之后,打开博客园的后台管理,切换到“设置”选项卡,将上面的代码,粘贴到 “页脚HTML代码” 区保存即可。

我要回帖

更多关于 矩阵方程组通解怎么求 的文章

 

随机推荐