如题所述
对a1=[1 1];a2=[1 1];来说 varargin=[1 1 1 1] length(varargin)=4 ,取a=1即1与任何数相乘不改变原值,这样理解对否?
追答应该是2吧因为这里获取的应该是输入参数的个数,而不是所有元素数。a初始为1是保证乘没乘没变化。
追问绘制分段函数y=1.1sign(x),|x|>1.1;y=x,|x|1.1,y=1.1*sign(x);elseif abs(x)<=1.1y=x;end;plot(x,y)为啥不对?请教。我是初学者,有哪些资料可借鉴?
追答首先你要知道,plot函数是怎么使用的,plot函数是将两个向量按照对应关系,分别作为横纵坐标绘制出来。说白了其实画的就是散点图,然后用折线连接起来,所以你要先获得这些点。
这样我写出代码,你看看看不看得懂。
n=1;
x=-2:0.02:2;
for n=1:length(x)
if abs(x(n))>1.1
y(n)=1.1*sign(x(n));
else
y(n)=x(n);
end
end
plot(x,y)
不明白可追问。
若只实现这个分段函数,function y=f(x) if abs(x)>1.1,y=1.1*sign(x);elseif abs(x)<=1.1,y=x;end对吗?还有x.与x用途区别?
追答function y=f(x) if abs(x)>1.1,y=1.1*sign(x);elseif abs(x)<=1.1,y=x;end这句话本身就有问题,(逗号)(在y=x之前)是不合理的。x.是用x这个向量中的每一个元素进行运算而不是将这个向量进行运算。例如cn=an/bn.那么c=a./b。(有点)。