使用矩阵中的值作为等式中的乘数?

时间:2013-07-11 14:31:44

标签: matlab

几周前开始使用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;

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

最重要的是真正理解你在做什么来避免基本的语法错误。