逻辑语句函数处理

30视图(30天)
杰弗里的河流
杰弗里的河流 2023年6月7日在十三50
我试图执行一个逻辑声明一个函数处理,这样我就能评价函数在一系列的坐标,然后做出决定。
我有以下几点:
p - - > N x 2双数组。包含双坐标(x, y)
Fi - - > griddedInterpolant函数。秋季p的坐标范围内和域的网格插值来获得这个(所以他们兼容)。
Fi2 - - >第二griddedInterpolant函数,来自第二组数据或多或少在Fi一样。
重要的一点: 值,可以评估在Fi和Fi2部分相互排斥。如果Fi是负的,Fi2必须是积极的,另一种方式。然而,它既可以是正面的(有差距)。
我已经使用这个函数处理:
fd = @ (p) Fi (p);
fd2 = @ (p) Fi2 (p);
这些工作很好以后,给好合理的价值评估时p p或者赋。
这是棘手的。我想让一个新的函数处理(“跳频”),以评估这些函数的p,然后让每个individial p的阶梯式基于某些结果条目。从本质上讲,我想要一个函数处理,一个If语句的工作。所以,我试图完成这个通过2函数处理评价,然后把它们当作逻辑语句,所以我乘以1或0。
我已经尝试(简化),是这样的:
fha = @ (p)(函数宏指令(fd, p));
fhb = @ (p)(函数宏指令(fd2 p));
跳频= @ (p)马克斯((fha < (0)) *, (fhb) < B (0) * ((fha) > (0) * (fhb) > (0)) * ((A + B) / 2));
这应该是相当于:
如果fha < 0,那么一个;elseif fhb < 0,那么B;其他A和B的平均水平
换句话说,如果一个点在p坐标在一个地区fd是负的,这一点会有助理值答:如果是在一个位置fd2是负的,这将是B,但如果它属于两种评价积极的地区,a和B的值是平均分配的。
我也试过这种嵌套函数宏指令语句到跳频电话,和做它作为一个单独的处理。既不工作。有一个聪明的方法,记住,我需要该句柄传递给另一个函数,然后做大量的数组操作的东西吗?
5个评论
杰弗里的河流
杰弗里的河流 约4小时前
编辑:杰弗里的河流 约4小时前
好的,我很乐意尝试这样做。然而,函数(fh)需要使用以下方式,作为德劳内三角剖分的算法:
百巴=函数宏指令(fh (p(酒吧(:1):)+ p(酒吧(:,2),:))/ 2);
那里的酒吧是一个数组节点对基于三角形网格生成的列表从p,点列表。要领:我需要评估每个p基于fh栏的内容。坦白说,我不清楚如何替换这个电话,或如何编写函数来捕获或返回值传递的变量。
这是所有工作正常,如果跳频是一个简单的方程是基于p,或者是恒定的。只是这案例的评价,我不太明白如何设置调用或如何管理数据结构。
会是这样吗?
主要功能:
百巴= fhassess ((p(酒吧(:1):)+ p(酒吧(:,2),:))/ 2,fd, fd2, scaledMat1delta, scaledMat2delta));
然后在fhassess:
函数[hassign] = fhassess (fd, pbars fd2, scaledMat1delta, scaledMat2delta)
持有人= 0(大小(pbars));
metricA =函数宏指令(fd, pbars);
metricB =函数宏指令(fd2 pbars);
ixA = metricA < 0;
ixB = metricB < 0;
ixC = metricA > = 0 & & metricB > = 0;
持有人(ixA) = scaledMat1delta;
持有人(ixB) = scaledMat2delta;
持有人(ixC) = (scaledMat1delta + scaledMat1delta) / 2;
hassign =持有人;
结束
对不起这里的基本问题,我通常一个实验物理学家,我代码也许每年一次。

登录置评。

答案(0)

类别

找到更多的在图形对象编程帮助中心文件交换

下载188bet金宝搏


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!