如何策划一个函数1 x1 sym价值

18视图(30天)
路易吉Stragapede
路易吉Stragapede 2020年5月12日
我想把T(ω):
T =实际(我* n * alfak * 1 (besselj (np + 1, alfak)) ^ 2 *(连词(A3) * B3-A3 *连词(B3)))
地点:
  • np是已知的
  • n是已知的
  • alfak是已知的
  • besselj (np + 1, alfak)是第一种秩序的贝塞尔函数np + 1
但A3和B3取决于ω和他们在工作区中显示为1 x1信谊。
我用这段代码:
fplot(@(ω)T)
网格
但这个消息出现在命令窗口:
警告:函数的行为意外在数组输入。以提高性能,妥善vectorize函数返回一个输出
相同的大小和形状作为输入参数。
>在matlab.graphics.function.FunctionLine > getFunction
matlab.graphics.function.FunctionLine / updateFunction
matlab.graphics.function.FunctionLine / set.Function_I
matlab.graphics.function.FunctionLine / set.Function
matlab.graphics.function.FunctionLine
fplot > singleFplot(第232行)
fplot > @ (f) singleFplot (cax {f},限制,extraOpts, args)(第191行)
fplot > vectorizeFplot(第191行)
fplot(第161行)
Untitled2(第103行)
警告:错误更新FunctionLine。
报道跟踪误差评价函数FunctionLine更新:无法将表达式转换为数组的两倍。
这是问题吗?我怎样才能解决这个问题呢?

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2020年5月12日
取代
fplot(@(ω)T)
fplot (T)
记住fplot将传递一个特定值的向量,它希望评估函数,但是不管什么大小的输入时,你总是返回标量值,这是一个涉及未定义的变量的符号表达式 ω
当你使用@(变量)表达式,表达式是一个象征性的表达涉及变量,然后用MATLAB 传入的参数替代变量的值。不过,你可以
fplot(@(ω)潜艇(T,ω,ω))
但你不妨而已
fplot (T)
1评论
路易吉Stragapede
路易吉Stragapede 2020年5月12日
我试着但没有。我有这个信息:
错误使用fplot > singleFplot(第227行)
输入必须是一个函数或一个变量的函数。
错误fplot > @ (f) singleFplot (cax {f},限制,extraOpts, args)(第191行)
hObj = cellfun (@ (f)
singleFplot (cax {f},限制,extraOpts, args), fn {1}, UniformOutput,假);
错误fplot > vectorizeFplot(第191行)
hObj = cellfun (@ (f)
singleFplot (cax {f},限制,extraOpts, args), fn {1}, UniformOutput,假);
错误fplot(第161行)
hObj = vectorizeFplot (cax fn,限制,extraOpts, args);
错误calcolo_grafico_coppia(第104行)
fplot (T)
你有其他的想法吗?

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!