matlab如何同时分别计算多个数据
functionf=fun2(x)ifx>1f=x^2+1elseifx<=0f=x^3elsef=2*xendend在每次输出时只能例如fun2(2)运算一个数,想要让...
function f=fun2(x)
if x>1
f=x^2+1
else if x<=0
f=x^3
else
f=2*x
end
end
在每次输出时只能例如fun2(2)运算一个数,想要让if else语句能同时输出多个结果,我尝试令A=[2 3 4]然后输出fun2(A),发现??? Error using ==> mpower
Matrix must be square.
Error in ==> fun2 at 3
f=x^2+1
怎么能正确输出来多个结果 展开
if x>1
f=x^2+1
else if x<=0
f=x^3
else
f=2*x
end
end
在每次输出时只能例如fun2(2)运算一个数,想要让if else语句能同时输出多个结果,我尝试令A=[2 3 4]然后输出fun2(A),发现??? Error using ==> mpower
Matrix must be square.
Error in ==> fun2 at 3
f=x^2+1
怎么能正确输出来多个结果 展开
2个回答
展开全部
for i=1:length(A)
b(i)=fun2(A(i));
end
以上面方式调用fun2或者把你的fun2函数加上for循环使其能使用向量输入。
function f=fun2(x)
for ii=1:length(x)
if x(ii)>1
f(ii)=x(ii)^2+1;
else if x(ii)<=0
f(ii)=x(ii)^3;
else
f(ii)=2*x(ii);
end
end
end
b(i)=fun2(A(i));
end
以上面方式调用fun2或者把你的fun2函数加上for循环使其能使用向量输入。
function f=fun2(x)
for ii=1:length(x)
if x(ii)>1
f(ii)=x(ii)^2+1;
else if x(ii)<=0
f(ii)=x(ii)^3;
else
f(ii)=2*x(ii);
end
end
end
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运用点乘:
function f=fun2(x)
if x>1
f=x.^2+1;
else if x<=0
f=x.^3;
else
f=2*x;
end
end
end
输出:
>> fun2([1 2 3])
ans =
2 4 6
function f=fun2(x)
if x>1
f=x.^2+1;
else if x<=0
f=x.^3;
else
f=2*x;
end
end
end
输出:
>> fun2([1 2 3])
ans =
2 4 6
追问
谢谢,我还是弄不太懂里面为什么用点乘就可以运算多个数呢?
追答
这是我回答过的一个问题,你可以借鉴下:
http://zhidao.baidu.com/question/227505046.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询