^ 2出错,表示矩阵应为方形

时间:2013-04-05 07:19:57

标签: matlab plot

我想绘制以下内容

y=linspace(0,D,100)

temp=y^2;

plot(y,temp);

我收到y^2的错误,它表示矩阵应为方形。

是否有另一种绘图方式。

2 个答案:

答案 0 :(得分:8)

由于情节,你没有得到那个错误。你是因为

而得到它的
temp=y^2

相反,你应该使用

temp=y.^2

^表示矩阵能力。 .^是元素的力量。您可以找到有关MATLAB运算符here的更多信息。

假设你有一个3x3矩阵,魔法(3)。

A=magic(3)
A = 
     8     1     6
     3     5     7
     4     9     2

这是矩阵A的平方(如Dan建议的那样是A * A):

A^2
ans =

    91    67    67
    67    91    67
    67    67    91

这是包含A元素的正方形的矩阵:

A.^2
ans =
    64     1    36
     9    25    49
    16    81     4

答案 1 :(得分:0)

作为上述答案的替代方案,您可以考虑以下情况:

A = magic(3);

temp = bsxfun(@times,A,A);

检索与

相同的结果
temp = A.^2;

.运算符将按元素方式应用。 bsxfun完全相同。

我希望这会有所帮助。