试图在带有case的结构体中查找值

2次查看(最近30天)
亚历克斯·戴维森
亚历克斯·戴维森 2020年5月14日
评论道: 埃米尔哈姆萨 2020年5月15日
你好,
我正在提取一个1x9 Struct(名为FMtest)的值,有5个字段(名为alpha, gamma, Fy, Fz, Mz)。我需要找到alpha为0的每个度量值,然后将其匹配以找到进一步的值(在我的代码中,Cfa和Fy0
idx =找到([fmt(1:9)。α]= = 0);
pfy = polyfit (fmt (1:9) .alpha (idx), fmt (1:9) .Fy (idx), 1);
Cfa = pfy (1)
Fy0 = pfy (2)
idx返回为[53,156,259,361,463,565,667,769,871],我假设它对应于alpha为0的数组索引。
然而,当我试图在结构上适应这种情况时,我遇到了以下错误
错误:
预期花括号或点索引表达式的一个输出,但共有9个结果。
错误在RVD_Assignment4(第26行)
pfy = polyfit (fmt (1:9) .alpha (idx), fmt (1:9) .Fy (idx), 1);
谢谢你!
亚历克斯

接受的答案

埃米尔哈姆萨
埃米尔哈姆萨 2020年5月14日
根据MATLAB格式,这种索引格式是不正确的。你应该这样做
x1 = (fmt (1:9) .alpha];
x2 = (fmt (1:9) .Fy];
if (x1 == 0);
Pfy = polyfit(x1(idx), x2(idx)), 1);

更多的答案(0)

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!