我试图产生的.bmp MATLAB中的图形和我有麻烦总结功能结合在一起。我正在设计我的函数,使得给定一组任意的输入,我的函数将一起添加任意数量的函数并输出一个函数句柄。输入是我的通用函数的系数,所以我可以指定任意数量的函数(只因系数不同而不同),然后将它们一起添加到函数句柄中。我试图做的是将每个函数创建为一个字符串,然后将它们连接起来,然后将它们作为函数句柄进行编写。主要的问题是,因为x和y没有定义(因为我试图创建一个函数句柄),MATLAB不能定期添加它们。我目前的尝试:添加的功能的任意数量成函数手柄MATLAB
function HGHG = anyHGadd(multi) %my array of inputs
m=length(multi);
for k=3:3:m;
m1=multi(k-2); %these three are the coefficients that I'd like to specify
n1=multi(k-1);
w1=multi(k);
HGarrm1=hermite(m1); %these generate arrays
HGarrn1=hermite(n1);
arrm1=[length(HGarrm1)-1:-1:0];%these generate arrays with the same length
arrn1=[length(HGarrn1)-1:-1:0];%the function below is the general form of my equation
t{k/3}=num2str(((sum(((sqrt(2)*x/w1).^arrm1).*HGarrm1))*(sum(((sqrt(2)*y/w1).^arrn1).*HGarrn1))*exp(-(x^2+y^2)/(w1^2))));
end
a=cell2mat(t(1:length(t)));
str2func(x,y)(a);
任何帮助将不胜感激。在这方面我没有看到太多,我甚至不确定这是完全可能的。如果我的问题不清楚,请说出来,然后我再试一次。
编辑:来自最后一行的第四行不应该产生一个数字,因为x和y没有定义。它们不可能是因为我需要将它们作为我的函数句柄的一部分来保存。至于我的代码一个精简版,希望这得到跨越点:
function HGHG = anyHGadd(multi) %my array of inputs
m=length(multi);
for k=3:3:m;
m1=multi(k-2); %these three are the coefficients that I'd like to specify
n1=multi(k-1);
w1=multi(k);
t{k/3}=num2str(genericfunction(x,y,n1,m1,n1,w1); %where x and y are unspecified
end
a=cell2mat(t(1:length(t)));
str2func(x,y)(a);
编辑我期待这对输出功能单一手柄是我的函数任意数量的总和。但是,我不确定使用字符串是否是最好的方法。
你能发布您的代码的精简版?另外据我所见,第四行最后一行't {k/3} = ...'产生一个数字......这怎么可能是一个等式的一般形式? – jmetz 2012-07-24 19:17:48
您希望从多个手柄获得什么样的输出? – Jonas 2012-07-24 19:59:49
您是否尝试过[符号变量](http://www.mathworks.com/help/toolbox/symbolic/syms.html)? – Squazic 2012-07-24 20:03:16