从符号2变量方程生成数据集

时间:2014-11-03 22:13:31

标签: matlab math

给出符号等式abs(sin(x.^2 + 2 *x *y)) == sin(x - 2*y)我想创建点的数据集。例如,对于给定的等式,图形将如下所示:enter image description here

我喜欢做的是生成一组点:enter image description here

用于培训中立网络。 enter image description here

对于给定的方程组,它将更大,并且将覆盖所有区域,从两个轴的负十到正十。

有没有办法从符号方程生成数据集?

1 个答案:

答案 0 :(得分:1)

我认为Matlab不能象征性地做很多事情,但你可以很容易地找到大致解决方程的点:

[X,Y]=meshgrid(-10:.004:10); %// create points in [-10,10]x[-10,10]
F=abs(sin(X.^2+2*X.*Y))-sin(X-2*Y); %// calculate residuals
I=abs(F)<1e-2; %// discard points with residual larger than tolerance
x=X(I); %//filter points
y=Y(I);
plot(x,y,'.')

我确实必须调整容差和点数以获得好的结果,它确实使用了很多点,但它应该是一个好的开始。