作业帮 > 综合 > 作业

matlab 怎么解数组参量的非线性方程组.

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/19 19:12:36
matlab 怎么解数组参量的非线性方程组.
现在我已经有两个function,是f(p,T),g(p,T),内部是一个比较复杂的非线性方程.p、T都是一维数组,输出也是一个维数相同的一维数组.也就是相当于一次处理了很多对(p,T).现在我已经知道了r0 = f(p,T),s0 = g(p,T),怎样能够求出p,T的值?要求是按照数组运算的方式一次解出,得到数组,不能用for循环之类的语句.
你这个又不是反函数关系,要想直接简单的得到所想的结果,我没想到直接的方法,如果是我的话,我会这么做:
方法一:分析f(p,t)和g(p,t)里的程序算法,看看所描述的数学关系是否能够反推输入输出间的数学表达式,如果可以,就自己再写个求解程序,完事.如果不可以,用方法2;
方法二:用for在定义域或值域内求解所有结果,然后写个写程序读取对应结果.ok.
当然,如果有确切的函数关系的话,方法一比方法二好.
再问: 函数是我编的,明显没有反推的式子。for循环效率极低,想要对一个100*100的矩阵运算几乎没有可能。
再答: 如果你找不到更好的方法,笨办法还是要用的。不是每个人学matlab都可以想程序员一样总想什么都用最省事的代码来算,一般作为工具使用,稍微多花点计算时间不是没有条件。 言尽于此,学习愉快。