利用Matlab进行高斯消元法
利用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进行高斯消元法相关推荐
- matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹
<实验五 利用MATLAB绘制系统根轨迹>由会员分享,可在线阅读,更多相关<实验五 利用MATLAB绘制系统根轨迹(6页珍藏版)>请在人人文库网上搜索. 1.实验五 利用MAT ...
- matlab对图像进行增强,利用matlab对图像进行增强处理.doc
利用matlab对图像进行增强处理.doc 郑州轻工业学院课程设计任务书题目利用MATLAB对图像进行增强处理专业.班级电子信息工程07级学号姓名主要内容.基本要求.主要参考资料等:主要内容:在图像形 ...
- matlab如何截取图像的中间部分_利用matlab提取并分割RGB图像中的某一个已知像素值的图像...
已知一副RGB图像中的的像素值,利用matlab将其分割出来并以二进制图像形式显示: %extract.m clear all; I=imread('new_original.png'); figur ...
- 【Matlab 控制】利用 Matlab Function 绘制分段函数
利用 Switch block 利用 Matlab Function block function [mean, stdev] = fcn(vals) % #codegen% calculates a ...
- 幅度调制信号 matlab,《利用MATLAB实现信号的幅度调制与解调.doc
<利用MATLAB实现信号的幅度调制与解调 课程设计论文 姓名:姜勇 学院:机电与车辆工程学院 专业:电子信息工程2班 学号:1665090208 安徽科技学院 学年第 学期 < > ...
- 利用Matlab优化工具箱求解旅行商最短路径问题
前面介绍了利用Matlab二元整数规划求解数独问题,对于另一个问题-旅行商问题也可以用它来求解. 旅行商问题就是找到经过所有站点的最短闭合路径,如下图为在美国地图框架内产生的200个旅行站点,而旅行商 ...
- 利用matlab处理点云
本文主要分享利用matlab点云工具的相关模块来处理点云,并通过点云轮廓对点云体积进行简单的估计测量. 目录 利用matlab处理点云 目录 主要的操作流程图 2具体流程 1 点云的读入和显示 2 点 ...
- Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示
Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示 目录 输出结果 实现代码 输出结果 实现代码 %Brownian motion clf; n=20; s=0.02; x = rand ...
- Matlab:利用Matlab实现布朗运动模拟
Matlab:利用Matlab实现布朗运动模拟 目录 输出结果 实现代码 输出结果 实现代码 n=40 s=0.04 x=rand(n,1)-0.5; y=rand(n,1)-0.5; h=plot( ...
最新文章
- 「GAN优化」小批量判别器如何解决模式崩溃问题
- linux修改目录block信息,linux下文件操作inode,block的变化
- 详述白盒测试的逻辑覆盖的路径覆盖及其优缺点
- 用java实现串匹配问题_java实现字符串匹配问题之求最大公共子串
- python和java学哪个好-Python和Java两门编程语言,学习哪个更好?
- excel宏教程_Excel多功能工具箱(收藏家必备)
- 东航建设漏洞管理平台的探索实践
- wap4410n 服务器上限修改,cisco wap4410n设置方法
- python自动生成文章原创_Python文章原创度检测脚本【亲测有效】
- matlab自动运行,在指定时间自动运行Matlab程序
- 自己建网站的步骤及方法
- pytorch读取数据集(分类文件夹加载)—ImageFolder()
- eclipse如何设置中文
- 为什么“家徒四壁”中的徒是仅仅,只有的意思?
- 【板绘手绘线稿素材资料】从素描到板绘,超全的人物嘴巴画法!
- 如何去除图片中的白色背景(变透明)
- 纯函数,副函数具体例子
- 从JDBC到Mybatis以及IDEA通过mybatis开发Springboot
- 按日期生成文件夹,并删除之前的文件夹
- 手动管理采购订单周期的挑战以及如何应对
热门文章
- Java相对路径与类路径详解
- 应用程序无法正常启动(0xc000007b) 问题解决
- 存在正文时不允许未命名的原型参数_用Swift开发macOS程序, 六、原型、格式与开发说明...
- 论文投稿指南——SCI选刊
- rust画质怎么设置不卡顿_腐蚀游戏怎么提高帧数 Rust设置隐藏画质提高FPS教程
- linux --chdir() 改变当前工作目录函数
- matlab进行道格拉斯筛选,用MATLAB计算柯布道格拉斯函数,需要计算程序,急!谢谢大神...
- 《30天自制操作系统》-day0(MAC)
- 【Try to Hack】Kerberos基础
- TextView简介