怎么用MATLAB求解这个二次矩阵方程

作者&投稿:壤岚 (若有异议请与网页底部的电邮联系)
用matlab解矩阵方程~

1、加减法的命令很简单,直接用加或者减号就可以了。如:c=a+bd=a-b。

2、一般乘法:c=a*b,要求a的列数等于b的行数。如果a,b是一般的向量,如a=[1,2,3] b=[3,4,5]点积:dot(a,b), 叉积:cross(a,b)卷积:conv(a,b)。

3、x=a\b如果ax=b,则 x=a\b是矩阵方程的解。x=b/a如果xa=b, 则x=b/a是矩阵方程的解。

4、转置时,矩阵的第一行变成第一列,第二行变成第二列,。。。x=a。

5、求逆:要求矩阵为方阵。这在矩阵运算中很常用。x=inv(a)。这几种方式都可以解矩阵方程。

matlab也不能解这么复杂的方程
手动加上matlab辅助应该应该比较好解决问题

首先,简单起见,先不用角度制,直接中弧度制
设c1=(pi*sita1)/180,c2=(pi*sita2)/180;

A1=[ cos(c1), -sin(c1), 0, cos(c1);
sin(c1), cos(c1), 0, sin(c1);
0, 0, 1, 0;
0, 0, 0, 1];
A2=[ cos(c2), -sin(c2), 0, cos(c2);
sin(c2), cos(c2), 0, sin(c2);
0, 0, 1, 0;
0, 0, 0, 1];
simplify(A1*A2)

[ cos(c1 + c2), -sin(c1 + c2), 0, cos(c1 + c2) + cos(c1)]
[ sin(c1 + c2), cos(c1 + c2), 0, sin(c1 + c2) + sin(c1)]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]

和OHT对比
OTH =[-0.2924 -0.9563 0 0.6978;
0.9563 -0.2924 0 0.8172 ;
0 0 1 0
0 0 0 1]
得到
cos(c1+c2)=-0.2924
sin(c1+c2)=0.9563
cos(c1 + c2) + cos(c1)= 0.6978
sin(c1 + c2) + sin(c1)= 0.8172

cos(c1)=0.9902
sin(c1)=0.1391

解得
c1~=8度
c1+c2~=107度

所以 c2=99度

clear
a0=[2 3;6 4];
a1=[-10 1;-20 3];
a2=[1 3;5 2];
syms p1 p2 p3 p4 p;
p=[p1 p2;p3 p4]
%二次矩阵方程是:p^2*a2+p*a1+a0=0;
eq=p^2*a2+p*a1+a0;
[p1,p2,p3,p4]=solve(eq(1,1),eq(1,2),eq(2,1),eq(2,2),p1,p2,p3,p4);
p1=double(p1);p2=double(p2);p3=double(p3);p4=double(p4);
t=1;
[m,n]=size(p1);
pp=zeros(2,2,m);
for i=1:m
if (imag(p1(i))==0)&(imag(p2(i))==0)&(imag(p3(i))==0)&(imag(p4(i))==0)
P1=p1(i,1);P2=p2(i,1);P3=p3(i,1);P4=p4(i,1);
pp(:,:,t)=[P1,P2;P3,P4];
t=t+1;
end
end
pp=subs(pp);
P=pp(:,:,1:t-1)

p =

[ p1, p2]
[ p3, p4]

P(:,:,1) =

11.1677 -5.6672
21.7147 -10.9798

P(:,:,2) =

-3.5248 4.0911
-5.8176 6.2600
带回去验算:误差10^-13
P(:,:,1)^2*a2+P(:,:,1)*a1+a0

ans =

1.0e-013 *

0.1421 -0.0711
0.5684 -0.1776

>> P(:,:,2)^2*a2+P(:,:,2)*a1+a0

ans =

1.0e-013 *

0.0711 0.1243
0.2842 0.0178

求逆


在matlab中如何求积分,用什么函数?
首先要将 m,x,a,b 这四个变量定义为符号变量 syms m x a b;Fx = a*x^2;int(Fx,x,m,n)3、通过上面这个方法,就能够求得任意一个函数在给定区间的积分,如果想看到书写的格式,可以用pretty命令,这样显示更接近平常的表示方法。1、在matlab中,积分运算有多种方式,为了便于查看不同方式...

如何用matlab计算1-10阶乘?
matlab求1-10的阶乘的函数源码如下:function p = factorial()p=1;for a=1:10%设置要求的阶乘 for i=1:a%循环遍历从1到a p=p*i;%遍历相乘 end;\/\/函数结束 p%输出结果 p=1;%p还原其初始值 end end matlab特点:1、高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来...

请问用matlab怎样求曲线斜率或切线啊?
用matlab求曲线的斜率或切线的方法,就是按照微积分的方法求解是一样的,则不过是matlab语言去描述。例如,求曲线y=x²在点(1,1)的切线方程。第一步:对方程y=x²求一次导数 >>syms x %声明变量 >>y=x^2; %函数表达式 >>dy=diff(y,1) %一次导数 y'=2*x 第二步...

如何用matlab求一元三次方程组
如何用matlab怎么求一元三次方程组?方法一:矩阵短除法,即 A=[2,-3,1;1,0,3;1,-1,1]; %方程组系数 B=[8;6;7]; %常数项值 x=A\\B %方程的解 方法二:逆矩阵法,即 A=[2,-3,1;1,0,3;1,-1,1]; %方程组系数 B=[8;6;7]; %常数项值 x=inv(A)*B %方程的解,...

用matlab怎么解差分方程?
F(t,yt,Δyt,Δy^2t,···,Δy^nt)=0 差分方程的通解是指含有相互独立的任意常数,且任意常数的个数等于方程的价数的解;差分方程的特解是指不含有任意常数的解;为了说明如何用matlab解差分方程问题,特举例:例1:试用matlab求解差分方程,y(t+2)-5y(t+1)+6y(t)=0,其中y(0)=...

如何使用matlab,求AX=B?
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值...

在matlab中 怎么计算平均值
1、第一步打开matlab,在命令行窗口中输入a=[12 24 35;26 78 56],创建一个2行3列的矩阵,如下图所示:2、第二步在命令行窗口中输入mean(a(:)),求a矩阵所有元素的平均值,如下图所示:3、第三步按回车键之后,可以看到a矩阵所有元素的平均值是 38.5000,如下图所示:4、第四步如果想求...

怎么用matlab求导数?
可以取对数后求导,将y看作x的函数如下:导数(Derivative)是微积分中的重要基础概念。当自变量的增量趋于零时,因变量的增量与自变量的增量之商的极限。一个函数存在导数时,称这个函数可导或者可微分。可导的函数一定连续。不连续的函数一定不可导。导数实质上就是一个求极限的过程,导数的四则运算法则...

matlab如何求方差
matlab的方差求算在matlab程序上输入下列例子:Matlab 函数:var >>X=[1,2,3,4]>>var(X)=1.6667 >> sum((X(1,:)-mean(X)).^2)\/length(X)=1.2500 >> sum((X(1,:)-mean(X)).^2)\/(length(X)-1)=1.6667 var没有求矩阵的方差功能,可使用std先求均方差,再平方得到方差。st...

Matlab怎么计算定积分
Matlab计算定积分的具体步骤如下:1、以f(x)=e^2x+sin(x+π\/3) ,积分下限:a=0,积分上限:b=π\/4 为例。首先,建立被积函数M文件;点击New,选择Function;2、在编辑器中输入指令:function f=f(x);f=exp(2*x).*sin(x+pi\/3);(注意,用 .* )3、保存函数文件到自己的工作...

石首市17095293167: 怎么用MATLAB求解这个二次矩阵方程 -
罗功那素: ^clear a0=[2 3;6 4]; a1=[-10 1;-20 3]; a2=[1 3;5 2]; syms p1 p2 p3 p4 p; p=[p1 p2;p3 p4] %二次矩阵方程是:p^2*a2+p*a1+a0=0; eq=p^2*a2+p*a1+a0; [p1,p2,p3,p4]=solve(eq(1,1),eq(1,2),eq(2,1),eq(2,2),p1,p2,p3,p4); p1=double(p1);p2=double(p2);...

石首市17095293167: 如何用MATLAB实现这个简单的矩阵计算 -
罗功那素: 在MATLAB窗口直接输入: b=[1 2 3;2 3 4;3 5 6] a=b(1,:); for i=1:3 b(i,:)=b(i,:)-a; end sum(b)

石首市17095293167: 如何用matlab解出此二元二次方程组?程序怎么写 -
罗功那素: 1、首先看一下matlab求解方程的方法,指明所解方程的变量,然后指明方程,未知数和限制条件,最后求解方程. 2、来求解sin(x)=1方程,在matlab命令行窗口中输入symsx [x,params,conds]=solve (sin(x)==1,'ReturnConditions', true) ,按回...

石首市17095293167: MATLAB的矩阵运算 求解!!! -
罗功那素: a) A(1,1)=1; A(1,2)=2; A(1,3)=3; A(1,4)=4; A(1,5)=5; A(1,6)=6; A(1,7)=7; A(1,8)=8; A(1,9)=9;b) A1=A(:,1); %第一列 A2=A(:,2); %第二列 B1=A(3,:); %第三行 c) C=ones(1,3); %生成一行三列的向量,每个元素为1 D=zeros(4,1); %生成四行一列的向量,每个元素为0 E=rand(1,5); %生成一行五列的向量,每个元素的值为随机数(界于0,1之间)

石首市17095293167: matlab怎样求解一元二次方程 -
罗功那素: 一、工具:Matlab2012b 二、操作步骤: A.解一元方程【1】先举一例,解方程"x^2+100*x+99=0"在matlab ”Command Window"中输入如下命令:x=solve('x^2+100*x+99=0','x')见下图【2】回车后,matlab就求出了这个一元二次方程...

石首市17095293167: 用MATLAB求解矩阵 -
罗功那素: 先将xP=0两边取转置,得P'x'=0,求出x'再转置回来求出x.当矩阵方程P'x'=0,rank(P)=r而求基本解系用matlab 中的命令 x=null(P', r )即可.其中:r=rank(P).求采纳为满意回答.

石首市17095293167: matlab解方程一元二次方程,y是个矩阵,应该怎么求因变量x的矩阵y=1 - 0.2x - 0.8x^2.y=0:0.1:max %max是通过其他公式求出可变的应该怎么通过matlab 接触... -
罗功那素:[答案] 一元二次方程求出来有两个解,分别放在xx的第一行和第二行: x = solve('1-0.2*x-0.8*x^2-y','x') y = 0:0.1:5; xx = eval(x);

石首市17095293167: 如何用matlab来解这样的矩阵?A =[1,2,3;4,5,6;3,2,1],B=[x1;4;2],C=[4;x2;x3].它们的关系是:A x B=C求 x1,x2,x3是多少? -
罗功那素:[答案] >> syms x1 x2 x3 >> A =[1,2,3;4,5,6;3,2,1];B=[x1;4;2];C=[4;x2;x3];[x1,x2,x3]=solve(A*B-C,'x1','x2','x3') x1 = -10 x2 = -8 x3 = -20

石首市17095293167: 怎么用matlab运算矩阵 -
罗功那素: a,b为两个矩阵,直接运算a+b,a-ba+b,a-b,a*b,a/b即可

石首市17095293167: 如何用MATLAB求矩阵:已知矩阵a,和矩阵b,a=b*c,求矩阵c -
罗功那素: 首先对矩阵b求逆,有个函数可以实现,好像是inv吧,得到矩阵inv_b,然后左乘a,即c=inv_b*a

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网