2015-10-16 9 views
0

Вот код, который я используюShading Площадь в Matlab

x = 0.001:0.05:4*pi; 
f = cos(x)+10*sin(x)./x; 
hold on 
plot(x,f,'r') 
axis([0,4*pi,-3,3]) 
grid on 

bid = x(abs(f)>1); 
ha = area([0 bid], [10 10]); 
hold off 

Этот код выглядит в зазорах зонных допускается. Я хочу найти значения, когда абсолютное значение f (x)> 1 и затем затеняет эти регионы, потому что это недопустимые состояния. Итак, я нашел значения x для где Как мне это сделать?

+0

Я получаю сообщение об ошибке выполняется код: 'Error используя область (строка 35) X должна быть такой же длины, как Y.' - MATLAB R2015a – rayryeng

ответ

0

Выполняет ли это эту работу?

x = 0.001:0.05:4*pi; 
f = cos(x)+10*sin(x)./x; 
figure(); 
hold on 
plot(x,f,'r') 
axis([0,4*pi,-3,3]) 
grid on 

idx = abs(f) > 1; 
ys = zeros(size(x)); 
ys(idx)=f(idx); 
ha = area(x, ys); 
+0

хорошо работает спасибо –

Смежные вопросы