求多个参数的矩阵方程A*B=C

一.方程法(求任意参数)

因为使用sin,cos函数会有一些问题,所以直接使用sind,cosd函数(可以自己去试试)

sin函数(弧度制单位),sind函数(以度数为单位)

function [  ] = shiyan( )


clear
clc

syms  m1 m2 b a1 a2 N1 N2 ;


m1=input('m1=');
m2=input('m2=');
b=input('xita=');

g=9.8;


A=[m1*cosd(b) -m1 -sind(b) 0;m1*sind(b) 0 cosd(b) 0;0 m2 -sind(b) 0;0 0 -cosd(b) 1];
B=[a1;a2;N1;N2];
C=[0;m1*g;0;m2*g];


f=A*B;


q=f(1)-C(1);
w=f(2)-C(2);
e=f(3)-C(3);
r=f(4)-C(4);


[a1 a2 N1 N2]=solve(q,w,e,r,'a1,a2, N1,N2');


[a1]
[a2]
[N1]
[N2]


end

二.    矩阵乘除法(求一个矩阵参数)

function [  ] = shiyan( )
clear
clc
% a解微分方程{■(y^″=cos?5x-y@y^' (0)=0,y(0)=1)┤
syms  a1 a2 N1 N2 ;
m1=input('m1=');
m2=input('m2=');
x = input('x=');
g=9.8;
A=[m1*cosd(x) ,-m1, -sind(x), 0];
B=[m1*sind(x), 0 ,cosd(x), 0];
C=[ 0 ,m2 ,-sind(x), 0];
D=[ 0 ,0 ,-cosd(x) ,1];
H=[A ;B ;C ;D];

I=[0;m1*g;0;m2*g];

J= H\I   %  H*J=I  J=inv(H)*I 或者J= H\I
% J=inv(H)*I;
a1=J(1);
a2=J(2);
N1=J(3);
N2=J(4);
[a1]
[a2]
[N1]
[N2]

end

对于标量运算

a/b          a乘以b的倒数
b\a          b的倒数乘以a

对于矩阵运算

A/B      >>    inv(A)*B
B\A      >>    inv(B)*A
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是香菜吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值