数据分析-MATLAB相关算法

上传人:di****ng 文档编号:36425083 上传时间:2018-03-28 格式:DOCX 页数:18 大小:27.75KB
返回 下载 相关 举报
数据分析-MATLAB相关算法_第1页
第1页 / 共18页
数据分析-MATLAB相关算法_第2页
第2页 / 共18页
数据分析-MATLAB相关算法_第3页
第3页 / 共18页
数据分析-MATLAB相关算法_第4页
第4页 / 共18页
数据分析-MATLAB相关算法_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《数据分析-MATLAB相关算法》由会员分享,可在线阅读,更多相关《数据分析-MATLAB相关算法(18页珍藏版)》请在金锄头文库上搜索。

1、数据分析-MATLAB 相关算法一非线性方程求解一非线性方程求解1二分法二分法m m 文件:文件:functionc,err,yc=bisect(f,a,b,delta)%f 是所要求解的函数%a,b 是区间的左右限%delta 是误差界%c 是近似解%yc 是函数 f 在 c 上的值,err 为误差if nargin0,disp(a,b)不是有根区间); return,endmax1=1+round(log(b-a)-log(delta)/log(2);for k=1:max1c=(a+b)/2;yc=feval(f,c);if yc=0a=c;b=c;break,elseif yb*yc0

2、b=c;yb=yc;elsea=c;ya=c;endif (b-a)ee=a(i,j);p=i;q=j;else c=0;endendendfor j=k:n %行交换行交换t=a(k,j);a(k,j)=a(p,j);a(p,j)=t;endif p=k %判断行列式是否换号判断行列式是否换号d=d*(-1);else d=d;endfor i=k:n %列交换列交换t=a(i,k);a(i,k)=a(i,q);a(i,q)=t;endif q=k %判断行列式是否换号判断行列式是否换号d=d*(-1);else d=d;endif a(k,k)=0for i=k+1:n %消元消元r=a(

3、i,k)/a(k,k);for j=k+1:na(i,j)=a(i,j)-r*a(k,j);endendelse d=d;endendfor i=1:n%求行列式求行列式d=d*a(i,i);enddisp(矩阵矩阵 a 的行列式为:的行列式为:)d2.矩阵的换行矩阵的换行function c=huanhang(a)%实现矩阵换行实现矩阵换行clear all;a=input(输入矩阵输入矩阵 a=);m,n=size(a);for j=1:nt=a(1,j);a(1,j)=a(2,j);a(2,j)=t;endc=a;disp(换行后矩阵换行后矩阵 a 变为:变为:)c 3.列主元消元法解方

4、程列主元消元法解方程function d=jiefang(a)%列主元消元法解方程列主元消元法解方程clear all;a=input(输入矩阵输入矩阵 a=);row,column=size(a);fori=1:column%每一列的列标每一列的列标m(i)=i;s(i)=0;x(i)=0;endfor k=1:row-1%最后一行不用比较最后一行不用比较e=a(k,k);p=k;q=k;fori=k:rowforj=k:column-1ifabs(a(i,j)abs(e)e=a(i,j);p=i;q=j;else c=0;endendend t=m(k); %换列标记换列标记m(k)=m(

5、q);m(q)=t;for i=1:row %列交换列交换t=a(i,k);a(i,k)=a(i,q);a(i,q)=t;endfor j=k:column %行变换行变换t=a(k,j);a(k,j)=a(p,j);a(p,j)=t;endifa(k,k)=0 %消元消元disp(非唯一解非唯一解)else for i=k+1:rowr=a(i,k)/a(k,k);for j=k:columna(i,j)=a(i,j)-r*a(k,j);endend endendifa(row,row)=0disp(非唯一解非唯一解)elses(row)=a(row,column)/a(row,row);s

6、(row)q=m(row);x(q)=s(row);for i=row-1:1for j=i+1:rows(i)=s(i)+a(i,j)*x(i);ends(i)=a(i,column)-s(i)/a(i,i);q=m(i);x(q)=s(i);end endfor i=1:rowx(i)end end4.两矩阵相乘两矩阵相乘function d=chengfa(A,B)% 实现两个矩阵相乘实现两个矩阵相乘clear all;A=input(输入矩阵输入矩阵 A=);B=input(输入矩阵输入矩阵 B=)m n=size(A);nb p=size(B);C=zeros(m,p);if n=n

7、bdisp(不满足矩阵相乘条件不满足矩阵相乘条件)else for i=1:mfor j=1:pd=0;for k=1:nd=d+A(i,k)*B(k,j);endC(i,j)=d;endenddisp(矩阵矩阵 AB 结果为:结果为:)C End5.矩阵元素最大值及下标矩阵元素最大值及下标function d=xunzhuyuan(a)%求一个矩阵的最大元素及其下标求一个矩阵的最大元素及其下标clear all;a=input(输入矩阵输入矩阵 a=);e=a(1,1); %设设 e=a(1,1)为最大元素为最大元素p=1;q=1;m,n=size(a);for i=1:mfor j=1:n

8、if abs(a(i,j)ee=a(i,j);p=i;q=j;else c=0;endendenddisp(最大元素为最大元素为:)d=a(p,q)disp(最大元素所在的行为最大元素所在的行为:)pdisp(最大元素所在的列为最大元素所在的列为:)qend6. 矩阵元素最大值及下标矩阵元素最大值及下标function d=zuidazhi(A)%求矩阵的最大元素及其下标求矩阵的最大元素及其下标clear all;A=input(输入矩阵输入矩阵 A=);B=A; %转置转置a,r=max(A); %求出矩阵求出矩阵 A 每一列的最大值和每列最大值所在的行数每一列的最大值和每列最大值所在的行数maxV,column=max(a); %最大元素及其所在的列最大元素及其所在的列b,c=max(B);maxV1,row=max(b);%最大元素及其所在的行最大元素及其所在的行disp(矩阵矩阵 A 的最大元素为:的最大元素为:)maxVdisp(矩阵矩阵 A 最大元素所在的列为:最大元素所在的列为:)columndisp(矩阵矩阵 A 最大元素所在的行为:最大元素所在的行为:)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号