一个简单的练习题,可是我老出现错误,因此请教大家:
对于分段函数我是这样编写代码的:
clc;clear
syms a k z
if k>=0
f=a^k
else
f=0
end 运行了之后就出现这样的错误提示:
??? Function 'gt' is not defined for values of class 'sym'.
Error in ==> gt at 18
[varargout{1:nargout}] = builtin('gt', varargin{:});
我该怎么办呢?
哥哥哎,我怎么看着这么复杂……谢谢你哦!我追问一下是想请教您,遇到分段函数非得这么搞么。。。能不能就是单独把分段函数表示出来
还有一点小弟不明,就是上面的求和符号,是0到无穷大,它表示的意思仅仅是正无穷大么?
其实没那么复杂。
分段函数的表示得看什么情况。像这个题目应该就这么来(可能知识浅薄),我尝试单独把它拿出来表示,都是一直报错无法做到分段函数的级数累加。其实大多数情况下是可能单独把分段函数表示出来,只是这个题目有点特殊。
对,表示的是正无穷大。负无穷大用-inf表示。
能否给我举一个小例子,就是那种大多数情况下把分段函数表示出来的。。。。
追答可以的。
我们就拿你的分段函数举例,不妨就取a=2吧。这个时候你就可以建立这样的m函数文件
function y=myfun(k)
a=2;
[m,n]=size(k);%k有可能是矩阵,如果是y也相应输出矩阵
y=[];
for i=1:m
for j=1:n
if k(i,j)<0
y(i,j)=0;
else
y(i,j)=a^k(i,j);
end
end
end
这个函数就默认k为数值型
而我们之前的求级数函数symsum选择的f(k)里面k是符号类型,所以不能直接来表示,不知道有没有说清楚。