我熟悉python,但这只是我使用matlab的第二天。
我明白那个
a = {1 2 3}
fprintf('%i %i %i', a{1:3})
产量
1 2 3
但是怎么会
a = {1 2 3}
fprintf('%i %i %i', a)
给出错误?
我真的很想
fprintf('%i %i %i', {1 2 3}{1:3})
屈服
1 2 3
换句话说,如果我有一个元胞数组,如何在不将元胞数组分配给变量的情况下使用 fprintf 打印每个元素?
任何建议表示赞赏。
编辑:详细说明:我设置了一个挑战来接收用户输入以获取实验名称、当前日期和结束日期(实验的),然后输出所有这些信息以及距离实验结束。我只想用一行代码来做到这一点。我的代码如下。
fprintf(strcat(...
'\nTest: %s',...
'\nCurrent Date: %s',...
'\nEnd Date: %s',...
'\nNumber of days until completion: %i\n'...
),input('\nTest name?\n','s'),...
feval(@(dates){dates{1},dates{2},diff(datenum(dates,'mm-dd-yyyy'))},...
{input('\nCurrent Date? (mm-dd-yyyy)\n','s')...
input('\nEnd Date? (mm-dd-yyyy)\n','s')}));
运行此代码时,我收到一个基本上归结为上述问题的错误,但我想坚持基本示例。这应该清楚为什么我不想只使用先前定义的变量 - 没有先前定义的变量。