MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MathCAD论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=36)
-   -   [问题] mathcad如何在for循环中使用solve block (https://www.labfans.com/bbs/showthread.php?t=15419)

小小白bz 2012-05-29 11:09

mathcad如何在for循环中使用solve block
 
mathcad如何在for循环中使用solve block
mathcad2000中的solve block在
单独使用的时候,可以算出解来,将它插入循环语句,它就
不工作了,为什么?有什么办法可以计算700个方程形式相同
、参数不同的方程?

zpz11111 2012-06-03 07:00

回复: mathcad如何在for循环中使用solve block
 
[QUOTE=小小白bz;53218]mathcad如何在for循环中使用solve block
mathcad2000中的solve block在
单独使用的时候,可以算出解来,将它插入循环语句,它就
不工作了,为什么?有什么办法可以计算700个方程形式相同
、参数不同的方程?[/QUOTE]
答“小小白bz”

1、由于mathcad的求解块中,只能用逻辑等号(按ctrl+=)赋值,而约束条件只能用布尔表达式给出。偏偏程序编制中,赋值又不准使用逻辑等号(或用于符号运算的等号)以及用于定义的等号(即按 : 号所产生的等号“:=”)。程序中只有表示循环条件、判别条件时允许使用布尔表达式。
于是求解块与编程似乎成了天生的互斥的一对,因此,用mathcad14~15编制的程序内部,不能编入求解块。低版本更是这样。
2、在 mathcad15中,使用拟牛顿法和共轭梯度法时,求解命令块可求解多达 400 个变量的系统。列文伯格-马夸尔特法求解器不受限制,可求解任意大小的方程组。线性方程组最多可拥有 8192 个约束,而非线性方程组则最多可拥有 200 个约束。求解复数变量时,Mathcad 会在算法中将实数部分和虚数部分视作单独的变量,从而提高了问题的变量和约束的总数。 更低的版本,当然更少了。


所有时间均为北京时间。现在的时间是 19:19

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.