我只是想知道为什么当我使用Notepad ++而不是内置的MATLAB编辑器打开它们时,来自MATLAB的m文件看起来如此不同.
似乎在MATLAB编辑器中每个字符具有相同的宽度.在Notepad ++中并非如此(即使我将语言更改为"M").
这是在Notepad ++(左)和MATLAB编辑器(右)中打开的文件的屏幕截图.

在MATLAB编辑器中,X列中的所有字符都正好在另一个之下.它们不在Notepad ++中.
我只是玩了一下标签首选项,没有任何成功.
有没有办法让Notepad ++中的列对齐方式与MATLAB编辑器相同...至少对于m文件?
matlab notepad++ alignment vertical-alignment text-alignment
有没有一种简单的方法可以通过搜索他的名字从结构中获取数据?
我在考虑这样的结构:
test = struct('A', ...
[struct('Name','Adam','Data',[1 2 3]) ...
struct('Name','Eva','Data',[11 12 13])]);
Run Code Online (Sandbox Code Playgroud)
现在我想通过搜索'Adam'或'Eva'来访问Data字段.
这样的事情:
getStructDataByName(test,'Adam')
Run Code Online (Sandbox Code Playgroud)
有人知道一个脚本或有没有想法这样做而不需要太多努力?
编辑:
这是我目前的解决方案:
function getDataByName(struct,fieldname)
names = getAllDataNames(struct);
thisIdx = strcmp(names,fieldname);
% or
% thisIdx = ismember(names,fieldname);
struct.A(thisIdx).Data
end
function names = getAllDataNames(struct)
for idx = 1:length(struct.A)
names(idx,:) = {struct.A(idx).Name};
end
end
Run Code Online (Sandbox Code Playgroud)
我应该使用strcmp()还是ismember()?