我有一个包含5个字段的1x1 Matlab结构(' a',' b',' c',' d',& #39; E&#39)。每个字段都包含某种数据(这对我的问题并不重要)我希望从结构中提取每个值并将其分配给名为字段的变量。是否有代码可以做到这一点?
答案 0 :(得分:4)
假设s
是您的结构
cellfun(@(x) assignin('base', x, s.(x)), fieldnames(s));
但是,我没有看到gnovice已经提到过的一个很好的用例。
答案 1 :(得分:3)
虽然将数据整齐地存储在结构中时,将数据传播到一堆变量通常不是 最佳实践,但是将结构字段移动到不会变形的变量的简单方法; t要求硬编码您的字段/变量名称将使用save
和load
命令,如下所示:
WebElement link= driver.findElement(By.xpath("xpath of link"));
((JavascriptExecutor)driver).executeScript("window.scrollTo(0,"+link.getLocation().x+")");
link.click();
亲:这非常简单,适用于任何结构。 Con:它涉及将数据移入和移出文件。
答案 2 :(得分:1)
如果您知道要创建的变量是什么,那么您可以编写(假设s
是您的结构):
C = struct2cell(s);
[a,b,c,d,e] = C{:};
否则,您需要在程序运行时创建未声明的新变量(使用@Vahe-Tshitoyan answer中的assignin
命令),这是一个坏主意。