matlab 二元函数非线性方程的牛顿一维迭代求解

 时间:2024-10-15 02:51:46

1、下面拿出一个我正在做的例子,看下图。水蒸气热力计算的公式的迭代(够复杂吧但是方法很简单)图一是公式 (知道温度和压力求其他参数,这里只求比容v)图二是它的指数系数。

matlab 二元函数非线性方程的牛顿一维迭代求解
matlab 二元函数非线性方程的牛顿一维迭代求解

2、首先是已知函数v=vpt(p,t),如下图 假设只知道v,t 写出 它的迭代函数p=pvt(v,t);下图所有的赋值都要与p,t有关,才能进行下一步的diff求导.

matlab 二元函数非线性方程的牛顿一维迭代求解

3、再来是要用diff函数把这个复杂的函数的偏导数求出来;要用diff 只需要把 上一个函数里的公式复制出来,再在前面加上syms p t;就可以对上图的v=rpi*pi*(c*1000.0d0)*t/(p*1.0d6); % !比容;进行求导了,求导之后就是牛顿迭代了,剩下的具体的代码如下。

matlab 二元函数非线性方程的牛顿一维迭代求解
matlab 二元函数非线性方程的牛顿一维迭代求解

4、到此就可以验证看看得到的 迭代函数对不对了,如下图先输入vpt(p,t)的值为 vpt(3,300)得到v的值为0.001002151679687 再把v代入下个函数,反求 p ;在输入pvt(v,t)的值为 pvt(0.001002151679687,300)得到2.999999999316294到这就完成啦, 很简单对不对。

matlab 二元函数非线性方程的牛顿一维迭代求解
  • MATLAB中reshape的用法
  • lnx在matlab中怎么输入
  • matlab如何创建多维数组
  • matlab创建m文件
  • matlab如何对向量或矩阵求和
  • 热门搜索
    普通话手抄报简单字少 畅想2035年手抄报内容 劳动手抄报简单一等奖 党的生日手抄报 保护野生动物手抄报 说好普通话手抄报 初中数学手抄报 环保手抄报内容资料 爱家乡手抄报 有关春节的手抄报