2015-09-10 58 views
0

我有一个函数列表:错误情节MATLAB

[ x - 3^(1/2)/2, x - 4967757600021511/81129638414606681695789005144064, x + 3^(1/2)/2, x - 4160783518353059/4503599627370496, x - 1723452963400281/4503599627370496, x + 3446905926800561/9007199254740992, x + 4160783518353059/4503599627370496, x - 8566355544790271/9007199254740992, x - 2647149443198255/4503599627370496, x - 4967757600021511/81129638414606681695789005144064, x + 5294298886396509/9007199254740992, x + 8566355544790271/9007199254740992, x - 8700286382685973/9007199254740992, x - 2^(1/2)/2, x - 291404338770025/1125899906842624, x + 2331234710160199/9007199254740992, x + 2^(1/2)/2, x + 2175071595671493/2251799813685248, x - 8781369964030313/9007199254740992, x - 7042111946219083/9007199254740992, x - 3908077291623905/9007199254740992, x - 4967757600021511/81129638414606681695789005144064, x + 122127415363247/281474976710656, x + 880263993277385/1125899906842624, x + 4390684982015157/4503599627370496] 

,我想用这个命令绘制功能“的情节(funciones_che(1))”,但是当我把情节抛出我下面错误:

Error using plot. A numeric or double convertible argument is expected 

我也曾尝试X = -10:10和图(X,funciones_che(1)),但我得到同样的错误

回答

1

你没有的功能的载体。变量funciones_che只是一个长串联的数字序列。如果你运行size(funciones_che),你应该得到1 x m*n其中mlength(x)n是你有的“功能”的数量。拥有真正的功能向量实际上会不必要地使你的生活复杂化。

如果您在该行的某处有符号表达式,则可能有点难以清除:http://www.mathworks.com/help/symbolic/clear-assumptions-and-reset-the-symbolic-engine.html。我的建议是重置整个符号引擎的所有假设以保证安全:reset(symengine)

MATLAB在绘图基质如你有一个很好的,但是尺寸必须是正确的:

  1. 独立的用分号(;)而不是逗号(,)图:

    funciones_che=[ x - 3^(1/2)/2; x - 4967757600021511/81129638414606681695789005144064; x + 3^(1/2)/2; .....] 
    

    现在size(funciones_che)将是n x m

  2. 移调矩阵(使plot正确地解释它):

    funciones_che = funciones_che'; 
    

    现在size(funciones_che)m x n

情节一样,你想:plot(funciones_che(:, 1))为第一载体,或plot(funciones_che)把所有的人都在同一个情节。如果您对第二个版本不感兴趣,则不必转置矩阵。如果不转置矩阵,则改为使用plot(funciones_che(1, :))进行绘图。

最后一点:您需要初始化x,例如在尝试时初始化为-10:10

+0

感谢您的回答,但给我同样的错误。错误使用情节。预计会有数字或双转换参数 – Jac

+0

如何定义'x'? –

+0

我将它定义为:x = -10:10; – Jac