0

几周前开始使用 MatLab,我不太了解正确的语法/术语。

我试图3x1稍后将矩阵中的值用作等式中的乘数。

这是绘制一个圆,其半径和中心点由用户输入的值定义。

我有一个弹出窗口,值由用户输入并存储在此3x1 cell(标记answer)中。

如何answer(2)在以下等式中使用该矩阵的第二个值:

x = 'answer(2)' * cos(theta) + xCentre;

出现此错误消息:

Error using  .* 
Matrix dimensions must agree.

Error in Disks (line 40)
x = 'answer(2)'.* cos(theta) + xCentre;
4

2 回答 2

0

MATLAB中,撇号 ( '') 定义一个字符串。如果您的矩阵的名称是,您可以通过@Schorsch 提到answer的命令引用它的第二个值。answer(2)有关向量和矩阵的更多信息,您可以查看此站点

于 2013-07-11T14:53:54.630 回答
0

除了前面的答案所说的之外,在你做之前了解你到底在做什么很重要。只有在定义字符串时才添加 (''),这通常发生在处理变量时。在你的情况下,你只是有一个矩阵,它不是一个字符串,而是一组数字。您可以简单地执行上述 answer(2) ,因为 answer(2) 调用矩阵中的第二个值,而 'answer(2)' 让您尝试定义一些不存在的变量。

最重要的是真正了解您在做什么以避免基本的语法错误。

于 2013-07-11T18:07:29.193 回答