首页 > 文库大全 > 精品范文库 > 1号文库

Matlab 使用之线性代数综合实例讲解

Matlab 使用之线性代数综合实例讲解



第一篇:Matlab 使用之线性代数综合实例讲解

一、上机目的

1、培养学生运用线性代数的知识解决实际问题的意识、兴趣和能力 ;

2、掌握常用计算方法和处理问题的方法;

二、上机内容

1、求向量组的最大无关组;

2、解线性方程组;

三、上机作业

1、设A=[2 1 2 4;1 2 0 2;4 5 2 0;0 1 1 7]; 求矩阵A列向量组的一个最大无关组.>> A=[2 1 2 4;1 2 0 2;4 5 2 0;0 1 1 7] A = 2 1 2 4 1 2 0 2 4 5 2 0 0 1 1 7 >> rref(A)ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 所以矩阵A的列向量组的一个最大无关组就是它本身;

2、用Matlab解线性方程组(1)

>> A=[2 4-6;1 5 3;1 3 2] A = 2 4-6 1 5 3 1 3 2 >> b=[-4;10;5]

b =-4 10 5 >> x=inv(A)*b x =-3.0000 2.0000 1.0000 >> B=[3 41-62;4 50 3;11 38 25] B = 3 41-62 4 50 3 11 38 25 >> c=[-41;100;50] c =-41 100 50 >> x=inv(B)*c x =-8.8221 2.5890 1.9465

3、(选作)减肥配方的实现

设三种食物每100克中蛋白质、碳水化合物和脂肪的含量如下表,表中还给出了20世纪80年代美国流行的剑桥大学医学院的简捷营养处方。现在的问题是:如果用这三种食物作为每天的主要食物,那么它们的用量应各取多少才能全面准确地实现这个营养要求?

四、上机心得体会

通过此次上机实验,我进一步的认识到了Matlab软件的功能。Matlab操作简单、功能强大,它使一些复杂的线性代数问题的计算变得更加简单,有效地提高了人们计算的效率。而且把一些复杂的实际问题转化为矩阵后再利用Matlab求解既简单有快捷。

通过线性代数的学习,能使学生获得应用科学中常用的矩阵、线性方程组等理论及其有关基本知识,并具有较熟练的矩阵运算能力和用矩阵方法解决一些实际问题的能力。同时,该课程对于培养学生的逻辑推理和抽象思维能力、空间直观和想象能力具有重要的作用。所以我们要掌握Matlab,并熟练地使用它来解决遇到的实际问题。

第二篇:Matlab 与线性代数教案

Matlab 与线性代数

一、Matlab 入门:

1.启动、退出、运行: 2.窗口介绍: 3.基本符号: =:赋值符号

[ ]:数组定义符号 , 区分列 函数参数分隔符;区分行 取消运行显示 % 注释标记

: 具有多种应用功能

4.matlab的变量(区分大小写): 预定义变量: ans

pi 相关命令: format(显示格式 rat long short)

who whos clear

5.M 文件(纯文本文件,扩展名为.m)建立 修改 保存 运行

二、Matlab 与线性代数的基本运算

1.矩阵的输入

数字矩阵:A=[1 2 3;3 2 1]

或 A=[1, 2, 3;3, 2, 1] 或 A=[1 2 3 2 1]

符号矩阵(显示出来元素之间有逗号): 定义符号变量 sym syms

用法:(1).sym(‘[a,b,c;b,c,a]’)或 sym(‘[a b c;b c a]’)

(2).syms a b c

A=[a b c;b c a]

2.产生特殊矩阵的函数:

zeros(m,n)zeros(n)

ones(m,n)ones(n)eye(n)

magic(n)rand(m,n)randn(n)% 产生(0,1)区间均匀分布的随机矩阵

3.相关命令:

round(A)% 表示对矩阵A中所有元素进行四舍五入 length(A)% 返回A的长度(列数)size(A)% 返回A的尺寸,行数 列数 A(i,j)% 引用矩阵A的第i行第j列元素

4.矩阵的基本运算

(1).+-*.*

(2).转置 A’

(3).方阵的幂:A^3

5.求向量组的极大无关组

A[1,2,3 ]

(1).U=rref(A)% U为A的行最简形

(2).[U,s]=rref(A)% U为A的行最简形, s为首非零元所在列组成的向量

(3).rrefmovie(A)% 返回A的行最简形,且给出每一步化简过程

6.求线性方程组的解

情形1。Ax=b,其中A为n阶可逆阵

法1: x=inv(A)*b 或 x=A^(-1)*b

法2: U=rref([A,b])% 返回值U为矩阵的行最简形,最后一列即为解x。

情形2。Ax=0, 其中A 为m*n 矩阵,R(A)=r

法1:U=rref(A), 选定自由变量,得到一组基础解系

法2:z=null(A)

% z的列向量为Ax=0的一组标准正交基。

情形3。Ax=b, 其中A 为m*n 矩阵, 求通解

U=rref([A,b])从最后一列找特解,前n列找导出组的基础解系,然后按格式写

出Ax=b的通解。(或先写出以U为增广矩阵的同解方程组也可。)

6x13x22x33x44x554x12x2x32x43x54

例子: .4x2x3x2xx0234512xx7x3x2x112345(4).(5).(6).(7).方阵行列式 det(A)方阵的秩 rank(A)方阵的逆 inv(A)或 A^(-1)矩阵的除法 左除 右除/

AB=C

则 A=C/B B=AC 输入:A=[6 3 2 3 4;4 2 1 2 3;4 2 3 2 1;2 1 7 3 2];

b=[5 4 0 1]’;

U=rref([A,b])10得到:U001/2000010000103/417/203/22 603/20取x2,x5为自由变量,令x20,x50得Ax=b的特解*2

60

1/23/410x210分别令和得导出组的基础解系为:10,21

x50107/2013x24x5x112x3x5或:导出组Ax=0的同解方程组:,x2,x5为自由变量,分别令x47x521/23/410x21,x50和x20,x51得导出组的基础解系为:10,21。

07/2017.求矩阵的特征值与特征向量

(1).d=eig(A)% d为矩阵A的特征值构成的向量

(2).[V,D]=eig(A)% D为A 的特征值构成的对角阵,V 的列为A的单位特征向

量,与D中的特征值对应,满足:AVDV8.Schmidt 正交化方法

B=orth(A)% B的列向量为A的列空间的一组标准正交基,换句话说,B的列是

A的列向量的正交标准化,满足B*Beye(rank(A))。

9.用正交变换化二次型为标准形

先写出所给二次型的矩阵A,则A为实对称矩阵,[V,D]=eig(A)% D 为A的特征值构成的对角阵,V的列向量为A的正交单位特征

向量,次序与D的元素对应。满足VAVDVT1'1,即AVVD。

AV。

第三篇:matlab线性代数例题

《数学实验》在线习题3 Matlab程序设计部分 一.分析向量

a1[1T2a23],T[a31T2,0],a4[121]T,a5[246]T的线性相关性,找出它们的最大无关组,并将其余向理表示成最大无关组的线性组合。

解,a1=[1 2 3]';

a2=[-1-2 0]';a3=[0 0 1]';a4=[1-2-1]';a5=[2 4 6]';A=[a1,a2,a3,a4,a5];[R,S]=rref(A)r=length(S)

R =

1.0000 0 0.3333 0 2.0000 0 1.0000 0.3333 0 0 0 0 0 1.0000 0

S =

4

r =

线性相关 a1,a2,a3,a4,a5 最大无关组是a1,a2,a4 其余向量的线性组合是a3=1/3a1+1/3a2 a5=2a1

二.计算行列式

x13D4x23x33x43x12y1x22y2x32y3x42y4x1y12x2y22x3y32x4y42y13y23y3323的值。其中1解,syms x1 x2 x3 x4 y1 y2 y3 y4 xxxy43

x42357,y1y2y3y44567。

D=[x1^3 x1^2*y1 x1*y1^2 y1^3;x2^3 x2^2*y2 x2*y2^2 y2^3;x3^3 x3^2*y3 x3*y3^2 y3^3;x4^3 x4^2*y4 x4*y4^2 y4^3];d=det(D)x1=2;x2=3;x3=5;x4=7;y1=4;y2=5;y3=6;y4=7;eval(d)

d = ans =

153664 三.已知向量a1,1,0,b1,0,1,求向量a与b的夹角的度数。解,a=[1-1 0];b=[-1 0-1];

x=a.*b;x1=sum(x,2);x2=norm(a);x3=norm(b);y=x1/(x2*x3)y1=acos(y)y =

-0.5000

y1 =

2.0944

四.已知线性方程组

clear 2x1x23x32x409xx14x2x112343x12x25x34x414x15x27x310x42,求系数矩阵的秩和方程组的通解。

a=[2-1 3 2;9-1 14 2;3 2 5-4;4 5 7-10];b=[0 1 1 2]';[R,s]=rref([a,b]);[m,n]=size(a);x0=zeros(n,1);r=length(s);x0(s,:)=R(1:r,end);

disp('非齐次线性方程组的特解为:')

x0

disp('对应的线性方程组的基础解系为:')x=null(a,'r')

非齐次线性方程组的特解为:

x0 =

0.1429 0.2857 0 0

对应的齐次线性方程组的基础解系:

x =

-1.5714 0-0.1429 2.0000 1.0000 0 0 1.0000 则方程组的通解为:

x1x2x412x2x322x3xxx0234五.求齐次方程组1的通解。

clear

a=[-1 1 0 1;0 2 1 0;2 3-1-1];b=[1 2 0]';

[R,s]=rref([a,b]);[m,n]=size(a);x0=zeros(n,1);r=length(s);

x0(s,:)=R(1:r,end);

disp('非齐次线性方程组的特解为:')x0

disp('对应的线性方程组的基础解系为:')x=null(a,'r')

非齐次线性方程组的特解为:

x0 =

-0.4286 0.5714 0.8571 0

对应的齐次线性方程组的基础解系:

x = 0.8571-0.1429 0.2857 1.0000

232A36112115,求正交矩阵P及对角形矩阵B,使P1APB。六.clear

a=[2 3-2;3 6 11;-2 11 5];[v,d]=eig(a)v =

-0.3684 0.9280 0.0562 0.6512 0.2144 0.7280-0.6635-0.3047 0.6833

d =

-6.9057 0 0 0 3.3500 0 0 0 16.5556

七.求下列向量的秩和最大无关组,并将其余向量用该最大无关组线性表出:

11,2,1,324,1,5,631,3,4,7a1=[1 2 1 3]';a2=[4-1-5-6]';a3=[1-3-4-7]';A=[a1,a2,a3];[R,S]=rref(A)r=length(S)R =

1.0000 0-1.2222 0 1.0000 0.5556 0 0 0 0 0 0

S =

r =

最大线性无关组为:a1

a2

a3=-1.2222a1+0.5556a2 八.判断方程组否有解,如果有,求其通解:

x1x23x3x413x1x23x34x44x5x9x8x02341

clear

a=[1 2-3-1;3-1-3 4;1 5-9-8];b=[1 4 0]';[R,s]=rref([a,b]);[m,n]=size(a);x0=zeros(n,1);r=length(s);x0(s,:)=R(1:r,end);

disp('非齐次线性方程组的特解为:')x0

disp('对应的线性方程组的基础解系为:')x=null(a,'r')

非齐次线性方程组的特解为:

x0 =

1.5000

0

0.1667

0

对应的线性方程组的基础解系为:

x =

-2.5000

0

-1.1667

1.0000

a112,a2021,求两向量的点积(数量积)和叉积(向九.已知向量1量积),以及它们之间的夹角的大小。

a1=[1 1 2]';a2=[0 2 1]';

TTy1=norm(a1);y2=norm(a2);y3=dot(a1,a2);y=y3/(y2*y3);c=acos(y)c*180/pi

c =

1.1071

ans =

63.4349

十.计算行列式:

1x1y1D1x1y21x1y31x1y41x2y11x2y21x2y31x2y41x3y11x3y21x3y31x3y41x4y11x4y21x4y31x4y4 的值。其中x1x2x3x42357,y1y2syms x1 x2 x3 x4 y1 y2 y3 y4

D=[1+x1*y1 1+x1*y2 1+x1*y3 1+x1*y4;1+x2*y1 1+x2*y2 1+x2*y3 1+x2*y4;1+x3*y1 1+x3*y2 1+x3*y3 1+x3*y4;1+x4*y1 1+x4*y2 1+x4*y3 1+x4*y4];

x1=2;x2=3;x3=5;x4=7;y1=4;y2=5;y3=6;y4=7;d=det(D);eval(d)

ans =

0 十一.y3y44567。

a1122,a20215,a32051,分析向量组1TTTTa43386的线性相关性,找出它们的最大无关组,并将其余向量表示成最大无关组的线性组合。

a1=[1 1 2 2]';a2=[0 2 1 5]';a3=[2 0 5-1]';a4=[3 3 8 6]';A=[a1,a2,a3,a4];[R,S]=rref(A)r=length(S)R =

0

0

0

0

0

0

0

0

0

0 S =

r =

最大线性无关组为:a1 a2 a3;

a4=a1+a2+a3 十二.求解五阶方程组

注:在系数矩阵中没有数据的地方,矩阵元素均为零。

a=[4 1 0 0 0;1 4 1 0 0;0 1 4 1 0;0 0 1 4 1;0 0 0 1 4];b=[2 1 1 1 2]';inv(a)*b 41x12141x12141x31141x41142 x5

ans =

0.4808

0.0769

0.2115

0.0769

0.4808

第四篇:MATLAB游戏编程实例(拼

MATLAB游戏编程实例(拼图)

这是一个简单的游戏,只要把数字按顺序排好就可以了。游戏方法是用鼠标点中数字,如果该数字相邻的格子为空,则自动移到到该空格。

本程序是由realghost编写,如果有问题可以与 slqinyi@163.com 联系。

附图如下:

function pintu1()A = gen()

G = [1 2 3;4 5 6;7 8 0];drawmap(A);

while 1

[xpos,ypos] = ginput(1);col = ceil(xpos);row = 3-ceil(ypos)+1;num = A(row,col);

if row>1&A(row-1,col)==0 A(row-1,col)= num;

A(row,col)= 0;

end

if row<3&A(row+1,col)==0 A(row+1,col)= num;A(row,col)= 0;

end

if col>1&A(row,col-1)==0 A(row,col-1)= num;A(row,col)= 0;

end

if col<3&A(row,col+1)==0 A(row,col+1)= num;A(row,col)= 0;

end

drawmap(A)

zt = abs(A-G);

if sum(zt(:))==0

msgbox('ÄãÒѾ-³É¹¦Æ´ºÃͼ£¡')break

end end

function drawmap(A)clf;hold on

line([0 3],[0 0],'linewidth',4);line([3 3],[0 3],'linewidth',4);line([0 3],[3 3],'linewidth',4);line([0 0],[0 3],'linewidth',4);

for i = 1:3

for j = 1:3

drawrect([j-1 3-i],[j 3-i],[j 3-i+1],[j-1 3-i+1],'y',A(i,j));

end end

axis equal axis off

function drawrect(x1,x2,x3,x4,color,num)x = [x1(1)x2(1)x3(1)x4(1)];y = [x1(2)x2(2)x3(2)x4(2)];fill(x,y,color)if num==0

text(0.5*(x1(1)+x2(1)),0.5*(x1(2)+x4(2)),' ','fontsize',24)else

text(0.5*(x1(1)+x2(1))-0.05,0.5*(x1(2)+x4(2)),num2str(num),'fontsize',24)end

function y = gen()y = inf*ones(1,9);for i = 1:9

while 1

a = randint(1,1,9);

if isempty(find(y==a))y(i)= a;break

end

end end

y = reshape(y,3,3);

当然可以啦,其实图像就是数字矩阵,图像的拼接就是矩阵的拼接,横着拼得行数相等,竖着拼得列数相等就行

例子

clc;clear;

a=imread('我的图片.jpg');[m n t]=size(a);

b=a(1:fix(m/2),:,:);%取图像的上半部分

c=a(fix(m/2)+1:end,:,:);%取图像的下半部分

figure(1);imshow(b);

figure(2);imshow(c);

%注意,上下拼接要求两幅图的列数要相同 %左右拼行数要相同

figure(3);d=[b;c];%把b,c拼起来,若左右拼接d=[b,c];imshow(d);

第五篇:Excel使用之编辑单元格内容

Excel

使用--编辑单元格内容

双击要键入数据的单元格,直接输入数据或对其中内容进行修改,完成后若要确认所做的改动,按Enter键即可;若取消所做的改动,按Esc键。另外,你还可以单击单元格,再单击工作表上边的编辑栏,你就可以在编辑栏中编辑单元格中的数据了。

    版权声明:此文自动收集于网络,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。

    本文地址:https://www.feisuxs.com/wenku/jingpin/1/2327365.html

相关内容

热门阅读

最新更新

随机推荐