多元一次方程组的求解
求解多元一次方程组:
f(1,1)x1+f(1,2)x2+f(1,3)x3+...=f(1,n)
f(2,1)x1+f(2,2)x2+f(2,3)x3+...=f(2,n)
f(3,1)x1+f(3,2)x2+f(3,3)x3+...=f(3,n)
......
f(m,1)x1+f(m,2)x2+f(m,3)x3+...=f(m,n)
采用高斯消元法:
Option Base 1
Function Determinant(ByRef factor) As Single
Dim i As Long, j As Long, k As Long, row As Long, order As Long
Dim r As Long, c As Long, Pivot As Single, Pivot2 As Single, temp() As Single
Determinant = 1
Dim m
m = factor
row = UBound(m, 1)
If Not UBound(m, 2) = row + 1 Then MsgBox "无解或不定解!": Exit Function
ReDim temp(1 To row)
For i = 1 To row
Pivot = 0
For j = i To row
For k = i To row
If Abs(m(k, j)) > Pivot Then
Pivot = Abs(m(k, j))
r = k: c = j
End If
Next k
Next j
If Pivot = 0 Then Determinant = 0: Exit Function
If r <> i Then
order = order + 1
For j = 1 To row
temp(j) = m(i, j)
m(i, j) = m(r, j)
m(r, j) = temp(j)
Next j
End If
If c <> i Then
order = order + 1
For j = 1 To row
temp(j) = m(j, i)
m(j, i) = m(j, c)
m(j, c) = temp(j)
Next j
End If
Pivot = m(i, i)
Determinant = Determinant * Pivot
For j = i + 1 To row
Pivot2 = m(j, i)
If Pivot2 <> 0 Then
For k = 1 To row
m(j, k) = m(j, k) - m(i, k) * Pivot2 / Pivot
Next
End If
Next
Next
Determinant = Determinant * (-1) ^ order
End Function
Sub getresult(ByRef factor(), ByRef answer As String)
Dim row As Integer, i As Integer, D0 As Single
Dim m
Dim result() As String
row = UBound(factor, 1)
ReDim result(1 To row)
D0 = Determinant(factor)
If D0 = 0 Then MsgBox "无解!": Exit Sub
For i = 1 To row
m = factor
For j = 1 To row
m(j, i) = factor(j, row + 1)
Next
result(i) = "X" & i & "= " & Format(Determinant(m) / D0, "0.00") ' Di/D0
Next
answer = Join(result, vbCrLf)
End Sub
Private Sub Command1_Click()
Dim Param(3, 4) ' 三元一次方程组
Dim i As Integer
For i = 1 To 4
Param(1, i) = Choose(i, 1, 1, 1, 6) ' x1+x2+x3=6
Param(2, i) = Choose(i, 2, -1, 3, 5) ' 2x1-x2+3x3=5
Param(3, i) = Choose(i, 4, 2, -3, 3) '4x1+2x2-3x3=3
Next
Dim answer As String
getresult Param, answer
Debug.Print answer
End Sub
返回:
X1= 0.83
X2= 3.04
X3= 2.13
转载于:https://www.cnblogs.com/fengju/archive/2006/11/03/6336317.html
多元一次方程组的求解相关推荐
- Excel解多元一次方程组(线代)
目录: 方法一:矩阵解法 方法二:用克莱姆法则 方法三:用规划求解 ---------------------------------------------- Excel中解多元一次方程组的三种方法 ...
- 计算机怎么接多元一次方程,使用Excel解多元一次方程组的三种方法
本文列出了使用Excel中解多元一次方程组的三种方法:矩阵解法.用克莱姆法则和用规划求解的方法. 方法一:矩阵解法 原理:对于由n个未知数,n个方程组成的多元一次方程组: 写成矩阵形式为Ax=b,其中 ...
- 怎样用c语言编程解多元方程组,C语言解多元一次方程组(矩阵法)
C语言解多元一次方程组(矩阵法) 发布时间:2016年06月08日 评论数:抢沙发 阅读数:2560 #include #include #define Han 200//(可自设)多元一次方程组有n ...
- 组合数学之隔板法:多元一次方程组解的统计
1. 内容 讨论多元一次不定方程: x 1 + x 2 + . . . + x d = t x_1 + x_2 + ... + x_d = t x1+x2+...+xd=t有解的情况 隔板法求解 ...
- Python求解多个多元一次方程组(完整可运行版本代码)
问题描述: 三个未知量构成一个方程式,该CSV文件中一共有N行数据有关[x, y, z]的系数,求解三个未知量[x, y, z]的值. 文章目录 前言 一.工具包 二.使用步骤 1.读入文件 2.编写 ...
- python解三元一次方程组_关于实现求解三元一次方程组的小程序的一点小研究
引入 在今年的暑假,作者利用空闲时间阅读了gilbert strange的introduction to linear algebra.作为享誉国际学界多年的MIT教材,该书以高斯消元法求解二三元方程 ...
- 利用矩阵解多元一次方程
一.利用for循环解多元一次方程 package day4_01; public class Demo1 {/*** 利用for循环解决三元一次方程* 2X-7=y* 5X+3Y+2Z=3* 3X+Z ...
- 三元一次方程组计算机解法,math 三元一次方程组的解法
math & 三元一次方程组的解法 class 6 math 例题 问题: 1. 已经做好的与没有做好的比例是 5 比 7; 2 再做好51,完成总数的 70%; 3. 问,一共要做多少朵花? ...
- c语言解三元一次方程组_一次二次反比例,一山更比一山高?二次函数三大解析式详解...
hello,大家好.咱们又见面了,我就是传播知识传播爱的吴老师. 说起初中的三大函数:一次函数,二次函数和反比例函数.这三大函数在众多的初中生心头就是三座难以逾越的高山,而其中最难的二次函数就好比喜马 ...
最新文章
- 线程的堆栈——Windows核心编程学习手札之十六
- 中级软件测试笔试题100精讲_数字IC设计职位经典笔试面试100题(71~80)
- 【每周NLP论文推荐】 聊天机器人中FAQ相关的论文推荐
- java中channelmessage,MessagePack在Netty中的应用
- Repeater嵌套绑定Repeater
- 腾讯会议扩容背后:100万核计算资源全由自研服务器星星海支撑
- 缺少ntstrsafe.lib kndis5mp.lib解决办法
- php怎么输出汉字大写的时间,php汉字转首字母大写的方法是什么
- config.txt for raspberry pi b 2
- 【系列4】使用Dockerfile创建带tomcat的Centos Docker镜像
- jenkins vue 打包特别慢_Jenkins 自动化部署
- 为什么会出现双摄像头手机?
- 明解C语言入门篇_第12章_结构体
- Windows Server之浅谈SMB以及SMB小案例分享
- 山东二本计算机排名大学最新,山东二本大学排名最新
- 12-Java 继承抽象类代码块(详解~)
- jQuery创建、添加、删除元素
- 涨粉神器,粉丝零距离交流!CSDN APP迎来更新
- sql查询语句,在表中的一个字段的部分数据中查看其他字段
- win2008R2 不能访问局域网共享\局域网共享中无本机,解决办法.