0

我的任务是计算一些 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;
4

1 回答 1

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)' );
于 2013-05-16T06:09:33.987 回答