查看单个帖子
旧 2012-06-03, 07:00   #2
zpz11111
版主
 
注册日期: 2008-07-03
年龄: 92
帖子: 245
声望力: 22
zpz11111 是一个将要出名的人
默认 回复: mathcad如何在for循环中使用solve block

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

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