我有一个任务来计算一些f(x)函数,其中x属于[-4,4]范围,h = 0.5。
起初我试着写x = rand *(4 - ( - 4))+( - 4))然后我猜我做错了我需要一个向量,所以我写了这个:A = - 4:0.5:4;我得到了一个带有[-4,4]范围和h = 0.5的向量但我不知道怎么写x∈A
有什么想法吗?
修改 对不起,如果我的问题困扰你。我不是母语人士,有时我觉得很难翻译我想要做的事情。
为了澄清,我得到了一个功能
x∈[-4,4]且h = 0.5
我这样做了:
A=-4:0.5:4;
//Here I want to write that x is from A range (x∈A) and I don't know how.
if x>2
disp (x^2+7);
elseif x>-3 && x<2
disp (3*sin(x)+e^x);
elseif x<=-3
disp ((x^2)/(3*cos(x)-2));
end;
答案 0 :(得分:1)
使用矢量化
h = 0.5;
x = linspace(-4, 4, h ); % equally spaced x
fx = ( x > 2 ).*( x.^2 + 7 ) + ...
( x <= 2 & x > -3 ) .* ( 3 *sin(x) + exp(x) ) + ...
( x <= -3 ) .* ( ( x.^2 ) ./ ( 3 * cos(x) -2 ) );
figure;
plot( x, fx ); title( 'f(x)' );