声明某个值属于matlab中的某个范围

时间:2013-05-15 23:41:17

标签: matlab vector range declaration

我有一个任务来计算一些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;

1 个答案:

答案 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)' );