利用Matlab进行高斯消元法

  • 思路
  • 代码:
  • 参考资料

思路

采取两种思路(1)不进行行行交换的高斯消元法(2)有行行交换(列主消元法)
算法如下:
(1)没有行行交换的消元的算法图

(2)列主消元法的算法图

代码:

//
function [r_m]=gaosi_whh(coe_m)%现在可以输出不进行行交换的高斯消元
[row_m,col_m]=size(coe_m);
if row_m~=col_mprint('input wrong');
elsefor i=1:row_m-1if coe_m(i,i)==0print('main element',coe_m(i,i), 'is 0');%判断主元是否为0break;elsefor k=i+1:row_mm=coe_m(k,i)/coe_m(i,i);%求乘子for j=i:row_mcoe_m(k,j)=coe_m(k,j)-m*coe_m(i,j);endendendendr_m=coe_m;%输出矩阵消元结果
endfunction [r_m]=gaosi_lzxy(coe_m) %列主消元方法(交换行),输入系数矩阵
[row_m,col_m]=size(coe_m);
if row_m~=col_mprint("输入矩阵",coe_m,"不是方阵")
elsefor i=1:row_mp(i)=i;endfor i=1:row_m[~,j]=max(abs(coe_m(p(i:row_m),i)));% ~是最大绝对值,j返回了位置       m=p(i);p(i)=p(j+i-1);p(j+i-1)=m;%交换p的第i个和第j个元素for k=i+1:row_mm=coe_m(p(k),i)/coe_m(p(i),i);%求乘子for x=i:row_mcoe_m(p(k),x)=coe_m(p(k),x)-m*coe_m(p(i),x);endendend%进行初等行变换,使输出消元的矩阵是上三角阵q=eye(row_m);for i=1:row_mt(i,:)=q(p(i),:);endr_m=t*coe_m;%左乘即初等行变换
end%结果展示
a=[6,-4,2;4,2,1;2,-1,1];
gaosi_whh(a)ans =6.0000   -4.0000    2.00000    4.6667   -0.33330         0    0.3571gaosi_lzxy(a)ans =6.0000   -4.0000    2.00000    4.6667   -0.33330         0    0.3571b=[2,3,1;4,1,4;3,4,6];
gaosi_whh(b)ans =2.0000    3.0000    1.00000   -5.0000    2.00000         0    4.3000
gaosi_lzxy(b)ans =4.0000    1.0000    4.00000    3.2500    3.00000         0   -3.3077

参考资料

[1]: 线性代数(原书第八版)Steven J.Leon著,张文博、张丽静译

利用Matlab进行高斯消元法相关推荐

  1. matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹

    <实验五 利用MATLAB绘制系统根轨迹>由会员分享,可在线阅读,更多相关<实验五 利用MATLAB绘制系统根轨迹(6页珍藏版)>请在人人文库网上搜索. 1.实验五 利用MAT ...

  2. matlab对图像进行增强,利用matlab对图像进行增强处理.doc

    利用matlab对图像进行增强处理.doc 郑州轻工业学院课程设计任务书题目利用MATLAB对图像进行增强处理专业.班级电子信息工程07级学号姓名主要内容.基本要求.主要参考资料等:主要内容:在图像形 ...

  3. matlab如何截取图像的中间部分_利用matlab提取并分割RGB图像中的某一个已知像素值的图像...

    已知一副RGB图像中的的像素值,利用matlab将其分割出来并以二进制图像形式显示: %extract.m clear all; I=imread('new_original.png'); figur ...

  4. 【Matlab 控制】利用 Matlab Function 绘制分段函数

    利用 Switch block 利用 Matlab Function block function [mean, stdev] = fcn(vals) % #codegen% calculates a ...

  5. 幅度调制信号 matlab,《利用MATLAB实现信号的幅度调制与解调.doc

    <利用MATLAB实现信号的幅度调制与解调 课程设计论文 姓名:姜勇 学院:机电与车辆工程学院 专业:电子信息工程2班 学号:1665090208 安徽科技学院 学年第 学期 < > ...

  6. 利用Matlab优化工具箱求解旅行商最短路径问题

    前面介绍了利用Matlab二元整数规划求解数独问题,对于另一个问题-旅行商问题也可以用它来求解. 旅行商问题就是找到经过所有站点的最短闭合路径,如下图为在美国地图框架内产生的200个旅行站点,而旅行商 ...

  7. 利用matlab处理点云

    本文主要分享利用matlab点云工具的相关模块来处理点云,并通过点云轮廓对点云体积进行简单的估计测量. 目录 利用matlab处理点云 目录 主要的操作流程图 2具体流程 1 点云的读入和显示 2 点 ...

  8. Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示

    Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示 目录 输出结果 实现代码 输出结果 实现代码 %Brownian motion clf; n=20; s=0.02; x = rand ...

  9. Matlab:利用Matlab实现布朗运动模拟

    Matlab:利用Matlab实现布朗运动模拟 目录 输出结果 实现代码 输出结果 实现代码 n=40 s=0.04 x=rand(n,1)-0.5; y=rand(n,1)-0.5; h=plot( ...

最新文章

  1. 「GAN优化」小批量判别器如何解决模式崩溃问题
  2. linux修改目录block信息,linux下文件操作inode,block的变化
  3. 详述白盒测试的逻辑覆盖的路径覆盖及其优缺点
  4. 用java实现串匹配问题_java实现字符串匹配问题之求最大公共子串
  5. python和java学哪个好-Python和Java两门编程语言,学习哪个更好?
  6. excel宏教程_Excel多功能工具箱(收藏家必备)
  7. 东航建设漏洞管理平台的探索实践
  8. wap4410n 服务器上限修改,cisco wap4410n设置方法
  9. python自动生成文章原创_Python文章原创度检测脚本【亲测有效】
  10. matlab自动运行,在指定时间自动运行Matlab程序
  11. 自己建网站的步骤及方法
  12. pytorch读取数据集(分类文件夹加载)—ImageFolder()
  13. eclipse如何设置中文
  14. 为什么“家徒四壁”中的徒是仅仅,只有的意思?
  15. 【板绘手绘线稿素材资料】从素描到板绘,超全的人物嘴巴画法!
  16. 如何去除图片中的白色背景(变透明)
  17. 纯函数,副函数具体例子
  18. 从JDBC到Mybatis以及IDEA通过mybatis开发Springboot
  19. 按日期生成文件夹,并删除之前的文件夹
  20. 手动管理采购订单周期的挑战以及如何应对

热门文章

  1. Java相对路径与类路径详解
  2. 应用程序无法正常启动(0xc000007b) 问题解决
  3. 存在正文时不允许未命名的原型参数_用Swift开发macOS程序, 六、原型、格式与开发说明...
  4. 论文投稿指南——SCI选刊
  5. rust画质怎么设置不卡顿_腐蚀游戏怎么提高帧数 Rust设置隐藏画质提高FPS教程
  6. linux --chdir() 改变当前工作目录函数
  7. matlab进行道格拉斯筛选,用MATLAB计算柯布道格拉斯函数,需要计算程序,急!谢谢大神...
  8. 《30天自制操作系统》-day0(MAC)
  9. 【Try to Hack】Kerberos基础
  10. TextView简介