﻿功能:创建展开的求积表达式

格式:
[y,x1,x2,x3,……] = SymCreateMul(f,x,n,m,p)
[y,x1,x2,x3,……] = SymCreateMul(f,x,n,m)
[y,x1,x2,x3,……] = SymCreateMul(f,x,n)

f:字符串存储的符号表达式
x:字符串存储的需要重复的变量名称
n:数值变量,表示重复变量的结束下标,其值不能小于0
m:数值变量,表示重复变量的起始下标,其值不能小于0,默认为0
p:函数表达式的指数,默认为1

y:返回的函数表达式
x1:返回的x当中第1个变量的多个下标变量
x2:返回的x当中第2个变量的多个下标变量
x3:返回的x当中第3个变量的多个下标变量
……

说明:在进行非线性方程组求解或者非线性拟合时,可能会遇到求积表达式的问题,因为程序内部不直接处理求积表达式,这时就需要自己编写VB.NET代码采用调用本程序进行求解,如果自己并不想编写VB.NET代码,那就直接输入一长串表达式即可.为了节省输入表达式的麻烦,特编写此函数一次性生成一个长表达式。

例子:

//已知有求积表达式 z = ∏{sin(x[i]*a+b*cos(y[i]))*4+x[i]}^2.5,其中 i = 0,1,2,3,4.请求其展开的表达式,依次执行如下3条命令
f = "sin(x*a+b*cos(y))*4+x";
z = "x,y";

[f0,x0,y0]=SymCreateMul(f,z,4,0,2.5)//回车后得到如下结果
f0 = "(((sin(x0*a+b*cos(y0))*4+x0)*(sin(x1*a+b*cos(y1))*4+x1)*(sin(x2*a+b*cos(y2))*4+x2)*(sin(x3*a+b*cos(y3))*4+x3)*(sin(x4*a+b*cos(y4))*4+x4)))^2.5)"
x0 = "x0,x1,x2,x3,x4"
y0 = "y0,y1,y2,y3,y4"