【发布时间】:2015-09-28 19:00:20
【问题描述】:
这是一个用于评估某个值 f(x) 的函数,该值显示向量 y 中的各种近似值,以便进行比较。输入是一个函数 f(符号或 function_handled),一个值向量 n,以及两个值 x0 和 x em>。
g=sym(f);
p(1)=subs(g,x0);
k=1;
for i=1:size(n) %Every iteration is an entry of y
while k<=n(i) %Recursive evaluation of the values
g=diff(g);
p(k+1)=subs(g,x0)/factorial(k-1);
k=k+1;
end
y(i)=double(subs(p,x));
end
我想在每个条目中将 f(x) 近似为多项式 a+bx+cx^2+...,while 循环计算 a、b、c...,但 y 原来是一个值,而不是一个向量。此外,如果我尝试这样做
[y1 y2]=(function)
显示输出参数过多错误。你能告诉我为什么 MATLAB 不将 y 理解为向量吗?
【问题讨论】:
-
是什么让您认为
(function)在任何方面都是有效的matlab 语法?请告诉我你的函数不叫function。如果在你的函数头文件funname.m中有function [y1,y2]=funname(inputs),那么你将你的函数称为[yout1, yout2]=funname(inputs); -
我可能倾向于认为 size(n) 是 1
-
Andras:实际函数称为 vctay(泰勒多项式的值比较),所以我当然将其称为 [y1,y2]=vctay(inputs)。 Agawa001:我明确地放置了一个示例向量 n=[0 2],并首先创建了向量。我还使用了包含 7 个条目的向量。
-
@KonhatLeeSakurai size(n) 为 1,因为它默认为 size(n,1),使用 size(n,2) 或 numel(n)跨度>
-
谢谢你,@Agawa001 我刚刚尝试了你的建议,它奏效了!
标签: matlab function vector output