MATLAB|利用符号计算的公式求解函数值

1. 问题描述

研究工作中,往往需要利用MATLAB的符号计算功能辅助推导公式。完成公式推导之后,往往需要利用推导出的公式做数值计算。

2. 技术背景

一个典型的MATLAB符号计算示例如下:

syms x
y = sin(2*x);                             % 原函数
y1 = diff(y,x,1);                         % 一阶导数
y1

运行结构如下:

y1 =
 
2*cos(2*x)

欲求解导数y1,在x1 = [1 2 3 4 5]处的数值。

此处,虽然求出了导数,但无法直接用于数值计算。因为所有变量均为符号变量,不同于数值变量。

3. 解决方案

  • 将数值(向量、矩阵)代入符号函数
    采用subs变量替换函数:
x1 = [1 2 3 4 5]
temp = subs(y1,x,x1)

得到:

temp =
 
[ 2*cos(2), 2*cos(4), 2*cos(6), 2*cos(8), 2*cos(10)]
  • 将temp的符号变量转换为double数值
temp2 = double(temp)

得到数值:

temp2 =

   -0.8323   -1.3073    1.9203   -0.2910   -1.6781

4. 实施示例

5. 常见问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容