【教程】使用MATLAB进行公式推导、解方程组

1. 公式推导

以求函数的导函数为例。

1. 已知表达式

已知 x = t 2 x=t^2 x=t2 y = x 2 y=x^2 y=x2,求 y y y t t t的导数:

>> clear
>> syms x t;
>> x=t^2;
>> y=x^2;
>> dy=diff(y,t);
>> latex(dy)

ans =

    '4\,t^3'

>>

将公式代码复制到 Markdown 格式如下:

4   t 3 4\,t^3 4t3

2. 未知表达式

已知 x = f ( t ) x=f(t) x=f(t) y = x 2 y=x^2 y=x2,求 y y y t t t的导数:

>> clear
>> syms x t;
>> x = str2sym('x(t)');
>> y=x^2;
>> df=diff(y,t);
>> latex(df)

ans =

    '2\,x\left(t\right)\,\frac{\partial }{\partial t} x\left(t\right)'

>>

将公式代码复制到 Markdown 格式如下:

2   x ( t )   ∂ ∂ t x ( t ) 2\,x\left(t\right)\,\frac{\partial }{\partial t} x\left(t\right) 2x(t)tx(t)

2. 解方程组

1. 已知系数

求解以下方程组:

{ x + y + z = 7 2 x + y + 3 z = 16 3 x + 2 y + z = 11 \left \{ \begin{array}{rcl} x+y+z=7\\ 2x+y+3z=16\\ 3x+2y+z=11 \end{array} \right. x+y+z=72x+y+3z=163x+2y+z=11

>> clear
>> A=[1,1,1;2,1,3;3,2,1];
>> B=[7;16;11];
>> x=A\B;
>> x

x =

    1.0000
    2.0000
    4.0000

>>

依次得到结果: x = 1 , y = 2 , z = 4 x=1,y=2,z=4 x=1,y=2,z=4

由于得到的解 x x x是个列向量,可以单独得到其中的元素:

>> x(3,1)

ans =

     4

>>

2. 未知系数

求解以下方程组,解用 a , b , c a,b,c a,b,c表示:

{ x + y + c z = 7 a x + y + 3 z = 16 3 x + b y + z = 11 \left \{ \begin{array}{rcl} x+y+cz=7\\ ax+y+3z=16\\ 3x+by+z=11 \end{array} \right. x+y+cz=7ax+y+3z=163x+by+z=11

>> clear
>> syms a b c;
>> A=[1,1,c;a,1,3;3,b,1];
>> B=[7;16;11];
>> x=A\B;
>> x

x =

 (21*b + 11*c - 16*b*c - 24)/(a + 3*b + 3*c - a*b*c - 10)
  (7*a + 48*c - 11*a*c - 46)/(a + 3*b + 3*c - a*b*c - 10)
  (11*a + 16*b - 7*a*b - 38)/(a + 3*b + 3*c - a*b*c - 10)

>>

单独得到 y y y的值并转化为公式:

>> latex(x(2,1))

ans =

    '\frac{7\,a+48\,c-11\,a\,c-46}{a+3\,b+3\,c-a\,b\,c-10}'

>>

将公式代码复制到 Markdown 格式如下:

7   a + 48   c − 11   a   c − 46 a + 3   b + 3   c − a   b   c − 10 \frac{7\,a+48\,c-11\,a\,c-46}{a+3\,b+3\,c-a\,b\,c-10} a+3b+3cabc107a+48c11ac46

3. 系数中含虚数 i​

求解以下方程组,解用 a , b , c , d a,b,c,d a,b,c,d表示:
{ a x − b i y = c b i x − d y = 0 \left \{ \begin{array}{rcl} ax-biy=c\\ bix-dy=0 \end{array} \right. {axbiy=cbixdy=0

>> clear
>> syms a b c d;
>> A=[a,-b*i;b*i,-d];
>> B=[c;0];
>> x=A\B;
>> x

x =

        (c*d)/(b^2 + a*d)
 -(b*c)/(b^2*1i + a*d*1i)

>>

单独得到 y y y的值并转化为公式:

>> latex(x(2,1))

ans =

    '-\frac{b\,c}{b^2\,1{}\mathrm{i}+a\,d\,1{}\mathrm{i}}'

>>

将公式代码复制到 Markdown 格式如下:

− b   c b 2   1 i + a   d   1 i -\frac{b\,c}{b^2\,1{}\mathrm{i}+a\,d\,1{}\mathrm{i}} b21i+ad1ibc

可以将 1 i 1i 1i中的 1 1 1去除:

− b   c b 2   i + a   d   i -\frac{b\,c}{b^2\,{}\mathrm{i}+a\,d\,{}\mathrm{i}} b2i+adibc


📘📘欢迎在我的博客上访问:
https://lzxjack.top/

  • 13
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

火星飞鸟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值