MATLAB线性方程组的两种求解,matlab求解线性方程组
直接解法
Ax=l,求x。利用逆矩阵、矩阵除法、x=inv(A'A)*A'l
lind.m文件如下,
%求解线性方程组
% x1 + 2x2 + 3x3 + 9x4 = 5
%2x1 + 2x2 + 5x3 + 4x4 = 2
%3x1 + 5x2 + x3 + 5x4 = 3
%7x1 + 4x2 + 2x3 -10x4 = 8
A=[1 2 3 9;2 2 5 4;3 5 1 5;7 4 2 -10];
b=[5 2 3 8]';
x=A\b
c=inv(A)*b
d=inv(A'*A)*A'*b
输出
>> lind.m
x =
4.9227
-3.2373
-1.1680
1.1173
c =
4.9227
-3.2373
-1.1680
1.1173
d =
4.9227
-3.2373
-1.1680
1.1173
Warning: Direct access of structure fields returned by a function call (e.g.,
call to lind) is not allowed. See MATLAB 7.10 Release Notes, "Subscripting Into Function Return Values" for details.
??? Attempt to reference field of non-structure array.
求线性方程组通解
lind.m内容如下
%求解线性方程组通解
% X1 +5 *X2 -1 *X3 -1 *X4 = -1
% X1 -2 *X2 +1 *X3 +3 *X4 = 3
%3*X1 +8 *X2 -1 *X3 +1 *X4 = 1
% X1 -9 *X2 +3 *X3 +7 *X4 = 7
%系数矩阵和增广矩阵的秩都为2,说明有多组解,且基础解系4-2=2
%求基础解系用Z=null(A,'r'),可获得标准化的基础解系。特解采用广义逆函数pinv(A),
%可求得A的广义逆矩阵,采用x0=pinv(A)*b求得特解,通解为x=k1*x1+k2*x2+...+kn*xn+x0
A=[1 5 -1 -1 ;
1 -2 1 3;
3 8 -1 1;
1 -9 3 7];
b=[-1 3 1 7]';
r1=rank(A)%系数矩阵的秩
r2=rank(A,b)%增广矩阵的秩
Z=null(A,'r')%求基础解系
x0=pinv(A)*b%求得特解
%验证该解
k1=rand(1);
k2=rand(1);
x=k1*Z(:,1)+k2*Z(:,2)+x0
err=norm(A*x-b)
>> lind.m
r1 =
2
r2 =
2
Z =
-0.4286 -1.8571
0.2857 0.5714
1.0000 0
0 1.0000
x0 =
0.3785
-0.0876
0.1873
0.7530
x =
-0.1805
0.0994
0.2848
1.0315
err =
1.8971e-015
矛盾方程组最小二乘解
%矛盾方程组的最小二乘解
%原始数据表
% x 1 1 2 2 2 3 3 4 4 4 5 6
% y 14.8 15.9 20.2 20.0 18.55 22.2 20.9 21 18.3 20.7 16.1 14.75
% 分别一次
A=[ 1 1 2 2 2 3 3 4 4 4 5 6]';
t=ones(size(A));
A1=[t,A];
y= [14.8 15.9 20.2 20.0 18.55 22.2 20.9 21 18.3 20.7 16.1 14.75]';
%x=inv(A'*A)*A'*y
x1=pinv(A1)*y%线性回归方程系数
n=length(A);
rmse1=sqrt(sum((y-A1*x1).^2)/n)%均方误差
xsq=A.^2;
A2=[t,A,xsq]
x2=pinv(A2)*y%线性回归方程系数
rmse2=sqrt(sum((y-A2*x2).^2)/n)%均方误差
xmin=min(A);
xmax=max(A);
nx1=xmin:0.2:xmax;
ny1=x1(1)+x1(2)*nx1;
nx2=nx1;
ny2=x2(1)+x2(2)+x2(3)*nx2.^2;
plot(A',y,'*',nx1,ny1,'+b',nx2,ny2,'r')
输出
>> lind.m
x1 =
18.8820
-0.0861
rmse1 =
2.5105
A2 =
1 1 1
1 1 1
1 2 4
1 2 4
1 2 4
1 3 9
1 3 9
1 4 16
1 4 16
1 4 16
1 5 25
1 6 36
x2 =
10.3924
6.3994
-0.9793
rmse2 =
1.0960
MATLAB线性方程组的两种求解,matlab求解线性方程组相关推荐
- Matlab中的两种除法
Matlab中的两种除法 matlab中的向量运算,试比较: >>a=[1,1,1] a = 1 1 1 >> b=[2,2,2] b = 2 2 ...
- 100A有源电力滤波器(APF)MATLAB仿真,两种谐波补偿模式:全阶补偿和选阶补偿
100A有源电力滤波器(APF)MATLAB仿真,两种谐波补偿模式:全阶补偿和选阶补偿,matlab版本V2011,基于LCL滤波器的I型三电平拓扑仿真模型,三相四线制,软件锁相环,C语言编程提取谐波 ...
- matlab直流计算,一种基于MATLAB的直流开关振荡回路参数测量系统及计算方法与流程...
本发明属于电力电子 技术领域: ,具体为一种基于MATLAB的直流开关振荡回路参数测量系统及计算方法. 背景技术: :近些年来,我国在高压直流输电技术的研究和应用上取得了突飞猛进的发展,目前已投运的高 ...
- 用Prim和Kruskal两种算法,求解最小生成树
本文通过具体的算法模板题,给出Prim和Kruskal两种求解最小生成树求解过程和代码~ 由浅入深,通俗易懂 题目选自洛谷P3366 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则 ...
- matlab换挡程序,一种基于MATLAB换挡过程中快速锁定分析数据的方法与流程
本发明涉及汽车变速器数据分析,特别的,涉及一种基于matlab换挡过程中快速锁定分析数据的方法. 背景技术: 自动变速器的核心功能是能根据驾驶员意图进行自动换挡,解放驾驶员的左脚:在自动变速器的使用过 ...
- led的伏安特性曲线 matlab实现_一种基于MATLAB的分析避雷器伏安特性的方法与流程...
本发明属于电力电子技术领域,涉及一种基于MATLAB的分析避雷器伏安特性的方法. 背景技术: 目前,我国±1100kV特高压直流输电工程建设正在稳步推进,特高压直流系统用金属氧化物避雷器是直流输电系统 ...
- Matlab应变片仿真,一种基于Matlab/Adams联合仿真的真实路谱再现系统和方法与流程...
本发明属于汽车系统动力学仿真技术领域,特别是一种基于Matlab/Adams联合仿真的真实路谱再现系统和方法. 背景技术: 汽车系统动力学仿真技术是汽车设计制造中一项不可或缺的技术,尤其是在汽车操纵稳 ...
- matlab波特一致性,一种基于MATLAB的数据一致性的分析方法与流程
本发明属于电机性能数据的处理和分析技术领域,尤其涉及一种基于 MATLAB的数据一致性的分析方法. 背景技术: MATLAB是一种基于算法开发.数据可视化.数据分析以及数值计算的计算机高级编程语言和交 ...
- matlab建桥梁,一种基于MATLAB的桥梁建筑模型信息化连接方法与流程
本发明涉及桥梁工程结构仿真模拟的技术领域,尤其涉及一种基于MATLAB的桥梁建筑模型信息化连接方法. 背景技术: 建筑信息模型(Building Information Modeling,BIM)是实 ...
- MATLAB | 最小二乘法的两种解读
最小二乘法 大部分的最小二乘法公式推导,都是使用的 代价函数偏导 的方式来求得的,在这里首先展示如何通过代价函数求偏导的方式得到最小二乘公式,再展示李扬老师讲解的如何由向量到子空间的距离得来最小二乘法 ...
最新文章
- 大厂需要这样的Java工程师
- mysql按逗号拼接起来_MySQL ----- 计算字段(Trim,Concat,as)(九)
- js循环(for/for in/forEach/map/for of)详解
- VS2010数据库项目不能正常工作解决方案(转)
- 服务器端调用智能合约,《精通以太坊:开发智能合约和去中心化应用》 ——3.4 远程调用以太坊客户端...
- linux pam模块 cron,Linux-PAM 1.1.2 中文文档 - 6.32. pam_tally-登录计数器(统计)模块 | Docs4dev...
- Django---Model操作
- c# 对COM+对象反射调用时地址参数处理 c# 对COM+对象反射调用时地址参数处理
- 1.ELF之Elf Header
- c++如何快速写出get set_如何快速写出一篇合格的毕业论文
- 【前沿方案】华为自动驾驶网络解决方案.pdf(附80页pdf下载链接)
- oc中该使用lock还是gcd/syncronize
- java2048设计说明,Html5中的本地存储设计理念
- kubernetes-[1]-简单介绍
- C语言程序员个人简历范文,程序员求职放大招!牛人用C语言写简历
- python find_peaks 源码理解
- ioncube加密与解密 php代码
- IgA | 对抗病原菌,帮助共生菌定植的“重要开关”
- 通信工程和计算机考研哪个好,通信工程考研还是就业
- SQL count详细用法
热门文章
- 英特尔cpu发布时间表_2014英特尔处理器发布时间表
- c语言中正确的常量表达式,C语言常量变量表达式
- HDU 4568 Hunter
- iShare·AD小技巧--如何设置镂空的字体
- 聊天机器人与自动问答技术
- 回溯法、动态规划法——牛妹的蛋糕
- WGS84转GCj02
- 你不知道的“虚假需求”
- 联想台式计算机 不启动u盘,联想台式机u盘启动不了怎么办
- 联想台式计算机 不启动u盘,联想电脑没有u盘启动项怎么回事_联想电脑bios没有U盘启动项如何处理-系统城...